Container and layout manager for TextSegment objects. More...
#include <TextLayout.hpp>
Public Attributes | |
ClientMarker | cm |
DirtyAttr< float > | attr_lineSpacing |
Space between lines in pixels. Baselines are ( ascender + descender + spacing ) pixels apart. More... | |
Public Attributes inherited from iv::VectorChildrenElem< TextSegment > | |
ClientMarker | cm |
Public Attributes inherited from iv::Elem | |
ClientMarker | cm |
DirtyAttr< bool > | attr_enabled |
DirtyAttr< float4x4 > | modelTransform |
DirtyAttr< ShaderScissor > | scissor |
Public Attributes inherited from iv::InputNode | |
ClientMarker | cm |
Public Attributes inherited from iv::SlotChild | |
ClientMarker | cm |
DirtyAttr< float3 > | expectedSize |
DirtyAttr< float3 > | preferredSize |
DirtyAttr< float3 > | size |
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::VectorChildrenElem< TextSegment > | |
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::VectorChildrenElem< TextSegment > | |
std::vector< TextSegment * > | children |
bool | children_dirty |
Detailed Description
Container and layout manager for TextSegment objects.
Note: This whole layouting algorithm does not work well when there are multiple font sizes on one line, but that is bad typography anyway, so it should not be a problem.
Definition at line 52 of file TextLayout.hpp.
Constructor & Destructor Documentation
◆ TextLayout()
iv::TextLayout::TextLayout | ( | Instance * | inst | ) |
Definition at line 31 of file TextLayout.cpp.
Member Function Documentation
◆ line_spacing()
TextLayout * iv::TextLayout::line_spacing | ( | float | val | ) |
Definition at line 42 of file TextLayout.cpp.
◆ first_pass_impl()
|
overrideprotectedvirtual |
Implements iv::Elem.
Definition at line 48 of file TextLayout.cpp.
◆ second_pass_impl()
|
overrideprotectedvirtual |
Reimplemented from iv::Elem.
Definition at line 126 of file TextLayout.cpp.
◆ instance()
Member Data Documentation
◆ cm
ClientMarker iv::TextLayout::cm |
Definition at line 55 of file TextLayout.hpp.
◆ attr_lineSpacing
DirtyAttr< float > iv::TextLayout::attr_lineSpacing |
Space between lines in pixels. Baselines are ( ascender + descender + spacing ) pixels apart.
Definition at line 60 of file TextLayout.hpp.
The documentation for this class was generated from the following files:
- ivorium_graphics/Text/TextLayout.hpp
- ivorium_graphics/Text/TextLayout.cpp