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

Public Member Functions inherited from 