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

#include <sp-rect.h>

Inheritance diagram for SPRect:
SPShape SPLPEItem SPItem SPObject Inkscape::XML::NodeObserver

Public Member Functions

 SPRect ()
 
 ~SPRect () override
 
int tag () const override
 
void tag_name_changed (gchar const *oldname, gchar const *newname) override
 
void setPosition (double x, double y, double width, double height)
 
void setRx (bool set, double value)
 
void setRy (bool set, double value)
 
double getVisibleRx () const
 
void setVisibleRx (double rx)
 
double getVisibleRy () const
 
void setVisibleRy (double ry)
 
Geom::Rect getRect () const
 
double getVisibleWidth () const
 
void setVisibleWidth (double rx)
 
double getVisibleHeight () const
 
void setVisibleHeight (double ry)
 
void compensateRxRy (Geom::Affine xform)
 
void build (SPDocument *doc, Inkscape::XML::Node *repr) override
 
void set (SPAttr key, char const *value) override
 
void update (SPCtx *ctx, unsigned int flags) override
 
void modified (unsigned int flags) override
 
bool set_rect_path_attribute (Inkscape::XML::Node *repr)
 
Inkscape::XML::Nodewrite (Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) 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.
 
void update_patheffect (bool write) override
 
void set_shape () override
 
Geom::Affine set_transform (Geom::Affine const &xform) override
 
void snappoints (std::vector< Inkscape::SnapCandidatePoint > &p, Inkscape::SnapPreferences const *snapprefs) const override
 
void convert_to_guides () const override
 
- Public Member Functions inherited from SPShape
 SPShape ()
 
 ~SPShape () override
 
int tag () const override
 
SPCurve const * curve () const
 Return a borrowed pointer to the curve (if any exists) or NULL if there is no curve.
 
SPCurve const * curveBeforeLPE () const
 Return a borrowed pointer of the curve before LPE (if any exists) or NULL if there is no curve.
 
SPCurve const * curveForEdit () const
 Return a borrowed pointer of the curve for edit.
 
void setCurve (SPCurve const *)
 
void setCurve (SPCurve)
 Adds a curve to the shape.
 
void setCurveInsync (SPCurve const *)
 
void setCurveInsync (SPCurve)
 Same as setCurve() but without updating the display.
 
void setCurveBeforeLPE (SPCurve const *)
 
void setCurveBeforeLPE (SPCurve)
 Sets _curve_before_lpe to a copy of new_curve
 
bool checkBrokenPathEffect ()
 
bool prepareShapeForLPE (SPCurve const *c)
 
int hasMarkers () const
 
int numberOfMarkers (int type) const
 
void build (SPDocument *document, Inkscape::XML::Node *repr) override
 
void release () override
 Removes, releases and unrefs all children of object.
 
void update (SPCtx *ctx, unsigned int flags) override
 
void modified (unsigned int flags) override
 
void set (SPAttr key, char const *value) override
 
Inkscape::XML::Nodewrite (Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags) override
 
Geom::OptRect bbox (Geom::Affine const &transform, SPItem::BBoxType bboxtype) const override
 
Geom::OptRect either_bbox (Geom::Affine const &transform, SPItem::BBoxType bboxtype, bool cache_is_valid, Geom::OptRect bbox_cache, Geom::Affine const &transform_cache) const
 
void print (SPPrintContext *ctx) override
 
std::optional< Geom::PathVectordocumentExactBounds () const override
 Get an exact geometric shape representing the visual bounds of the item in the document coordinates.
 
Inkscape::DrawingItemshow (Inkscape::Drawing &drawing, unsigned int key, unsigned int flags) override
 
void hide (unsigned int key) override
 Sets style, path, and paintbox.
 
void snappoints (std::vector< Inkscape::SnapCandidatePoint > &p, Inkscape::SnapPreferences const *snapprefs) const override
 
void update_patheffect (bool write) override
 
void set_marker (unsigned key, char const *value)
 Adds a new marker to shape object at the location indicated by key.
 
std::vector< std::tuple< SPMarkerLoc, SPMarker *, Geom::Affine > > get_markers () const
 Lists every marker on this shape along with its transform and marker type.
 
- Public Member Functions inherited from SPLPEItem
 SPLPEItem ()
 
 ~SPLPEItem () override
 
void replacePathEffects (std::vector< LivePathEffectObject const * > const &old_lpeobjs, std::vector< LivePathEffectObject const * > const &new_lpeobjs)
 Writes a new "inkscape:path-effect" string to xml, where the old_lpeobjects are substituted by the new ones.
 
