summaryrefslogtreecommitdiffstats
path: root/src/sp-use.h
diff options
context:
space:
mode:
authorMarkus Engel <markus.engel@tum.de>2013-09-24 21:32:23 +0000
committerMarkus Engel <markus.engel@tum.de>2013-09-24 21:32:23 +0000
commit2f017d2ef4974eba04515b9a155656ce9f2f7822 (patch)
tree33aac031c85048c2129e191e45c7667773f34c68 /src/sp-use.h
parentRefactored SPGenericEllipse::set_shape (diff)
downloadinkscape-2f017d2ef4974eba04515b9a155656ce9f2f7822.tar.gz
inkscape-2f017d2ef4974eba04515b9a155656ce9f2f7822.zip
Refactored SPUse.
(bzr r11608.1.128)
Diffstat (limited to 'src/sp-use.h')
-rw-r--r--src/sp-use.h32
1 files changed, 25 insertions, 7 deletions
diff --git a/src/sp-use.h b/src/sp-use.h
index 37ff2cf66..6a83c384f 100644
--- a/src/sp-use.h
+++ b/src/sp-use.h
@@ -30,7 +30,7 @@ public:
// item built from the original's repr (the visible clone)
// relative to the SPUse itself, it is treated as a child, similar to a grouped item relative to its group
- SPObject *child;
+ SPItem *child;
// SVG attrs
SVGLength x;
@@ -57,17 +57,35 @@ public:
virtual void modified(unsigned int flags);
virtual Geom::OptRect bbox(Geom::Affine const &transform, SPItem::BBoxType bboxtype);
+ virtual const char* displayName();
virtual gchar* description();
virtual void print(SPPrintContext *ctx);
virtual Inkscape::DrawingItem* show(Inkscape::Drawing &drawing, unsigned int key, unsigned int flags);
virtual void hide(unsigned int key);
virtual void snappoints(std::vector<Inkscape::SnapCandidatePoint> &p, Inkscape::SnapPreferences const *snapprefs);
-};
-SPItem *sp_use_unlink (SPUse *use);
-SPItem *sp_use_get_original (SPUse *use);
-Geom::Affine sp_use_get_parent_transform (SPUse *use);
-Geom::Affine sp_use_get_root_transform(SPUse *use);
+ SPItem *root();
+
+ SPItem *unlink();
+ SPItem *get_original();
+ Geom::Affine get_parent_transform();
+ Geom::Affine get_root_transform();
+
+private:
+ void href_changed();
+ void move_compensate(Geom::Affine const *mp);
+ void delete_self();
+};
-SPItem *sp_use_root(SPUse *use);
#endif
+
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :