Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::view::TextRun Struct Reference

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

Detailed Description

One piece of painted text, resolved to screen space.

Member Data Documentation

◆ box

Rect pulp::view::TextRun::box {}

the layout box the ink is meant to live in

◆ clip

Rect pulp::view::TextRun::clip {}

effective clip at paint time, absolute

◆ from_canvas

bool pulp::view::TextRun::from_canvas = false

◆ ink

Rect pulp::view::TextRun::ink {}

painted glyph extents, absolute, alignment applied

◆ kind

std::string pulp::view::TextRun::kind

View type name, or "canvas:fill_text".

◆ node_id

std::string pulp::view::TextRun::node_id

◆ paint_order

int pulp::view::TextRun::paint_order = 0

◆ scroll_frame

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.

◆ text

std::string pulp::view::TextRun::text

◆ visible_ink

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.


The documentation for this struct was generated from the following file: