Inkscape
Vector Graphics Editor
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages Concepts
Inkscape::DrawingImage Class Reference

#include <drawing-image.h>

Inheritance diagram for Inkscape::DrawingImage:
Inkscape::DrawingItem

Public Member Functions

 DrawingImage (Drawing &drawing)
 
int tag () const override
 Unlink this node and its subtree from the rendering tree and destroy.
 
void setStyle (SPStyle const *style, SPStyle const *context_style=nullptr) override
 Process information related to the new style.
 
void setPixbuf (std::shared_ptr< Inkscape::Pixbuf const > pb)
 
void setScale (double sx, double sy)
 
void setOrigin (Geom::Point const &o)
 
void setClipbox (Geom::Rect const &box)
 
Geom::Rect bounds () 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

 ~DrawingImage () override=default
 
unsigned _updateItem (Geom::IntRect const &area, UpdateContext const &ctx, unsigned flags, unsigned reset) override
 
unsigned _renderItem (DrawingContext &dc, RenderContext &rc, Geom::IntRect const &area, unsigned flags, DrawingItem const *stop_at) const 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 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< Inkscape::Pixbuf const > _pixbuf
 
SPImageRendering style_image_rendering
 
Geom::Rect _clipbox
 for preserveAspectRatio
 
Geom::Point _origin
 
Geom::Scale _scale
 
- 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
 

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 26 of file drawing-image.h.

Constructor & Destructor Documentation

◆ DrawingImage()

Inkscape::DrawingImage::DrawingImage ( Drawing drawing)

Definition at line 23 of file drawing-image.cpp.

◆ ~DrawingImage()

Inkscape::DrawingImage::~DrawingImage ( )
overrideprotecteddefault

Member Function Documentation

◆ _pickItem()

◆ _renderItem()

unsigned Inkscape::DrawingImage::_renderItem ( DrawingContext dc,
RenderContext rc,
Geom::IntRect const &  area,
unsigned  flags,
DrawingItem const *  stop_at 
) const
overrideprotectedvirtual

◆ _updateItem()

unsigned Inkscape::DrawingImage::_updateItem ( Geom::IntRect const &  area,
UpdateContext const &  ctx,
unsigned  flags,
unsigned  reset 
)
overrideprotectedvirtual

◆ bounds()

Geom::Rect Inkscape::DrawingImage::bounds ( ) const

◆ setClipbox()

void Inkscape::DrawingImage::setClipbox ( Geom::Rect const &  box)

◆ setOrigin()

void Inkscape::DrawingImage::setOrigin ( Geom::Point const &  o)

◆ setPixbuf()

void Inkscape::DrawingImage::setPixbuf ( std::shared_ptr< Inkscape::Pixbuf const >  pb)

◆ setScale()

void Inkscape::DrawingImage::setScale ( double  sx,
double  sy 
)

◆ setStyle()

void Inkscape::DrawingImage::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 77 of file drawing-image.cpp.

References Inkscape::DrawingItem::_style, Inkscape::DrawingItem::defer(), SPStyle::image_rendering, Inkscape::DrawingItem::setStyle(), SP_CSS_IMAGE_RENDERING_AUTO, and style_image_rendering.

Referenced by sp_image_update_arenaitem().

◆ tag()

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

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

Reimplemented from Inkscape::DrawingItem.

Definition at line 31 of file drawing-image.h.

References tag_of.

Member Data Documentation

◆ _clipbox

Geom::Rect Inkscape::DrawingImage::_clipbox
protected

for preserveAspectRatio

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

Referenced by _renderItem(), bounds(), and setClipbox().

◆ _origin

Geom::Point Inkscape::DrawingImage::_origin
protected

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

Referenced by _pickItem(), _renderItem(), bounds(), and setOrigin().

◆ _pixbuf

std::shared_ptr<Inkscape::Pixbuf const> Inkscape::DrawingImage::_pixbuf
protected

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

Referenced by _pickItem(), _renderItem(), _updateItem(), bounds(), and setPixbuf().

◆ _scale

Geom::Scale Inkscape::DrawingImage::_scale
protected

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

Referenced by _pickItem(), _renderItem(), bounds(), and setScale().

◆ style_image_rendering

SPImageRendering Inkscape::DrawingImage::style_image_rendering
protected

Definition at line 50 of file drawing-image.h.

Referenced by _renderItem(), and setStyle().


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