From 62fbbefccbe10ec11e727735e6bfe890003b0af2 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Tue, 21 Aug 2012 02:54:06 +0200 Subject: Added "virtual pad" to - SPPaintServer - SPPattern - SPGradient - SPStop - SPLinearGradient - SPMeshGradient - SPMeshPatch - SPMeshRow - SPRadialGradient As all subclasses of SPPaintServer now have "virtual pads" with correct inheritance, the virtual function call to "onCreatePattern" was converted to C++ style. (bzr r11608.1.35) --- src/sp-mesh-patch.h | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/sp-mesh-patch.h') diff --git a/src/sp-mesh-patch.h b/src/sp-mesh-patch.h index b56a0b95f..2f5022234 100644 --- a/src/sp-mesh-patch.h +++ b/src/sp-mesh-patch.h @@ -30,8 +30,12 @@ struct SPMeshPatchClass; GType sp_meshpatch_get_type(); +class CMeshPatch; + /** Gradient MeshPatch. */ -struct SPMeshPatch : public SPObject { +class SPMeshPatch : public SPObject { +public: + CMeshPatch* cmeshpatch; SPMeshPatch* getNextMeshPatch(); SPMeshPatch* getPrevMeshPatch(); @@ -45,6 +49,21 @@ struct SPMeshPatchClass { SPObjectClass parent_class; }; + +class CMeshPatch : public CObject { +public: + CMeshPatch(SPMeshPatch* meshpatch); + virtual ~CMeshPatch(); + + virtual void onBuild(SPDocument* doc, Inkscape::XML::Node* repr); + virtual void onSet(unsigned int key, const gchar* value); + virtual Inkscape::XML::Node* onWrite(Inkscape::XML::Document* doc, Inkscape::XML::Node* repr, guint flags); + +protected: + SPMeshPatch* spmeshpatch; +}; + + #endif /* !SEEN_SP_MESHPATCH_H */ /* -- cgit v1.2.3 From 7df6616da5ea2debb86838366ddf746841549cdb Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 30 Mar 2013 00:56:13 +0100 Subject: Renamed virtual function names. (bzr r11608.1.57) --- src/sp-mesh-patch.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/sp-mesh-patch.h') diff --git a/src/sp-mesh-patch.h b/src/sp-mesh-patch.h index 2f5022234..58655d65a 100644 --- a/src/sp-mesh-patch.h +++ b/src/sp-mesh-patch.h @@ -55,9 +55,9 @@ public: CMeshPatch(SPMeshPatch* meshpatch); virtual ~CMeshPatch(); - virtual void onBuild(SPDocument* doc, Inkscape::XML::Node* repr); - virtual void onSet(unsigned int key, const gchar* value); - virtual Inkscape::XML::Node* onWrite(Inkscape::XML::Document* doc, Inkscape::XML::Node* repr, guint flags); + virtual void build(SPDocument* doc, Inkscape::XML::Node* repr); + virtual void set(unsigned int key, const gchar* value); + virtual Inkscape::XML::Node* write(Inkscape::XML::Document* doc, Inkscape::XML::Node* repr, guint flags); protected: SPMeshPatch* spmeshpatch; -- cgit v1.2.3 From 25078fc60b120e877a7b79bc6f08fe2a0f45c3d7 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Mon, 1 Apr 2013 02:14:53 +0200 Subject: Replaced all casting macros with glib-independent ones. (bzr r11608.1.64) --- src/sp-mesh-patch.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/sp-mesh-patch.h') diff --git a/src/sp-mesh-patch.h b/src/sp-mesh-patch.h index 58655d65a..7ff7eeb47 100644 --- a/src/sp-mesh-patch.h +++ b/src/sp-mesh-patch.h @@ -23,10 +23,8 @@ struct SPMeshPatch; struct SPMeshPatchClass; #define SP_TYPE_MESHPATCH (sp_meshpatch_get_type()) -#define SP_MESHPATCH(o) (G_TYPE_CHECK_INSTANCE_CAST((o), SP_TYPE_MESHPATCH, SPMeshPatch)) -#define SP_MESHPATCH_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), SP_TYPE_MESHPATCH, SPMeshPatchClass)) -#define SP_IS_MESHPATCH(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), SP_TYPE_MESHPATCH)) -#define SP_IS_MESHPATCH_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), SP_TYPE_MESHPATCH)) +#define SP_MESHPATCH(obj) ((SPMeshPatch*)obj) +#define SP_IS_MESHPATCH(obj) (obj != NULL && static_cast(obj)->typeHierarchy.count(typeid(SPMeshPatch))) GType sp_meshpatch_get_type(); -- cgit v1.2.3 From 69f3b6f1abb2bb422935d43262e1e99aab359954 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Tue, 2 Apr 2013 01:41:30 +0200 Subject: Added constructors to SP classes. (bzr r11608.1.67) --- src/sp-mesh-patch.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/sp-mesh-patch.h') diff --git a/src/sp-mesh-patch.h b/src/sp-mesh-patch.h index 7ff7eeb47..37abbaf40 100644 --- a/src/sp-mesh-patch.h +++ b/src/sp-mesh-patch.h @@ -33,6 +33,7 @@ class CMeshPatch; /** Gradient MeshPatch. */ class SPMeshPatch : public SPObject { public: + SPMeshPatch(); CMeshPatch* cmeshpatch; SPMeshPatch* getNextMeshPatch(); -- cgit v1.2.3 From b0cc47554b385fb68643d07efe6e42366c7121ad Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 6 Apr 2013 01:36:16 +0200 Subject: Merged PaintServer and subclasses; moved Gradient classes to own files. (bzr r11608.1.82) --- src/sp-mesh-patch.h | 30 +++--------------------------- 1 file changed, 3 insertions(+), 27 deletions(-) (limited to 'src/sp-mesh-patch.h') diff --git a/src/sp-mesh-patch.h b/src/sp-mesh-patch.h index 37abbaf40..4f2b4a566 100644 --- a/src/sp-mesh-patch.h +++ b/src/sp-mesh-patch.h @@ -19,50 +19,26 @@ class SPObjectClass; -struct SPMeshPatch; -struct SPMeshPatchClass; - -#define SP_TYPE_MESHPATCH (sp_meshpatch_get_type()) #define SP_MESHPATCH(obj) ((SPMeshPatch*)obj) -#define SP_IS_MESHPATCH(obj) (obj != NULL && static_cast(obj)->typeHierarchy.count(typeid(SPMeshPatch))) - -GType sp_meshpatch_get_type(); - -class CMeshPatch; +#define SP_IS_MESHPATCH(obj) (dynamic_cast((SPObject*)obj)) /** Gradient MeshPatch. */ -class SPMeshPatch : public SPObject { +class SPMeshPatch : public SPObject, public CObject { public: SPMeshPatch(); - CMeshPatch* cmeshpatch; + virtual ~SPMeshPatch(); SPMeshPatch* getNextMeshPatch(); SPMeshPatch* getPrevMeshPatch(); Glib::ustring * tensor_string; //SVGLength tx[4]; // Tensor points //SVGLength ty[4]; // Tensor points -}; - -/// The SPMeshPatch vtable. -struct SPMeshPatchClass { - SPObjectClass parent_class; -}; - - -class CMeshPatch : public CObject { -public: - CMeshPatch(SPMeshPatch* meshpatch); - virtual ~CMeshPatch(); virtual void build(SPDocument* doc, Inkscape::XML::Node* repr); virtual void set(unsigned int key, const gchar* value); virtual Inkscape::XML::Node* write(Inkscape::XML::Document* doc, Inkscape::XML::Node* repr, guint flags); - -protected: - SPMeshPatch* spmeshpatch; }; - #endif /* !SEEN_SP_MESHPATCH_H */ /* -- cgit v1.2.3 From 27e2102f96a5554bcd5310ec11435d155773b279 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sun, 7 Apr 2013 18:28:22 +0200 Subject: Merge Object and subclasses. Merging of SP- and C-classes complete. (bzr r11608.1.86) --- src/sp-mesh-patch.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/sp-mesh-patch.h') diff --git a/src/sp-mesh-patch.h b/src/sp-mesh-patch.h index 4f2b4a566..1b8d58df1 100644 --- a/src/sp-mesh-patch.h +++ b/src/sp-mesh-patch.h @@ -17,13 +17,11 @@ //#include "svg/svg-length.h" #include "sp-object.h" -class SPObjectClass; - #define SP_MESHPATCH(obj) ((SPMeshPatch*)obj) #define SP_IS_MESHPATCH(obj) (dynamic_cast((SPObject*)obj)) /** Gradient MeshPatch. */ -class SPMeshPatch : public SPObject, public CObject { +class SPMeshPatch : public SPObject { public: SPMeshPatch(); virtual ~SPMeshPatch(); -- cgit v1.2.3 From bf4a1d2d49850170b936c30cfe2b30e798716406 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 3 Aug 2013 03:03:43 +0200 Subject: Cleaned up. (bzr r11608.1.117) --- src/sp-mesh-patch.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/sp-mesh-patch.h') diff --git a/src/sp-mesh-patch.h b/src/sp-mesh-patch.h index 1b8d58df1..34bbb00d8 100644 --- a/src/sp-mesh-patch.h +++ b/src/sp-mesh-patch.h @@ -32,6 +32,7 @@ public: //SVGLength tx[4]; // Tensor points //SVGLength ty[4]; // Tensor points +protected: virtual void build(SPDocument* doc, Inkscape::XML::Node* repr); virtual void set(unsigned int key, const gchar* value); virtual Inkscape::XML::Node* write(Inkscape::XML::Document* doc, Inkscape::XML::Node* repr, guint flags); -- cgit v1.2.3 From bb4246887ab6a0833cc4d2263b31f951ce314061 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 14 Sep 2013 22:43:15 +0200 Subject: Modified SP_IS_ macros. (bzr r11608.1.122) --- src/sp-mesh-patch.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/sp-mesh-patch.h') diff --git a/src/sp-mesh-patch.h b/src/sp-mesh-patch.h index 34bbb00d8..fe9f2d071 100644 --- a/src/sp-mesh-patch.h +++ b/src/sp-mesh-patch.h @@ -18,7 +18,7 @@ #include "sp-object.h" #define SP_MESHPATCH(obj) ((SPMeshPatch*)obj) -#define SP_IS_MESHPATCH(obj) (dynamic_cast((SPObject*)obj)) +#define SP_IS_MESHPATCH(obj) (dynamic_cast((SPObject*)obj) != NULL) /** Gradient MeshPatch. */ class SPMeshPatch : public SPObject { -- cgit v1.2.3 From 5cf6efefbfd06d723973b6517b442f0ee64416b7 Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sun, 15 Sep 2013 02:43:49 +0200 Subject: Added runtime check in SP_-cast macros. (bzr r11608.1.123) --- src/sp-mesh-patch.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/sp-mesh-patch.h') diff --git a/src/sp-mesh-patch.h b/src/sp-mesh-patch.h index fe9f2d071..ddade6503 100644 --- a/src/sp-mesh-patch.h +++ b/src/sp-mesh-patch.h @@ -17,7 +17,7 @@ //#include "svg/svg-length.h" #include "sp-object.h" -#define SP_MESHPATCH(obj) ((SPMeshPatch*)obj) +#define SP_MESHPATCH(obj) (dynamic_cast((SPObject*)obj)) #define SP_IS_MESHPATCH(obj) (dynamic_cast((SPObject*)obj) != NULL) /** Gradient MeshPatch. */ -- cgit v1.2.3