sp-item.h revision 9275d1d75811bbc0b1810bdc7b5ee6675292d9fd
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * Some things pertinent to all visible shapes: SPItem, SPItemView, SPItemCtx, SPItemClass, SPEvent.
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * Lauris Kaplinski <lauris@kaplinski.com>
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * bulia byak <buliabyak@users.sf.net>
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * Johan Engelen <j.b.c.engelen@ewi.utwente.nl>
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * Abhishek Sharma
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * Copyright (C) 1999-2006 authors
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * Copyright (C) 2001-2002 Ximian, Inc.
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * Copyright (C) 2004 Monash University
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * Released under GNU GPL, read the file 'COPYING' for more information
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen//class SPGuideConstraint;
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlentypedef unsigned int guint32;
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen// TODO make a completely new function that transforms either the fill or
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen// stroke of any SPItem without adding an extra parameter to adjust_pattern.
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * Event structure.
unsigned int type;
void* data;
unsigned int flags;
unsigned int key;
enum BBoxType {
// legacy behavior: includes crude stroke, markers; excludes long miters, blur margin; is known to be wrong for caps
// includes everything: correctly done stroke (with proper miters and caps), markers, filter margins (e.g. blur)
SPItem();
double transform_center_x;
double transform_center_y;
bool freeze_stroke_width;
bool isLocked() const;
bool isHidden() const;
bool isSensitive() const {
return sensitive;
bool isHighlightSet() const;
void unsetHighlightColor();
bool isEvaluated() const;
void resetEvaluated();
bool isExplicitlyHidden() const;
void unsetCenter();
bool isCenterSet() const;
bool isVisibleAndUnlocked() const;
void raiseOne();
void lowerOne();
void raiseToTop();
void lowerToBottom();
unsigned int pos_in_parent() const;
char *detailedDescription() const;
bool isFiltered() const;
Inkscape::DrawingItem *invoke_show(Inkscape::Drawing &drawing, unsigned int key, unsigned int flags);
void getSnappoints(std::vector<Inkscape::SnapCandidatePoint> &p, Inkscape::SnapPreferences const *snapprefs=0) const;
void adjust_pattern(/* Geom::Affine const &premul, */ Geom::Affine const &postmul, bool set = false, PatternTransform = TRANSFORM_BOTH);
void adjust_gradient(/* Geom::Affine const &premul, */ Geom::Affine const &postmul, bool set = false);
void adjust_paint_recursive(Geom::Affine advertized_transform, Geom::Affine t_ancestors, bool is_pattern);
void doWriteTransform(Inkscape::XML::Node *repr, Geom::Affine const &transform, Geom::Affine const *adv = NULL, bool compensate = true);
* Returns the accumulated transformation of the item and all its ancestors, including root's viewport.
char *_highlightColor;
enum EvaluatedStatus
static SPItemView *sp_item_view_new_prepend(SPItemView *list, SPItem *item, unsigned flags, unsigned key, Inkscape::DrawingItem *arenaitem);
virtual Inkscape::XML::Node* write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags);
virtual Inkscape::DrawingItem* show(Inkscape::Drawing &drawing, unsigned int key, unsigned int flags);
virtual void snappoints(std::vector<Inkscape::SnapCandidatePoint> &p, Inkscape::SnapPreferences const *snapprefs) const;