Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
Inkscape::DrawingGlyphs Class Reference

#include <drawing-text.h>

Inheritance diagram for Inkscape::DrawingGlyphs:
Inkscape::DrawingItem

Public Member Functions

 DrawingGlyphs (Drawing &drawing)
 
int tag () const override
 Unlink this node and its subtree from the rendering tree and destroy.
 
void setGlyph (std::shared_ptr< FontInstance > font, unsigned int glyph, Geom::Affine const &trans)
 
void setStyle (SPStyle const *style, SPStyle const *context_style=nullptr) override
 Process information related to the new style.
 
Geom::IntRect getPickBox () const
 
- Public Member Functions inherited from Inkscape::DrawingItem
 DrawingItem (Drawing &drawing)
 
 DrawingItem (DrawingItem const &)=delete
 
DrawingItemoperator= (DrawingItem const &)=delete
 
void unlink ()
 
Geom::OptIntRect const & bbox () const
 
Geom::OptIntRect const & drawbox () const
 
Geom::OptRect const & itemBounds () const
 
Geom::Affine const & ctm () const
 
Geom::Affine transform () const
 
Drawingdrawing () const
 
DrawingItemparent () const
 
bool isAncestorOf (DrawingItem const *item) const
 Returns true if item is among the descendants. Will return false if item == this.
 
int getUpdateComplexity () const
 
bool unisolatedBlend () const
 
void appendChild (DrawingItem *item)
 
void prependChild (DrawingItem *item)
 
void clearChildren ()
 
bool visible () const
 
void setVisible (bool visible)
 
bool sensitive () const
 
void setSensitive (bool sensitive)
 
virtual void setChildrenStyle (SPStyle const *context_style)
 Recursively update children style.
 
void setOpacity (float opacity)
 
void setAntialiasing (Antialiasing antialias)
 
void setIsolation (bool isolation)
 
void setBlendMode (SPBlendMode blend_mode)
 
void setTransform (Geom::Affine const &trans)
 
void setClip (DrawingItem *item)
 
void setMask (DrawingItem *item)
 
void setFillPattern (DrawingPattern *pattern)
 
void setStrokePattern (DrawingPattern *pattern)
 
void setZOrder (unsigned zorder)
 Move this item to the given place in the Z order of siblings. Does nothing if the item is not a normal child.
 
void setItemBounds (Geom::OptRect const &bounds)
 
void setFilterRenderer (std::unique_ptr< Filters::Filter > renderer)
 
void setKey (unsigned key)
 
unsigned key () const
 
void setItem (SPItem *item)
 
SPItemgetItem () const
 
void update (Geom::IntRect const &area=Geom::IntRect::infinite(), UpdateContext const &ctx=UpdateContext(), unsigned flags=STATE_ALL, unsigned reset=0)
 Update derived data before operations.
 
unsigned render (DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area, unsigned flags=0, DrawingItem const *stop_at=nullptr) const
 Rasterize items.
 
unsigned render (DrawingContext &dc, Geom::IntRect const &area, unsigned flags=0) const
 A stand alone render, ignoring all other objects in the document.
 
void clip (DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area) const
 Rasterize the clipping path.
 
DrawingItempick (Geom::Point const &p, double delta, unsigned flags=0)
 Get the item under the specified point.
 
Glib::ustring name () const
 
void recursivePrintTree (unsigned level=0) const
 

Protected Member Functions

 ~DrawingGlyphs () override=default
 
unsigned _updateItem (Geom::IntRect const &area, UpdateContext const &ctx, unsigned flags, unsigned reset) override
 
DrawingItem_pickItem (Geom::Point const &p, double delta, unsigned flags) override
 
- Protected Member Functions inherited from Inkscape::DrawingItem
virtual ~DrawingItem ()
 
void _renderOutline (DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area, unsigned flags) const
 
void _markForUpdate (unsigned state, bool propagate)
 Marks the item as needing a recomputation of internal data.
 
void _markForRendering ()
 Marks the current visual bounding box of the item for redrawing.
 
void _invalidateFilterBackground (Geom::IntRect const &area)
 
double _cacheScore ()
 Compute the caching score.
 
Geom::OptIntRect _cacheRect () const
 
void _setCached (bool cached, bool persistent=false)
 Enable / disable storing the rendering in memory.
 
virtual unsigned _renderItem (DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area, unsigned flags, DrawingItem const *stop_at) const
 
virtual void _clipItem (DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area) const
 
virtual bool _canClip () const
 
virtual void _dropPatternCache ()
 
template<typename F >
void defer (F &&f)
 

Protected Attributes

std::shared_ptr< void const > _font_data
 
unsigned int _glyph
 
float _width
 
float _asc
 
float _dsc
 
float _pl
 
double design_units
 
Geom::PathVector const * pathvec = nullptr
 
Inkscape::Pixbuf const * pixbuf = nullptr
 
Geom::Rect bbox_exact
 
Geom::Rect bbox_pick
 
Geom::Rect bbox_draw
 
Geom::IntRect bbox_pick_scaled
 
Geom::IntRect bbox_draw_scaled
 
char * font_descr
 
- Protected Attributes inherited from Inkscape::DrawingItem
Drawing_drawing
 
DrawingItem_parent
 
ListHook _child_hook
 
ChildrenList _children
 
unsigned _key
 Auxiliary key used by the object tree for showing clips/masks/patterns.
 
SPItem_item
 Used to associate DrawingItems with SPItems that created them.
 
SPStyle const * _style
 
SPStyle const * _context_style
 
float _opacity
 
std::unique_ptr< Geom::Affine_transform
 Incremental transform from parent to this item's coords.
 
Geom::Affine _ctm
 Total transform from item coords to display coords.
 
Geom::OptIntRect _bbox
 Bounding box in display (pixel) coords including stroke.
 
Geom::OptIntRect _drawbox
 Full visual bounding box - enlarged by filters, shrunk by clips and masks.
 
Geom::OptRect _item_bbox
 Geometric bounding box in item's user space.
 
DrawingItem_clip
 
DrawingItem_mask
 
DrawingPattern_fill_pattern
 
DrawingPattern_stroke_pattern
 
std::unique_ptr< Inkscape::Filters::Filter_filter
 
std::unique_ptr< CacheData > _cache
 
int _update_complexity = 0
 
bool _contains_unisolated_blend: 1
 
CacheList::iterator _cache_iterator
 
bool style_vector_effect_size: 1
 
bool style_vector_effect_rotate: 1
 
bool style_vector_effect_fixed: 1
 
unsigned _state: 8
 
unsigned _propagate_state: 8
 
ChildType _child_type: 3
 
unsigned _background_new: 1
 Whether enable-background: new is set for this element.
 
unsigned _background_accumulate: 1
 Whether this element accumulates background (has any ancestor with enable-background: new)
 
unsigned _visible: 1
 
unsigned _sensitive: 1
 Whether this item responds to events.
 
unsigned _cached_persistent: 1
 If set, will always be cached regardless of score.
 
unsigned _has_cache_iterator: 1
 If set, _cache_iterator is valid.
 
unsigned _pick_children: 1
 For groups: if true, children are returned from pick(), otherwise the group is returned.
 
Antialiasing _antialias: 2
 antialiasing level (default is Good)
 
bool _isolation: 1
 
SPBlendMode _blend_mode
 

Friends

class DrawingText
 

Additional Inherited Members

- Public Types inherited from Inkscape::DrawingItem
enum  RenderFlags {
  RENDER_DEFAULT = 0 , RENDER_CACHE_ONLY = 1 << 0 , RENDER_BYPASS_CACHE = 1 << 1 , RENDER_FILTER_BACKGROUND = 1 << 2 ,
  RENDER_OUTLINE = 1 << 3 , RENDER_NO_FILTERS = 1 << 4 , RENDER_VISIBLE_HAIRLINES = 1 << 5
}
 
enum  StateFlags {
  STATE_NONE = 0 , STATE_BBOX = 1 << 0 , STATE_CACHE = 1 << 1 , STATE_PICK = 1 << 2 ,
  STATE_RENDER = 1 << 3 , STATE_BACKGROUND = 1 << 4 , STATE_ALL = (1 << 5) - 1 , STATE_TOTAL_INV = 1 << 5
}
 
enum  PickFlags { PICK_NORMAL = 0 , PICK_STICKY = 1 << 0 , PICK_AS_CLIP = 1 << 1 , PICK_OUTLINE = 1 << 2 }
 
- Protected Types inherited from Inkscape::DrawingItem
enum class  ChildType : unsigned char {
  ORPHAN = 0 , NORMAL = 1 , CLIP = 2 , MASK = 3 ,
  FILL = 4 , STROKE = 5 , ROOT = 6
}
 
enum  RenderResult { RENDER_OK = 0 , RENDER_STOP = 1 }
 
using ListHook = boost::intrusive::list_member_hook<>
 
