Container that can override preferred size of its child. More...

#include <Prefsize.hpp>

Public Member Functions

 Prefsize (Instance *)
 
Prefsizeenabled (bool)
 
Prefsizeprefsize (float3)
 
PrefsizeprefsizeX (std::optional< float >)
 
PrefsizeprefsizeY (std::optional< float >)
 
PrefsizeprefsizeZ (std::optional< float >)
 
PrefsizeprefsizeScale (float3)
 Multiplies prefsize by this value before assigning it. More...
 
Instanceinstance () const
 
- Public Member Functions inherited from iv::OneChildElem< SlotChild >
 OneChildElem (Instance *inst)
 
 ~OneChildElem ()
 
T * createChild (CArgs const &... cargs)
 
T * createChild_Instance (char const *name, CArgs const &... cargs)
 
void setChild (SlotChild *)
 
void removeChild ()
 
- Public Member Functions inherited from iv::Elem
 Elem (Instance *inst)
 
 ~Elem ()
 
void status (iv::TableDebugView *view)
 
Instanceinstance () const
 
void elem_setParent (Elem *)
 
Elemelem_getParent ()
 
virtual Cameraelem_getRoot ()
 
void first_pass (ElementRenderer *)
 
void second_pass (ElementRenderer *)
 
unsigned first_pass_frame_id ()
 
unsigned second_pass_frame_id ()
 
Elemenabled (bool val)
 
void quiet (bool)
 
bool quiet () const
 
float3 FromLocalSpaceToScreenSpace (float3 local_space)
 
float3 FromScreenSpaceToLocalSpace (float3 screen_space)
 
float2 FromScreenPlaneToLocalPlane (float2 screen_space)
 
void Add_InputNode (InputNode *node)
 
void Remove_InputNode (InputNode *node)
 
- Public Member Functions inherited from iv::InputNode
 InputNode (Instance *inst)
 
 ~InputNode ()
 
Instanceinstance () const
 
void status (iv::TableDebugView *view)
 
void inputEnabled (bool)
 
bool inputEnabled ()
 
void quiet (bool)
 
bool quiet () const
 
void input_deactivate ()
 
void input_treeRefresh ()
 
void input_setParent (InputNode *)
 
InputNodeinput_getParent ()
 
virtual InputRootinput_getRoot ()
 
bool input_trigger_visit (InputRoot *root, Input::DeviceKey key)
 
bool input_visit (InputRoot *root, Input::DeviceKey key, bool &press, bool &real, bool &offspace)
 
- Public Member Functions inherited from iv::SlotChild
 SlotChild (Elem *elem)
 
Instanceinstance () const
 
void status (iv::TableDebugView *view)
 
virtual bool picking_test (int2 input_pos) override
 
virtual bool picking_test_pixel_perfect (float2 local_pos)
 
- Public Member Functions inherited from iv::Pickable
 Pickable (Elem *elem)
 
Elemelem ()
 
const Elemelem () const
 

Public Attributes

ClientMarker cm
 
DirtyAttr< std::optional< float > > attr_prefsizeX
 
DirtyAttr< std::optional< float > > attr_prefsizeY
 
DirtyAttr< std::optional< float > > attr_prefsizeZ
 
DirtyAttr< float3attr_prefsizeScale
 
- Public Attributes inherited from iv::OneChildElem< SlotChild >
ClientMarker cm
 
- Public Attributes inherited from iv::Elem
ClientMarker cm
 
DirtyAttr< bool > attr_enabled
 
DirtyAttr< float4x4modelTransform
 
DirtyAttr< ShaderScissorscissor
 
- Public Attributes inherited from iv::InputNode
ClientMarker cm
 
- Public Attributes inherited from iv::SlotChild
ClientMarker cm
 
DirtyAttr< float3expectedSize
 
DirtyAttr< float3preferredSize
 
DirtyAttr< float3size
 
- Public Attributes inherited from iv::Pickable
ClientMarker cm
 

Protected Member Functions

virtual void first_pass_impl (ElementRenderer *) override
 
virtual void second_pass_impl (ElementRenderer *) override
 
- Protected Member Functions inherited from iv::OneChildElem< SlotChild >
virtual void elem_eachChild (std::function< void(Elem *) > const &) override
 
virtual void elem_childDisconnect (Elem *) override
 
virtual void input_eachChild (std::function< void(InputNode *) > const &f) override
 
virtual void input_childDisconnect (InputNode *child) override
 
- Protected Member Functions inherited from iv::InputNode
virtual bool input_trigger_process (InputRoot *root, Input::DeviceKey key)
 
virtual void input_process (InputRoot *root, Input::DeviceKey key, bool &press, bool &real, bool &offspace)
 

Additional Inherited Members

- Protected Attributes inherited from iv::OneChildElem< SlotChild >
DirtyAttr< SlotChild * > child
 

Detailed Description

Container that can override preferred size of its child.

If a dimension has empty (std::nullopt) prefsize value, then that Prefsize will not override that axis.

Definition at line 16 of file Prefsize.hpp.

Constructor & Destructor Documentation

◆ Prefsize()

iv::Prefsize::Prefsize ( Instance inst)

Definition at line 6 of file Prefsize.cpp.

Member Function Documentation

◆ enabled()

Prefsize * iv::Prefsize::enabled ( bool  val)

Definition at line 95 of file Prefsize.cpp.

◆ prefsize()

Prefsize * iv::Prefsize::prefsize ( float3  val)

Definition at line 107 of file Prefsize.cpp.

◆ prefsizeX()

Prefsize * iv::Prefsize::prefsizeX ( std::optional< float >  val)

Definition at line 115 of file Prefsize.cpp.

◆ prefsizeY()

Prefsize * iv::Prefsize::prefsizeY ( std::optional< float >  val)

Definition at line 121 of file Prefsize.cpp.

◆ prefsizeZ()

Prefsize * iv::Prefsize::prefsizeZ ( std::optional< float >  val)

Definition at line 127 of file Prefsize.cpp.

◆ prefsizeScale()

Prefsize * iv::Prefsize::prefsizeScale ( float3  val)

Multiplies prefsize by this value before assigning it.

Definition at line 101 of file Prefsize.cpp.

◆ first_pass_impl()

void iv::Prefsize::first_pass_impl ( ElementRenderer er)
overrideprotectedvirtual

Implements iv::Elem.

Definition at line 18 of file Prefsize.cpp.

◆ second_pass_impl()

void iv::Prefsize::second_pass_impl ( ElementRenderer er)
overrideprotectedvirtual

Reimplemented from iv::Elem.

Definition at line 74 of file Prefsize.cpp.

◆ instance()

Instance * iv::Elem::instance

Definition at line 57 of file Elem.cpp.

Member Data Documentation

◆ cm

ClientMarker iv::Prefsize::cm

Definition at line 19 of file Prefsize.hpp.

◆ attr_prefsizeX

DirtyAttr< std::optional< float > > iv::Prefsize::attr_prefsizeX

Definition at line 24 of file Prefsize.hpp.

◆ attr_prefsizeY

DirtyAttr< std::optional< float > > iv::Prefsize::attr_prefsizeY

Definition at line 25 of file Prefsize.hpp.

◆ attr_prefsizeZ

DirtyAttr< std::optional< float > > iv::Prefsize::attr_prefsizeZ

Definition at line 26 of file Prefsize.hpp.

◆ attr_prefsizeScale

DirtyAttr< float3 > iv::Prefsize::attr_prefsizeScale

Definition at line 28 of file Prefsize.hpp.


The documentation for this class was generated from the following files: