24 if (
x == x_ &&
y == y_)
return;
28 float x()
const {
return x_; }
29 float y()
const {
return y_; }
32 if (text_ ==
text)
return;
33 text_ = std::move(
text);
36 const std::string&
text()
const {
return text_; }
38 void set_font(std::string family,
float size) {
39 if (font_family_ == family && font_size_ == size)
return;
40 font_family_ = std::move(family);
44 const std::string&
font_family()
const {
return font_family_; }
52 if (measured_width_ == w)
return;
60 if (fill_color_ == c)
return;
67 if (stroke_enabled_ == v)
return;
73 if (stroke_color_ == c)
return;
85 std::string font_family_ =
"system";
86 float font_size_ = 12.0f;
87 float measured_width_ = 0.0f;
90 bool stroke_enabled_ =
false;
Definition canvas.hpp:240
void mark_dirty()
Mark this node and (recursively) every ancestor dirty.
SceneNode(SceneNodeKind kind)
Definition scene_node.hpp:108
void set_stroke_enabled(bool v)
Definition scene_text.hpp:66
float font_size() const
Definition scene_text.hpp:45
SceneText()
Definition scene_text.hpp:21
void set_measured_width(float w)
Approximate text width used by local_bounds().
Definition scene_text.hpp:51
float y() const
Definition scene_text.hpp:29
void set_stroke_color(Color c)
Definition scene_text.hpp:72
void set_fill_color(Color c)
Definition scene_text.hpp:59
void set_text(std::string text)
Definition scene_text.hpp:31
SceneRect local_bounds() const override
Local-coordinate bounding box (pre-transform, pre-opacity).
float measured_width() const
Definition scene_text.hpp:56
float x() const
Definition scene_text.hpp:28
Color stroke_color() const
Definition scene_text.hpp:71
void paint_geometry(Canvas &canvas) const override
Paint this node (and its sub-tree) into canvas.
void set_position(float x, float y)
Definition scene_text.hpp:23
void set_font(std::string family, float size)
Definition scene_text.hpp:38
bool stroke_enabled() const
Definition scene_text.hpp:65
const std::string & font_family() const
Definition scene_text.hpp:44
Color fill_color() const
Definition scene_text.hpp:58
const std::string & text() const
Definition scene_text.hpp:36
Definition affine_transform.hpp:24
SceneNodeKind
Kind discriminator — keeps dynamic_cast off the hot path.
Definition scene_node.hpp:91
static constexpr Color rgba(float r, float g, float b, float a=1.0f)
Construct from float channels [0,1] (>1.0 allowed for HDR).
Definition canvas.hpp:56
Axis-aligned bounding box used for repaint-rect math.
Definition scene_node.hpp:27