void child_added (Inkscape::XML::Node *child, Inkscape::XML::Node *ref) override
 
void remove_child (Inkscape::XML::Node *child) override
 
bool optimizeTransforms ()
 returns false when LPE write unoptimiced
 
void notifyTransform (Geom::Affine const &postmul)
 notify tranbsform applied to a LPE
 
bool performPathEffect (SPCurve *curve, SPShape *current, bool is_clip_or_mask=false)
 returns true when LPE was successful.
 
bool performOnePathEffect (SPCurve *curve, SPShape *current, Inkscape::LivePathEffect::Effect *lpe, bool is_clip_or_mask=false)
 returns true when LPE was successful.
 
bool pathEffectsEnabled () const
 
bool hasPathEffect () const
 
bool hasPathEffectOfType (int const type, bool is_ready=true) const
 
bool hasPathEffectOfTypeRecursive (int const type, bool is_ready=true) const
 
bool hasPathEffectRecursive () const
 
SPLPEItem const * getTopPathEffect () const
 returns top most LPE item with LPE
 
bool hasPathEffectOnClipOrMask (SPLPEItem *shape) const
 returns true when any LPE apply to clip or mask.
 
bool hasPathEffectOnClipOrMaskRecursive (SPLPEItem *shape) const
 returns true when any LPE apply to clip or mask.
 
std::size_t getLPEIndex (Inkscape::LivePathEffect::Effect *lpe) const
 
std::size_t countLPEOfType (int const type, bool inc_hidden=true, bool is_ready=true) const
 
std::size_t getLPEReferenceIndex (PathEffectSharedPtr const &lperef) const
 
Inkscape::LivePathEffect::EffectgetFirstPathEffectOfType (int type)
 
Inkscape::LivePathEffect::Effect const * getFirstPathEffectOfType (int type) const
 
std::vector< Inkscape::LivePathEffect::Effect * > getPathEffectsOfType (int type)
 
std::vector< Inkscape::LivePathEffect::Effect const * > getPathEffectsOfType (int type) const
 
std::vector< Inkscape::LivePathEffect::Effect * > getPathEffects ()
 
std::vector< Inkscape::LivePathEffect::Effect const * > getPathEffects () const
 
std::vector< SPObject * > get_satellites (bool force=true, bool recursive=false, bool onchilds=false)
 
bool isOnClipboard ()
 The lpeitem is on clipboard.
 
bool isOnSymbol () const
 
bool hasBrokenPathEffect () const
 used for shapes so they can see if they should also disable shape calculation and read from d=
 
PathEffectList getEffectList ()
 
PathEffectList const getEffectList () const
 
void duplicateCurrentPathEffect ()
 
void downCurrentPathEffect ()
 
void upCurrentPathEffect ()
 
void removePathEffect (Inkscape::LivePathEffect::Effect *lpe, bool keep_paths)
 
void movePathEffect (gint origin, gint dest, bool select_moved=false)
 
SPLPEItemflattenCurrentPathEffect ()
 
PathEffectSharedPtr getCurrentLPEReference ()
 
Inkscape::LivePathEffect::EffectgetCurrentLPE ()
 
PathEffectSharedPtr getPrevLPEReference (PathEffectSharedPtr const &lperef)
 
Inkscape::LivePathEffect::EffectgetPrevLPE (Inkscape::LivePathEffect::Effect *lpe)
 
PathEffectSharedPtr getNextLPEReference (PathEffectSharedPtr const &lperef)
 
Inkscape::LivePathEffect::EffectgetNextLPE (Inkscape::LivePathEffect::Effect *lpe)
 
PathEffectSharedPtr getLastLPEReference ()
 
Inkscape::LivePathEffect::EffectgetLastLPE ()
 
bool setCurrentPathEffect (PathEffectSharedPtr const &lperef)
 
bool setCurrentPathEffect (LivePathEffectObject const *lpeobj)
 
SPLPEItemremoveCurrentPathEffect (bool keep_paths)
 If keep_path is true, the item should not be updated, effectively 'flattening' the LPE.
 
SPLPEItemremoveAllPathEffects (bool keep_paths, bool recursive=false)
 If keep_path is true, the item should not be updated, effectively 'flattening' the LPE.
 
void addPathEffect (std::string value, bool reset)
 
void addPathEffect (LivePathEffectObject *new_lpeobj)
 
void resetClipPathAndMaskLPE (bool fromrecurse=false)
 
void applyToMask (SPItem *to, Inkscape::LivePathEffect::Effect *lpe=nullptr)
 
void applyToClipPath (SPItem *to, Inkscape::LivePathEffect::Effect *lpe=nullptr)
 
void applyToClipPathOrMask (SPItem *clip_mask, SPItem *to, Inkscape::LivePathEffect::Effect *lpe=nullptr)
 
bool forkPathEffectsIfNecessary (unsigned int nr_of_allowed_users=1, bool recursive=true, bool force=false)
 Check all effects in the stack if they are used by other items, and fork them if so.
 
void editNextParamOncanvas (SPDesktop *dt)
 
void update_satellites (bool recursive=true)
 
- Public Member Functions inherited from SPItem
 SPItem ()
 
 ~SPItem () 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
 
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)
 
virtual char * description () const
 
virtual void removeTransformsRecursively (SPObject const *root)
 
- 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 Attributes

GenericRectType type
 
SVGLength x
 
SVGLength y
 
SVGLength width
 
SVGLength height
 
SVGLength rx
 
SVGLength ry
 
- Public Attributes inherited from SPShape
bool bbox_geom_cache_is_valid = false
 
bool bbox_vis_cache_is_valid = false
 
Geom::Affine bbox_geom_cache_transform
 
Geom::Affine bbox_vis_cache_transform
 
Geom::OptRect bbox_geom_cache
 
Geom::OptRect bbox_vis_cache
 
SPMarker_marker [SP_MARKER_LOC_QTY]
 
sigc::connection _release_connect [SP_MARKER_LOC_QTY]
 
sigc::connection _modified_connect [SP_MARKER_LOC_QTY]
 
- Public Attributes inherited from SPLPEItem
int path_effects_enabled
 
PathEffectListpath_effect_list
 
PathEffectSharedPtr current_path_effect
 
std::vector< Inkscape::Display::TemporaryItem * > lpe_helperpaths
 
bool onsymbol = false
 
bool lpe_initialized = false
 
- 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
 

Static Private Member Functions

static double vectorStretch (Geom::Point p0, Geom::Point p1, Geom::Affine xform)
 Returns the ratio in which the vector from p0 to p1 is stretched by transform.
 

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 order_changed (Inkscape::XML::Node *child, Inkscape::XML::Node *old_repr, Inkscape::XML::Node *new_repr)
 
- Protected Attributes inherited from SPShape
std::optional< SPCurve_curve_before_lpe
 
std::shared_ptr< SPCurve const > _curve
 
- Protected Attributes inherited from SPObject
ListHook _child_hook
 

Detailed Description

Definition at line 29 of file sp-rect.h.

Constructor & Destructor Documentation

◆ SPRect()

SPRect::SPRect ( )

Definition at line 34 of file sp-rect.cpp.

◆ ~SPRect()

SPRect::~SPRect ( )
overridedefault

Member Function Documentation

◆ build()

void SPRect::build ( SPDocument doc,
Inkscape::XML::Node repr 
)
overridevirtual

Reimplemented from SPLPEItem.

Definition at line 56 of file sp-rect.cpp.

References SPShape::build(), HEIGHT, SPObject::objectTrace(), SPObject::readAttr(), SPObject::repr, RX, RY, WIDTH, X, and Y.

◆ compensateRxRy()

void SPRect::compensateRxRy ( Geom::Affine  xform)

Definition at line 515 of file sp-rect.cpp.

References SVGLength::_set, c, SVGLength::computed, MAX, rx, ry, SPItem::transform, vectorStretch(), and x.

◆ convert_to_guides()

void SPRect::convert_to_guides ( ) const
overridevirtual

◆ displayName()

const char * SPRect::displayName ( ) const
overridevirtual

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

Translated string for UI display.

Reimplemented from SPItem.

Definition at line 245 of file sp-rect.cpp.

References x.

◆ getRect()

Geom::Rect SPRect::getRect ( ) const

Definition at line 508 of file sp-rect.cpp.

References SVGLength::computed, and x.

◆ getVisibleHeight()

gdouble SPRect::getVisibleHeight ( ) const

Definition at line 579 of file sp-rect.cpp.

References SVGLength::_set, SVGLength::computed, height, vectorStretch(), and x.

◆ getVisibleRx()

gdouble SPRect::getVisibleRx ( ) const