using ChildrenList = boost::intrusive::list< DrawingItem, boost::intrusive::member_hook< DrawingItem, ListHook, &DrawingItem::_child_hook > >
 

Detailed Description

Definition at line 27 of file drawing-text.h.

Constructor & Destructor Documentation

◆ DrawingGlyphs()

Inkscape::DrawingGlyphs::DrawingGlyphs ( Drawing drawing)

Definition at line 32 of file drawing-text.cpp.

◆ ~DrawingGlyphs()

Inkscape::DrawingGlyphs::~DrawingGlyphs ( )
overrideprotecteddefault

Member Function Documentation

◆ _pickItem()

DrawingItem * Inkscape::DrawingGlyphs::_pickItem ( Geom::Point const &  p,
double  delta,
unsigned  flags 
)
overrideprotectedvirtual

◆ _updateItem()

◆ getPickBox()

Geom::IntRect Inkscape::DrawingGlyphs::getPickBox ( ) const
inline

Definition at line 36 of file drawing-text.h.

References bbox_pick_scaled.

◆ setGlyph()

◆ setStyle()

void Inkscape::DrawingGlyphs::setStyle ( SPStyle const *  style,
SPStyle const *  context_style = nullptr 
)
overridevirtual

Process information related to the new style.

Note: _style is not used by DrawingGlyphs which uses its parent style.

Reimplemented from Inkscape::DrawingItem.

Definition at line 76 of file drawing-text.cpp.

◆ tag()

int Inkscape::DrawingGlyphs::tag ( ) const
inlineoverridevirtual

Unlink this node and its subtree from the rendering tree and destroy.

Reimplemented from Inkscape::DrawingItem.

Definition at line 32 of file drawing-text.h.

References tag_of.

Friends And Related Symbol Documentation

◆ DrawingText

friend class DrawingText
friend

Definition at line 63 of file drawing-text.h.

Member Data Documentation

◆ _asc

float Inkscape::DrawingGlyphs::_asc
protected

Definition at line 47 of file drawing-text.h.

◆ _dsc

float Inkscape::DrawingGlyphs::_dsc
protected

Definition at line 48 of file drawing-text.h.

◆ _font_data

std::shared_ptr<void const> Inkscape::DrawingGlyphs::_font_data
protected

Definition at line 44 of file drawing-text.h.

Referenced by setGlyph().

◆ _glyph

unsigned int Inkscape::DrawingGlyphs::_glyph
protected

Definition at line 45 of file drawing-text.h.

Referenced by setGlyph().

◆ _pl

float Inkscape::DrawingGlyphs::_pl
protected

Definition at line 49 of file drawing-text.h.

◆ _width

float Inkscape::DrawingGlyphs::_width
protected

Definition at line 46 of file drawing-text.h.

◆ bbox_draw

Geom::Rect Inkscape::DrawingGlyphs::bbox_draw
protected

Definition at line 56 of file drawing-text.h.

Referenced by _updateItem(), and setGlyph().

◆ bbox_draw_scaled

Geom::IntRect Inkscape::DrawingGlyphs::bbox_draw_scaled
protected

Definition at line 59 of file drawing-text.h.

Referenced by _updateItem().

◆ bbox_exact

Geom::Rect Inkscape::DrawingGlyphs::bbox_exact
protected

Definition at line 54 of file drawing-text.h.

Referenced by setGlyph().

◆ bbox_pick

Geom::Rect Inkscape::DrawingGlyphs::bbox_pick
protected

Definition at line 55 of file drawing-text.h.

Referenced by _updateItem(), and setGlyph().

◆ bbox_pick_scaled

Geom::IntRect Inkscape::DrawingGlyphs::bbox_pick_scaled
protected

Definition at line 58 of file drawing-text.h.

Referenced by _pickItem(), _updateItem(), and getPickBox().

◆ design_units

double Inkscape::DrawingGlyphs::design_units
protected

Definition at line 51 of file drawing-text.h.

Referenced by setGlyph().

◆ font_descr

char* Inkscape::DrawingGlyphs::font_descr
protected

Definition at line 61 of file drawing-text.h.

Referenced by setGlyph().

◆ pathvec

Geom::PathVector const* Inkscape::DrawingGlyphs::pathvec = nullptr
protected

Definition at line 52 of file drawing-text.h.

Referenced by _updateItem(), and setGlyph().

◆ pixbuf

Inkscape::Pixbuf const* Inkscape::DrawingGlyphs::pixbuf = nullptr
protected

Definition at line 53 of file drawing-text.h.

Referenced by setGlyph().


The documentation for this class was generated from the following files: