diff options
| author | Markus Engel <markus.engel@tum.de> | 2012-08-17 23:36:49 +0000 |
|---|---|---|
| committer | Markus Engel <markus.engel@tum.de> | 2012-08-17 23:36:49 +0000 |
| commit | 07eac1237fe242e6680bd0d76552771ff852fef7 (patch) | |
| tree | 5eff84cc7b8a7f85cdf6d55b0ded6f32c6a50c83 /src/sp-item.h | |
| parent | Added "virtual pad" to SPObject. (diff) | |
| download | inkscape-07eac1237fe242e6680bd0d76552771ff852fef7.tar.gz inkscape-07eac1237fe242e6680bd0d76552771ff852fef7.zip | |
Added "virtual pad" to SPItem.
(bzr r11608.1.2)
Diffstat (limited to 'src/sp-item.h')
| -rw-r--r-- | src/sp-item.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/sp-item.h b/src/sp-item.h index 2c7bd5a5d..69300e093 100644 --- a/src/sp-item.h +++ b/src/sp-item.h @@ -100,6 +100,7 @@ public: class SPItem; class SPItemClass; +class CItem; #define SP_TYPE_ITEM (SPItem::getType ()) #define SP_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_ITEM, SPItem)) @@ -120,6 +121,8 @@ public: VISUAL_BBOX }; + CItem* citem; + unsigned int sensitive : 1; unsigned int stop_paint: 1; mutable unsigned bbox_valid : 1; @@ -244,6 +247,7 @@ private: static void mask_ref_changed(SPObject *old_clip, SPObject *clip, SPItem *item); friend class SPItemClass; + friend class CItem; }; /// The SPItem vtable. @@ -283,8 +287,36 @@ public: static void sp_item_class_init(SPItemClass *klass); friend class SPItem; + friend class CItem; +}; + + +class CItem : public CObject { +public: + CItem(SPItem* item); + virtual ~CItem(); + + virtual void onBuild(SPDocument *document, Inkscape::XML::Node *repr); + virtual void onRelease(); + virtual void onSet(unsigned int key, gchar const* value); + virtual void onUpdate(SPCtx *ctx, guint flags); + virtual Inkscape::XML::Node* onWrite(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags); + + virtual Geom::OptRect onBbox(Geom::Affine const &transform, SPItem::BBoxType type); + virtual void onPrint(SPPrintContext *ctx); + virtual gchar* onDescription(); + virtual Inkscape::DrawingItem* onShow(Inkscape::Drawing &drawing, unsigned int key, unsigned int flags); + virtual void onHide(unsigned int key); + virtual void onSnappoints(std::vector<Inkscape::SnapCandidatePoint> &p, Inkscape::SnapPreferences const *snapprefs); + virtual Geom::Affine onSetTransform(Geom::Affine const &transform); + virtual void onConvertToGuides(); + virtual gint onEvent(SPEvent *event); + +protected: + SPItem* spitem; }; + // Utility Geom::Affine i2anc_affine(SPObject const *item, SPObject const *ancestor); |
