/*
7 * Krzysztof KosiĆski <tweenk.pl@gmail.com>
9 * Copyright (C) 2011 Authors
10 * Released under GNU GPL v2+, read the file
'COPYING' for more information.
13#ifndef INKSCAPE_DISPLAY_DRAWING_TEXT_H
14#define INKSCAPE_DISPLAY_DRAWING_TEXT_H
32 int tag()
const override {
return tag_of<
decltype(*this)>; }
34 void setGlyph(std::shared_ptr<FontInstance> font,
unsigned int glyph,
Geom::Affine const &trans);
71 int tag()
const override {
return tag_of<
decltype(*this)>; }
73 bool addComponent(std::shared_ptr<FontInstance>
const &font,
int unsigned glyph,
74 Geom::Affine const &trans,
float width,
float ascent,
float descent,
float phase_length);
85 bool _canClip()
const override {
return true; }
constexpr int tag_of
Convenience function to retrieve the tag (class id) of a given type.
FontInstance provides metrics, OpenType data, and glyph curves/pixbufs for a font.
3x3 matrix representing an affine transformation.
Axis aligned, non-empty, generic rectangle.
Two-dimensional point that doubles as a vector.
Axis aligned, non-empty rectangle.
Minimal wrapper over Cairo.
Geom::IntRect bbox_draw_scaled
void setGlyph(std::shared_ptr< FontInstance > font, unsigned int glyph, Geom::Affine const &trans)
Geom::IntRect bbox_pick_scaled
void setStyle(SPStyle const *style, SPStyle const *context_style=nullptr) override
Process information related to the new style.
unsigned _updateItem(Geom::IntRect const &area, UpdateContext const &ctx, unsigned flags, unsigned reset) override
int tag() const override
Unlink this node and its subtree from the rendering tree and destroy.
std::shared_ptr< void const > _font_data
Inkscape::Pixbuf const * pixbuf
~DrawingGlyphs() override=default
Geom::PathVector const * pathvec
DrawingItem * _pickItem(Geom::Point const &p, double delta, unsigned flags) override
Geom::IntRect getPickBox() const
SVG drawing item for display.
Drawing & drawing() const
int tag() const override
Unlink this node and its subtree from the rendering tree and destroy.
void decorateItem(DrawingContext &dc, double phase_length, bool under) const
void setStyle(SPStyle const *style, SPStyle const *context_style=nullptr) override
Process information related to the new style.
void setChildrenStyle(SPStyle const *context_style) override
Recursively update children style.
unsigned _renderItem(DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area, unsigned flags, DrawingItem const *stop_at) const override
bool _canClip() const override
unsigned _updateItem(Geom::IntRect const &area, UpdateContext const &ctx, unsigned flags, unsigned reset) override
SPWindRule style_clip_rule
void decorateStyle(DrawingContext &dc, double vextent, double xphase, Geom::Point const &p1, Geom::Point const &p2, double thickness) const
~DrawingText() override=default
void _clipItem(DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area) const override
bool style_stroke_extensions_hairline
bool style_vector_effect_stroke
bool addComponent(std::shared_ptr< FontInstance > const &font, int unsigned glyph, Geom::Affine const &trans, float width, float ascent, float descent, float phase_length)
DrawingItem * _pickItem(Geom::Point const &p, double delta, unsigned flags) override
Class to hold image data for raster images.
Group belonging to an SVG drawing element.
Helper class to stream background task notifications as a series of messages.
Style information for rendering.