One piece of painted text, resolved to screen space. More...
#include <appearance_defects.hpp>
Public Attributes | |
| std::string | node_id |
| std::string | kind |
| View type name, or "canvas:fill_text". | |
| std::string | text |
| Rect | ink {} |
| painted glyph extents, absolute, alignment applied | |
| Rect | visible_ink {} |
| The part of ink that survives the clip — the pixels a viewer can actually see. | |
| Rect | box {} |
| the layout box the ink is meant to live in | |
| Rect | clip {} |
| effective clip at paint time, absolute | |
| int | paint_order = 0 |
| const View * | scroll_frame = nullptr |
| Nearest scrolling ancestor. | |
| bool | from_canvas = false |
One piece of painted text, resolved to screen space.
| Rect pulp::view::TextRun::box {} |
the layout box the ink is meant to live in
| Rect pulp::view::TextRun::clip {} |
effective clip at paint time, absolute
| bool pulp::view::TextRun::from_canvas = false |
| Rect pulp::view::TextRun::ink {} |
painted glyph extents, absolute, alignment applied
| std::string pulp::view::TextRun::kind |
View type name, or "canvas:fill_text".
| std::string pulp::view::TextRun::node_id |
| int pulp::view::TextRun::paint_order = 0 |
| const View* pulp::view::TextRun::scroll_frame = nullptr |
Nearest scrolling ancestor.
Two runs are only geometrically comparable once both are resolved into the same space; this records which frame a run came from so a scrolled row cannot be compared against a fixed one by accident.
| std::string pulp::view::TextRun::text |
| Rect pulp::view::TextRun::visible_ink {} |
The part of ink that survives the clip — the pixels a viewer can actually see.
Two runs collide only where both are visible, so this is what the overlap detectors compare. ink stays unclipped because the width detector asks a different question: did the glyphs outgrow their own box, which is true whether or not an ancestor also cut them off.