Toggle navigation
ivorium
iv_components
Example project
GitHub
Main Page
Modules
Classes
Files
File List
File Members
ivorium_graphics
Elements
Prefsize.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
Elem.hpp
"
4
#include "
Slot.hpp
"
5
#include "
OneChildElem.hpp
"
6
7
namespace
iv
8
{
9
16
class
Prefsize
:
public
OneChildElem
< SlotChild >,
public
SlotChild
17
{
18
public
:
19
ClientMarker
cm
;
20
using
Elem::instance
;
21
Prefsize
(
Instance
* );
22
23
// initialization parameters
24
DirtyAttr< std::optional< float >
>
attr_prefsizeX
;
25
DirtyAttr< std::optional< float >
>
attr_prefsizeY
;
26
DirtyAttr< std::optional< float >
>
attr_prefsizeZ
;
27
28
DirtyAttr< float3 >
attr_prefsizeScale
;
29
30
// utility methods
31
// Elem
32
Prefsize
*
enabled
(
bool
);
33
34
// Prefsize
35
Prefsize
*
prefsize
(
float3
);
36
Prefsize
*
prefsizeX
( std::optional< float > );
37
Prefsize
*
prefsizeY
( std::optional< float > );
38
Prefsize
*
prefsizeZ
( std::optional< float > );
39
Prefsize
*
prefsizeScale
(
float3
);
40
41
protected
:
42
// Elem
43
virtual
void
first_pass_impl
(
ElementRenderer
* )
override
;
44
virtual
void
second_pass_impl
(
ElementRenderer
* )
override
;
45
};
46
47
}