summaryrefslogtreecommitdiffstats
path: root/src/sp-gradient.cpp
diff options
context:
space:
mode:
authorMarkus Engel <markus.engel@tum.de>2013-04-02 17:14:36 +0000
committerMarkus Engel <markus.engel@tum.de>2013-04-02 17:14:36 +0000
commitd1af3566872dfff2aeec84859c87f1f8d13f79df (patch)
treef52de634baaf9cce333012b29437979881c7ac22 /src/sp-gradient.cpp
parentAdded new factory for SPObject tree objects. (diff)
downloadinkscape-d1af3566872dfff2aeec84859c87f1f8d13f79df.tar.gz
inkscape-d1af3566872dfff2aeec84859c87f1f8d13f79df.zip
Registered classes with new factory. Hkern, Vkern and FeFuncX have to be rewritten, as they aren't real classes.
(bzr r11608.1.69)
Diffstat (limited to 'src/sp-gradient.cpp')
-rw-r--r--src/sp-gradient.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/sp-gradient.cpp b/src/sp-gradient.cpp
index 1a1b1b1e6..70e90f33c 100644
--- a/src/sp-gradient.cpp
+++ b/src/sp-gradient.cpp
@@ -60,6 +60,42 @@
/// Has to be power of 2 Seems to be unused.
//#define NCOLORS NR_GRADIENT_VECTOR_LENGTH
+#include "sp-factory.h"
+
+namespace {
+ SPObject* createStop() {
+ return new SPStop();
+ }
+
+ SPObject* createMeshRow() {
+ return new SPMeshRow();
+ }
+
+ SPObject* createMeshPatch() {
+ return new SPMeshPatch();
+ }
+
+ SPObject* createLinearGradient() {
+ return new SPLinearGradient();
+ }
+
+ SPObject* createRadialGradient() {
+ return new SPRadialGradient();
+ }
+
+ SPObject* createMeshGradient() {
+ return new SPMeshGradient();
+ }
+
+ bool stopRegistered = SPFactory::instance().registerObject("svg:stop", createStop);
+ bool meshRowRegistered = SPFactory::instance().registerObject("svg:meshRow", createMeshRow);
+ bool meshPatchRegistered = SPFactory::instance().registerObject("svg:meshPatch", createMeshPatch);
+ bool linearGradientRegistered = SPFactory::instance().registerObject("svg:linearGradient", createLinearGradient);
+ bool radialGradientRegistered = SPFactory::instance().registerObject("svg:radialGradient", createRadialGradient);
+ bool meshGradientRegistered = SPFactory::instance().registerObject("svg:meshGradient", createMeshGradient);
+}
+
+
// SPStop
G_DEFINE_TYPE(SPStop, sp_stop, G_TYPE_OBJECT);