Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
SPImage Class Referencefinal

#include <sp-image.h>

Inheritance diagram for SPImage:
SPItem SPViewBox SPDimensions SPObject Inkscape::XML::NodeObserver

Public Member Functions

 SPImage ()
 
 ~SPImage () override
 
int tag () const override
 
void build (SPDocument *document, Inkscape::XML::Node *repr) override
 
void release () override
 
void set (SPAttr key, char const *value) override
 
void update (SPCtx *ctx, unsigned int flags) override
 
Inkscape::XML::Nodewrite (Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override
 
void modified (unsigned int flags) override
 
Geom::OptRect bbox (Geom::Affine const &transform, SPItem::BBoxType type) const override
 
void print (SPPrintContext *ctx) override
 
const chartypeName () const override
 The item's type name, not node tag name.
 
const chardisplayName () const override
 The item's type name as a translated human string.
 
chardescription () const override
 
Inkscape::DrawingItemshow (Inkscape::Drawing &drawing, unsigned int key, unsigned int flags) override
 
void snappoints (std::vector< Inkscape::SnapCandidatePoint > &p, Inkscape::SnapPreferences const *snapprefs) const override
 
Geom::Affine set_transform (Geom::Affine const &transform) override
 
void apply_profile (Inkscape::Pixbuf *pixbuf)
 
Geom::PathVector constget_curve () const
 Return a borrowed pointer to curve (if any exists) or NULL if there is no curve.
 
void refresh_if_outdated ()
 
bool cropToArea (Geom::Rect area)
 Crop the image (remove pixels) based on the area rectangle and translate image to componsate for movement.
 
bool cropToArea (const Geom::IntRect &area)
 Crop to the actual pixel area of the image, and adjusting the image's coordinates to compensate for the changes.
 
Inkscape::URI getURI () const
 Return this image's href as a URI object.
 
- Public Member Functions inherited from SPItem
 SPItem ()
 
 ~SPItem () override
 
int tag () const override
 
SPClipPathgetClipObject () const
 
SPMaskgetMaskObject () const
 
SPClipPathReferencegetClipRef ()
 
SPMaskReferencegetMaskRef ()
 
std::optional< Geom::PathVectorgetClipPathVector () const
 Return the path vector of the clipping region.
 
std::optional< Geom::PathVectorgetClipPathVector (SPItem const *root) const
 Return the path vector of the clipping region, combined with the clipping regions of all groups containing this object up to and including root.
 
SPText const * getClipTextObject () const
 Return the text object, IF and only if this item is clipped by a single SPText object.
 
SPAvoidRefgetAvoidRef ()
 
bool isLocked () const
 
void setLocked (bool lock, bool recursive=false)
 
bool isHidden () const
 
void setHidden (bool hidden)
 
bool isSensitive () const
 
void setHighlight (Inkscape::Colors::Color color)
 
bool isHighlightSet () const
 
virtual Inkscape::Colors::Color highlight_color () const
 
bool isEvaluated () const
 
void setEvaluated (bool visible)
 
void resetEvaluated ()
 
bool unoptimized ()
 
bool isHidden (unsigned display_key) const
 
bool isExplicitlyHidden () const
 Returns something suitable for the ‘Hide’ checkbox in the Object Properties dialog box.
 
void setExplicitlyHidden (bool val)
 Sets the display CSS property to ‘hidden’ if val is true, otherwise makes it unset.
 
void setCenter (Geom::Point const &object_centre)
 Sets the transform_center_x and transform_center_y properties to retain the rotation center.
 
bool updateCenterIfSet (Geom::Point const &center)
 
void unsetCenter ()
 
bool isCenterSet () const
 
Geom::Point getCenter (bool ensure_uptodate=true) const
 
void scaleCenter (Geom::Scale const &sc)
 
bool isVisibleAndUnlocked () const
 
bool isVisibleAndUnlocked (unsigned display_key) const
 
Geom::Affine getRelativeTransform (SPObject const *obj) const
 
bool raiseOne ()
 
bool lowerOne ()
 
void raiseToTop ()
 
void lowerToBottom ()
 
SPGroupgetParentGroup () const
 Return the parent, only if it's a group object.
 
void moveTo (SPItem *target, bool intoafter)
 Move this SPItem into or after another SPItem in the doc.
 
sigc::connection connectTransformed (sigc::slot< void(Geom::Affine const *, SPItem *)> slot)
 
Geom::OptRect geometricBounds (Geom::Affine const &transform=Geom::identity()) const
 Get item's geometric bounding box in this item's coordinate system.
 
Geom::OptRect visualBounds (Geom::Affine const &transform=Geom::identity(), bool wfilter=true, bool wclip=true, bool wmask=true) const
 Get item's visual bounding box in this item's coordinate system.
 
Geom::OptRect bounds (BBoxType type, Geom::Affine const &transform=Geom::identity()) const
 
Geom::OptRect documentGeometricBounds () const
 Get item's geometric bbox in document coordinate system.
 
Geom::OptRect documentVisualBounds () const
 Get item's visual bbox in document coordinate system.
 
Geom::OptRect documentBounds (BBoxType type) const
 
Geom::OptRect documentPreferredBounds () const
 
virtual std::optional< Geom::PathVectordocumentExactBounds () const
 Get an exact geometric shape representing the visual bounds of the item in the document coordinates.
 
Geom::OptRect desktopGeometricBounds () const
 Get item's geometric bbox in desktop coordinate system.
 
Geom::OptRect desktopVisualBounds () const
 Get item's visual bbox in desktop coordinate system.
 
Geom::OptRect desktopPreferredBounds () const
 
Geom::OptRect desktopBounds (BBoxType type) const
 
unsigned int pos_in_parent () const
 
char * detailedDescription () const
 Returns a string suitable for status bar, formatted in pango markup language.
 
bool isFiltered () const
 Returns true if the item is filtered, false otherwise.
 
SPObjectisInMask () const
 
SPObjectisInClipPath () const
 
void invoke_print (SPPrintContext *ctx)
 
Inkscape::DrawingIteminvoke_show (Inkscape::Drawing &drawing, unsigned int key, unsigned int flags)
 
void invoke_hide (unsigned int key)
 
void invoke_hide_except (unsigned key, const std::vector< SPItem const * > &to_keep)
 Invoke hide on all non-group items, except for the list of items to keep.
 
void getSnappoints (std::vector< Inkscape::SnapCandidatePoint > &p, Inkscape::SnapPreferences const *snapprefs=nullptr) const
 
void adjust_pattern (Geom::Affine const &postmul, bool set=false, PaintServerTransform=TRANSFORM_BOTH)
 
void adjust_hatch (Geom::Affine const &postmul, bool set=false, PaintServerTransform=TRANSFORM_BOTH)
 
void adjust_gradient (Geom::Affine const &postmul, bool set=false)
 
void adjust_clip (Geom::Affine const &postmul, bool set=false)
 
void remove_clip_transforms ()
 
void adjust_stroke (double ex)
 
void adjust_stroke_width_recursive (double ex)
 Recursively scale stroke width in item and its children by expansion.
 
void freeze_stroke_width_recursive (bool freeze)
 
void adjust_paint_recursive (Geom::Affine advertized_transform, Geom::Affine t_ancestors, PaintServerType type=GRADIENT)
 Recursively compensate pattern or gradient transform.
 
bool collidesWith (Geom::PathVector const &shape) const
 Checks for visual collision with another item.
 
bool collidesWith (SPItem const &other) const
 
void doWriteTransform (Geom::Affine const &transform, Geom::Affine const *adv=nullptr, bool compensate=true)
 Set a new transform on an object.
 
void set_item_transform (Geom::Affine const &transform_matrix)
 Sets item private transform (not propagated to repr), without compensating stroke widths, gradients, patterns as sp_item_write_transform does.
 
Inkscape::DrawingItemget_arenaitem (unsigned key) const
 Return the arenaitem corresponding to the given item in the display with the given key.
 
Geom::Affine i2doc_affine () const
 Returns the accumulated transformation of the item and all its ancestors, including root's viewport.
 
Geom::Affine i2dt_affine () const
 Returns the transformation from item to desktop coords.
 
void set_i2d_affine (Geom::Affine const &transform)
 
Geom::Affine dt2i_affine () const
 Returns the transformation from desktop to item coords.
 
bool isExpanded () const
 
void setExpanded (bool expand)
 
void rotate_rel (Geom::Rotate const &rotation)
 
void scale_rel (Geom::Scale const &scale)
 
void skew_rel (double skewX, double skewY)
 
void move_rel (Geom::Translate const &tr)
 
void build (SPDocument *document, Inkscape::XML::Node *repr) override
 
void release () override
 
void set (SPAttr key, char const *value) override
 
void update (SPCtx *ctx, unsigned int flags) override
 
void modified (unsigned int flags) override
 
Inkscape::XML::Nodewrite (Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override
 
virtual void hide (unsigned int key)
 
virtual void removeTransformsRecursively (SPObject const *root)
 
virtual void convert_to_guides () const
 
- Public Member Functions inherited from SPObject
 SPObject ()
 Constructor, sets all attributes to default values.
 
 SPObject (SPObject const &)=delete
 
SPObjectoperator= (SPObject const &)=delete
 
 ~SPObject () override
 Destructor, frees the used memory and unreferences a potential successor of the object.
 
char const * getId () const
 Returns the objects current ID string.
 
void getIds (std::set< std::string > &ret) const
 Accumulate this id and all it's descendants ids.
 
std::string getUrl () const
 Get the id in a URL format.
 
Inkscape::XML::NodegetRepr ()
 Returns the XML representation of tree.
 
Inkscape::XML::Node const * getRepr () const
 Returns the XML representation of tree.
 
void releaseReferences ()
 Cleans up an SPObject, releasing its references and requesting that references to it be released.
 
sigc::connection connectRelease (sigc::slot< void(SPObject *)> slot)
 Connects to the release request signal.
 
bool isSiblingOf (SPObject const *object) const
 
virtual void getLinked (std::vector< SPObject * > &objects, LinkedObjectNature direction=LinkedObjectNature::ANY) const
 Get objects which are linked to this object as either a source or a target.
 
std::vector< SPObject * > getLinked (LinkedObjectNature direction=LinkedObjectNature::ANY) const
 Get objects which are linked, like above.
 
bool isAncestorOf (SPObject const *object) const
 True if object is non-NULL and this is some in/direct parent of object.
 
SPObject const * nearestCommonAncestor (SPObject const *object) const
 Returns youngest object being parent to this and object.
 
SPObject const * getTopAncestorNonLayer () const
 Returns ancestor non layer.
 
SPObjectgetNext ()
 
SPObjectgetPrev ()
 Returns previous object in sibling list or NULL.
 
bool hasChildren () const
 
SPObjectfirstChild ()
 
SPObject const * firstChild () const
 
SPObjectlastChild ()
 
SPObject const * lastChild () const
 
SPObjectnthChild (unsigned index)
 
SPObject const * nthChild (unsigned index) const
 
std::vector< SPObject * > childList (bool add_ref, Action action=ActionGeneral)
 Retrieves the children as a std vector object, optionally ref'ing the children in the process, if add_ref is specified.
 
std::vector< SPObject * > ancestorList (bool root_to_tip)
 Retrieves a list of ancestors of the object, as an easy to use vector.
 
SPObjectappendChildRepr (Inkscape::XML::Node *repr)
 Append repr as child of this object.
 
char const * label () const
 Gets the author-visible label property for the object or a default if no label is defined.
 
char const * defaultLabel () const
 Returns a default label property for this object.
 
void setLabel (char const *label)
 Sets the author-visible label for this object.
 
char * title () const
 Returns the title of this object, or NULL if there is none.
 
bool setTitle (char const *title, bool verbatim=false)
 Sets the title of this object.
 
char * desc () const
 Returns the description of this object, or NULL if there is none.
 
bool setDesc (char const *desc, bool verbatim=false)
 Sets the description of this object.
 
Glib::ustring getExportFilename () const
 Get and set the exportable filename on this object.
 
void setExportFilename (Glib::ustring filename)
 
Geom::Point getExportDpi () const
 Get and set the exported DPI for this objet, if available.
 
void setExportDpi (Geom::Point dpi)
 
CollectionPolicy collectionPolicy () const
 Set the policy under which this object will be orphan-collected.
 
void setCollectionPolicy (CollectionPolicy policy)
 Sets the orphan-collection policy in effect for this object.
 
void requestOrphanCollection ()
 Requests a later automatic call to collectOrphan().
 
void collectOrphan ()
 Unconditionally delete the object if it is not referenced.
 
void hrefObject (SPObject *owner=nullptr)
 Increase weak refcount.
 
void unhrefObject (SPObject *owner=nullptr)
 Decrease weak refcount.
 
bool isReferenced ()
 Check if object is referenced by any other object.
 
void deleteObject (bool propagate, bool propagate_descendants)
 Deletes an object, unparenting it from its parent.
 
void deleteObject (bool propagate=true)
 Deletes on object.
 
void cropToObject (SPObject *except)
 Removes all children except for the given object, it's children and it's ancesstors.
 
void cropToObjects (std::vector< SPObject * > except_objects)
 Removes objects which are not related to given list of objects.
 
void getObjectsExcept (std::vector< SPObject * > &objects, const std::vector< SPObject * > &except)
 Get all child objects except for any in the list.
 
void getLinkedRecursive (std::vector< SPObject * > &objects, LinkedObjectNature direction=LinkedObjectNature::ANY) const
 Grows the input list with all linked items recursively in both child nodes and links of links.
 
sigc::connection connectDelete (sigc::slot< void(SPObject *)> slot)
 Connects a slot to be called when an object is deleted.
 
sigc::connection connectPositionChanged (sigc::slot< void(SPObject *)> slot)
 
SPObjectsuccessor ()
 Returns the object which supercedes this one (if any).
 
void setSuccessor (SPObject *successor)
 Indicates that another object supercedes this one.
 
void setTmpSuccessor (SPObject *tmpsuccessor)
 Indicates that another object supercedes temporaty this one.
 
void unsetTmpSuccessor ()
 Unset object supercedes.
 
void fixTmpSuccessors ()
 Fix temporary successors in duple stamp.
 
Inkscape::XML::NodeupdateRepr (unsigned int flags=SP_OBJECT_WRITE_EXT)
 Updates the object's repr based on the object's state.
 
Inkscape::XML::NodeupdateRepr (Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, unsigned int flags)
 Updates the given repr based on the object's state.
 
void requestDisplayUpdate (unsigned int flags)
 Queues an deferred update of this object's display.
 
void updateDisplay (SPCtx *ctx, unsigned int flags)
 Updates the object's display immediately.
 
void requestModified (unsigned int flags)
 Requests that a modification notification signal be emitted later (e.g.
 
void emitModified (unsigned int flags)
 Emits the MODIFIED signal with the object's flags.
 
sigc::connection connectModified (sigc::slot< void(SPObject *, unsigned int)> slot)
 Connects to the modification notification signal.
 
void _sendDeleteSignalRecursive ()
 Sends the delete signal to all children of this object recursively.
 
void _updateTotalHRefCount (int increment)
 Adds increment to _total_hrefcount of object and its parents.
 
void _requireSVGVersion (unsigned major, unsigned minor)
 
void _requireSVGVersion (Inkscape::Version version)
 Lifts SVG version of all root objects to version.
 
void attach (SPObject *object, SPObject *prev)
 Put object into object tree, under parent, and behind prev; also update object's XML space.
 
void reorder (SPObject *obj, SPObject *prev)
 In list of object's children, move object behind prev.
 
void detach (SPObject *object)
 Remove object from parent's children, release and unref it.
 
SPObjectget_child_by_repr (Inkscape::XML::Node *repr)
 Return object's child whose node pointer equals repr.
 
void invoke_build (SPDocument *document, Inkscape::XML::Node *repr, unsigned int cloned)
 
int getIntAttribute (char const *key, int def)
 
unsigned getPosition ()
 
char const * getAttribute (char const *name) const
 
void appendChild (Inkscape::XML::Node *child)
 
void addChild (Inkscape::XML::Node *child, Inkscape::XML::Node *prev=nullptr)
 
void setKeyValue (SPAttr key, char const *value)
 Call virtual set() function of object.
 
void setAttribute (Inkscape::Util::const_char_ptr key, Inkscape::Util::const_char_ptr value)
 
void setAttributeDouble (Inkscape::Util::const_char_ptr key, double value)
 
void setAttributeOrRemoveIfEmpty (Inkscape::Util::const_char_ptr key, Inkscape::Util::const_char_ptr value)
 
void readAttr (char const *key)
 Read value of key attribute from XML node into object.
 
void readAttr (SPAttr keyid)
 
char const * getTagName () const
 
void removeAttribute (char const *key)
 
void setCSS (SPCSSAttr *css, char const *attr)
 
void changeCSS (SPCSSAttr *css, char const *attr)
 
bool storeAsDouble (char const *key, double *val) const
 
virtual void read_content ()
 
void recursivePrintTree (unsigned level=0)
 
void objectTrace (std::string const &, bool in=true, unsigned flags=0)
 
std::string generate_unique_id (char const *default_id=nullptr) const
 Generate a document-wide unique id for this object.
 
- Public Member Functions inherited from SPViewBox
 SPViewBox ()
 
void set_viewBox (const gchar *value)
 
void set_preserveAspectRatio (const gchar *value)
 
void write_viewBox (Inkscape::XML::Node *repr) const
 Write viewBox attribute to XML, if set.
 
void write_preserveAspectRatio (Inkscape::XML::Node *repr) const
 Write preserveAspectRatio attribute to XML, if set.
 
void apply_viewbox (const Geom::Rect &in, double scale_none=1.0)
 
SPItemCtx get_rctx (const SPItemCtx *ictx, double scale_none=1.0)
 
Geom::OptRect get_paintbox (double width, double height, Geom::OptRect const &size) const
 
- Public Member Functions inherited from SPDimensions
void calcDimsFromParentViewport (const SPItemCtx *ictx, bool assign_to_set=false, SPDimensions const *use=nullptr)
 Update computed x/y/width/height for "percent" units and/or from its referencing clone parent.
 
void writeDimensions (Inkscape::XML::Node *) const
 Write the geometric properties (x/y/width/height) to XML attributes, if they are set.
 

Public Attributes

Geom::Rect clipbox
 
double sx
 
double sy
 
double ox
 
double oy
 
double dpi
 
double prev_width
 
double prev_height
 
std::optional< Geom::PathVectorcurve
 
charhref
 
charcolor_profile
 
std::shared_ptr< Inkscape::Pixbuf constpixbuf
 
bool missing = true
 
- Public Attributes inherited from SPItem
unsigned int sensitive: 1
 
unsigned int stop_paint: 1
 
unsigned bbox_valid: 1
 
double transform_center_x
 
double transform_center_y
 
bool freeze_stroke_width
 
bool _is_expanded = false
 
Geom::Affine transform
 
Geom::OptRect doc_bbox
 
Geom::Rect viewport
 
std::vector< std::pair< Glib::ustring, Glib::ustring > > rootsatellites
 
std::vector< SPItemViewviews
 
sigc::signal< void(Geom::Affine const *, SPItem *)> _transformed_signal
 
std::optional< Inkscape::Colors::Color_highlightColor
 
- Public Attributes inherited from SPObject
unsigned int cloned: 1
 
SPObjectclone_original {nullptr}
 
unsigned int uflags: 16
 
unsigned int mflags: 16
 
SPIXmlSpace xml_space
 
Glib::ustring lang
 
unsigned int hrefcount {0}
 
unsigned int _total_hrefcount {0}
 
SPDocumentdocument {nullptr}
 
SPObjectparent {nullptr}
 
int refCount {1}
 
std::list< SPObject * > hrefList
 
SPStylestyle
 Represents the style properties, whether from presentation attributes, the style attribute, or inherited.
 
SPStylecontext_style
 Represents the style that should be used to resolve 'context-fill' and 'context-stroke'.
 
sigc::signal< void(SPObject *)> _release_signal
 
sigc::signal< void(SPObject *)> _delete_signal
 
sigc::signal< void(SPObject *)> _position_changed_signal
 
sigc::signal< void(SPObject *, unsigned int)> _modified_signal
 
SPObject_successor {nullptr}
 
SPObject_tmpsuccessor {nullptr}
 
CollectionPolicy _collection_policy {SPObject::COLLECT_WITH_PARENT}
 
char * _label {nullptr}
 
char * _default_label {nullptr}
 
ChildrenList children
 
- Public Attributes inherited from SPViewBox
bool viewBox_set
 
Geom::Rect viewBox
 
bool aspect_set
 
unsigned int aspect_align
 
unsigned int aspect_clip
 
Geom::Affine c2p
 
- Public Attributes inherited from SPDimensions
SVGLength x
 
SVGLength y
 
SVGLength width
 
SVGLength height
 

Static Private Member Functions

static Inkscape::PixbufreadImage (gchar const *href, gchar const *absref, gchar const *base, double svgdpi=0)
 
static Inkscape::PixbufgetBrokenImage (double width, double height)
 Load a standard broken image svg, used if we fail to load pixbufs from the href.
 

Additional Inherited Members

- Public Types inherited from SPItem
enum  BBoxType { APPROXIMATE_BBOX , GEOMETRIC_BBOX , VISUAL_BBOX }
 
enum  PaintServerType { PATTERN , HATCH , GRADIENT }
 
- Public Types inherited from SPObject
enum  CollectionPolicy { COLLECT_WITH_PARENT , ALWAYS_COLLECT }
 
enum class  LinkedObjectNature { DEPENDENT = -1 , ANY = 0 , DEPENDENCY = 1 }
 
enum  Action { ActionGeneral , ActionBBox , ActionUpdate , ActionShow }
 
typedef Inkscape::Util::ForwardPointerIterator< SPObject, ParentIteratorStrategyParentIterator
 
typedef Inkscape::Util::ForwardPointerIterator< SPObject const, ParentIteratorStrategyConstParentIterator
 
using ChildrenList = boost::intrusive::list< SPObject, boost::intrusive::member_hook< SPObject, ListHook, &SPObject::_child_hook > >
 
- Static Public Member Functions inherited from SPItem
static unsigned int display_key_new (unsigned numkeys)
 Allocates unique integer keys.
 
static unsigned ensure_key (Inkscape::DrawingItem *di)
 Ensures that a drawing item's key is the first of a block of ITEM_KEY_SIZE keys, assigning it such a key if necessary.
 
- Protected Types inherited from SPObject
typedef boost::intrusive::list_member_hook ListHook
 
- Protected Member Functions inherited from SPObject
virtual void child_added (Inkscape::XML::Node *child, Inkscape::XML::Node *ref)
 
virtual void remove_child (Inkscape::XML::Node *child)
 
virtual void order_changed (Inkscape::XML::Node *child, Inkscape::XML::Node *old_repr, Inkscape::XML::Node *new_repr)
 
virtual void tag_name_changed (gchar const *oldname, gchar const *newname)
 
- Protected Attributes inherited from SPObject
ListHook _child_hook
 

Detailed Description

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

Constructor & Destructor Documentation

◆ SPImage()

◆ ~SPImage()

SPImage::~SPImage ( )
overridedefault

Member Function Documentation

◆ apply_profile()

void SPImage::apply_profile ( Inkscape::Pixbuf pixbuf)

◆ bbox()

Geom::OptRect SPImage::bbox ( Geom::Affine const transform,
SPItem::BBoxType  type 
) const
overridevirtual

Reimplemented from SPItem.

Definition at line 412 of file sp-image.cpp.

References bbox(), SVGLength::computed, Geom::GenericRect< Coord >::from_xywh(), SPItem::transform, SPDimensions::width, and SPDimensions::x.

Referenced by bbox().

◆ build()

void SPImage::build ( SPDocument document,
Inkscape::XML::Node repr 
)
overridevirtual

◆ cropToArea() [1/2]

bool SPImage::cropToArea ( const Geom::IntRect area)

Crop to the actual pixel area of the image, and adjusting the image's coordinates to compensate for the changes.

Parameters
area- Rectangle in image pixel units
Returns
true if any pixels were removed.

Definition at line 861 of file sp-image.cpp.

References SVGLength::computed, Geom::GenericRect< C >::from_xywh(), SPObject::getRepr(), SPDimensions::height, pixbuf, SPObject::repr, Inkscape::XML::Node::setAttributeSvgDouble(), sp_embed_image(), SPDimensions::width, SPDimensions::x, and SPDimensions::y.

◆ cropToArea() [2/2]

bool SPImage::cropToArea ( Geom::Rect  area)

Crop the image (remove pixels) based on the area rectangle and translate image to componsate for movement.

Parameters
area- Rectangle in document units
Returns
true if any pixels were removed.

Definition at line 841 of file sp-image.cpp.

References SVGLength::computed, cropToArea(), SPDimensions::height, SPItem::i2doc_affine(), Geom::Affine::inverse(), pixbuf, Geom::Rect::roundOutwards(), SPDimensions::width, SPDimensions::x, and SPDimensions::y.

Referenced by cropToArea().

◆ description()

◆ displayName()

const char * SPImage::displayName ( ) const
overridevirtual

The item's type name as a translated human string.

Translated string for UI display.

Reimplemented from SPItem.

Definition at line 448 of file sp-image.cpp.

References SPDimensions::x.

◆ get_curve()

Geom::PathVector const * SPImage::get_curve ( ) const

Return a borrowed pointer to curve (if any exists) or NULL if there is no curve.

Definition at line 711 of file sp-image.cpp.

References curve.

◆ getBrokenImage()

Inkscape::Pixbuf * SPImage::getBrokenImage ( double  width,
double  height 
)
staticprivate

Load a standard broken image svg, used if we fail to load pixbufs from the href.

Definition at line 582 of file sp-image.cpp.

References broken_image_svg, Inkscape::Pixbuf::create_from_buffer(), dpi, Inkscape::Preferences::get(), Inkscape::Preferences::getDouble(), SPDimensions::height, SPDimensions::width, and SPDimensions::x.

Referenced by update().

◆ getURI()

Inkscape::URI SPImage::getURI ( ) const

Return this image's href as a URI object.

Definition at line 455 of file sp-image.cpp.

References SPObject::document, Inkscape::URI::from_href_and_basedir(), SPDocument::getDocumentBase(), and href.

◆ modified()

void SPImage::modified ( unsigned int  flags)
overridevirtual

Reimplemented from SPObject.

Definition at line 365 of file sp-image.cpp.

References SPObject::style, SPItem::views, and SPDimensions::x.

◆ print()

void SPImage::print ( SPPrintContext ctx)
overridevirtual

◆ readImage()

Inkscape::Pixbuf * SPImage::readImage ( gchar const href,
gchar const absref,
gchar const base,
double  svgdpi = 0 
)
staticprivate

◆ refresh_if_outdated()

void SPImage::refresh_if_outdated ( )

Definition at line 813 of file sp-image.cpp.

References href, pixbuf, SPObject::requestDisplayUpdate(), and SPDimensions::x.

◆ release()

void SPImage::release ( )
overridevirtual

◆ set()

◆ set_transform()

Geom::Affine SPImage::set_transform ( Geom::Affine const transform)
overridevirtual

◆ show()

Inkscape::DrawingItem * SPImage::show ( Inkscape::Drawing drawing,
unsigned int  key,
unsigned int  flags 
)
overridevirtual

Reimplemented from SPItem.

Definition at line 505 of file sp-image.cpp.

References sp_image_update_arenaitem(), and SPDimensions::x.

◆ snappoints()

◆ tag()

int SPImage::tag ( ) const
inlineoverridevirtual

Reimplemented from SPObject.

Definition at line 35 of file sp-image.h.

References tag_of.

◆ typeName()

const char * SPImage::typeName ( ) const
overridevirtual

The item's type name, not node tag name.

NOT translated.

Returns
The item's type name (default: 'item')

Reimplemented from SPItem.

Definition at line 444 of file sp-image.cpp.

◆ update()

◆ write()

Member Data Documentation

◆ clipbox

Geom::Rect SPImage::clipbox

Definition at line 37 of file sp-image.h.

Referenced by SPImage(), and update().

◆ color_profile

char* SPImage::color_profile

Definition at line 46 of file sp-image.h.

Referenced by release(), set(), SPImage(), update(), and write().

◆ curve

std::optional<Geom::PathVector> SPImage::curve

Definition at line 43 of file sp-image.h.

Referenced by get_curve().

◆ dpi

double SPImage::dpi

Definition at line 40 of file sp-image.h.

Referenced by getBrokenImage(), SPImage(), and update().

◆ href

char* SPImage::href

◆ missing

bool SPImage::missing = true

Definition at line 49 of file sp-image.h.

Referenced by update().

◆ ox

double SPImage::ox

Definition at line 39 of file sp-image.h.

Referenced by print(), SPImage(), and update().

◆ oy

double SPImage::oy

Definition at line 39 of file sp-image.h.

Referenced by print(), SPImage(), and update().

◆ pixbuf

◆ prev_height

double SPImage::prev_height

Definition at line 41 of file sp-image.h.

Referenced by SPImage(), and update().

◆ prev_width

double SPImage::prev_width

Definition at line 41 of file sp-image.h.

Referenced by SPImage(), and update().

◆ sx

double SPImage::sx

Definition at line 38 of file sp-image.h.

Referenced by print(), SPImage(), and update().

◆ sy

double SPImage::sy

Definition at line 38 of file sp-image.h.

Referenced by print(), SPImage(), and update().


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