Definition at line 486 of file sp-rect.cpp.

References SVGLength::_set, SVGLength::computed, rx, vectorStretch(), and x.

◆ getVisibleRy()

gdouble SPRect::getVisibleRy ( ) const

Definition at line 497 of file sp-rect.cpp.

References SVGLength::_set, SVGLength::computed, ry, vectorStretch(), and x.

◆ getVisibleWidth()

gdouble SPRect::getVisibleWidth ( ) const

Definition at line 568 of file sp-rect.cpp.

References SVGLength::_set, SVGLength::computed, vectorStretch(), width, and x.

◆ modified()

void SPRect::modified ( unsigned int  flags)
overridevirtual

Reimplemented from SPLPEItem.

Definition at line 341 of file sp-rect.cpp.

References SPShape::modified(), set_shape(), and x.

◆ set()

◆ set_rect_path_attribute()

bool SPRect::set_rect_path_attribute ( Inkscape::XML::Node repr)

◆ set_shape()

◆ set_transform()

◆ setPosition()

void SPRect::setPosition ( double  x,
double  y,
double  width,
double  height 
)

Definition at line 352 of file sp-rect.cpp.

References height, SPObject::requestDisplayUpdate(), width, x, and y.

Referenced by Inkscape::UI::Tools::RectTool::drag().

◆ setRx()

void SPRect::setRx ( bool  set,
double  value 
)

Definition at line 361 of file sp-rect.cpp.

References SVGLength::_set, SPObject::requestDisplayUpdate(), rx, set, and x.

Referenced by Inkscape::UI::Tools::RectTool::drag().

◆ setRy()

void SPRect::setRy ( bool  set,
double  value 
)

Definition at line 371 of file sp-rect.cpp.

References SVGLength::_set, SPObject::requestDisplayUpdate(), ry, set, and x.

Referenced by Inkscape::UI::Tools::RectTool::drag().

◆ setVisibleHeight()

void SPRect::setVisibleHeight ( double  ry)

Definition at line 559 of file sp-rect.cpp.

References SVGLength::computed, height, SPObject::updateRepr(), vectorStretch(), and x.

◆ setVisibleRx()

void SPRect::setVisibleRx ( double  rx)

◆ setVisibleRy()

void SPRect::setVisibleRy ( double  ry)

Definition at line 473 of file sp-rect.cpp.

References SVGLength::computed, ry, SPObject::updateRepr(), vectorStretch(), and x.

◆ setVisibleWidth()

void SPRect::setVisibleWidth ( double  rx)

Definition at line 550 of file sp-rect.cpp.

References SVGLength::computed, SPObject::updateRepr(), vectorStretch(), width, and x.

◆ snappoints()

◆ tag()

int SPRect::tag ( ) const
inlineoverridevirtual

Reimplemented from SPLPEItem.

Definition at line 33 of file sp-rect.h.

References tag_of.

◆ tag_name_changed()

void SPRect::tag_name_changed ( gchar const oldname,
gchar const newname 
)
overridevirtual

Reimplemented from SPObject.

Definition at line 46 of file sp-rect.cpp.

References SP_GENERIC_PATH, SP_GENERIC_RECT, type, and x.

◆ typeName()

const char * SPRect::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 241 of file sp-rect.cpp.

◆ update()

void SPRect::update ( SPCtx ctx,
unsigned int  flags 
)
overridevirtual

◆ update_patheffect()

void SPRect::update_patheffect ( bool  write)
overridevirtual

◆ vectorStretch()

gdouble SPRect::vectorStretch ( Geom::Point  p0,
Geom::Point  p1,
Geom::Affine  xform 
)
staticprivate

Returns the ratio in which the vector from p0 to p1 is stretched by transform.

Definition at line 452 of file sp-rect.cpp.

References Geom::distance().

Referenced by compensateRxRy(), getVisibleHeight(), getVisibleRx(), getVisibleRy(), getVisibleWidth(), setVisibleHeight(), setVisibleRx(), setVisibleRy(), and setVisibleWidth().

◆ write()

Member Data Documentation

◆ height

◆ rx

◆ ry

◆ type

GenericRectType SPRect::type

Definition at line 75 of file sp-rect.h.

Referenced by tag_name_changed(), update_patheffect(), and write().

◆ width

◆ x

◆ y

SVGLength SPRect::y

Definition at line 77 of file sp-rect.h.

Referenced by set(), set_shape(), set_transform(), setPosition(), update(), and write().


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