Code

Super duper mega (fun!) commit: replaced encoding=utf-8 with fileencoding=utf-8 in...
[inkscape.git] / src / live_effects / lpeobject.h
index f141f07ca8cc87a333f8715738ce7fcceb7c739b..3ea1ea9ad24f73ed056cf08406a36ec369442ae5 100644 (file)
  */
  
 #include "sp-object.h"
-#include "effect.h"
+#include "effect-enum.h"
 
-#define TYPE_LIVEPATHEFFECT  (livepatheffect_get_type())
+namespace Inkscape {
+    namespace XML {
+        class Node;
+        class Document;
+    }
+    namespace LivePathEffect {
+        class Effect;
+    }
+}
+
+#define TYPE_LIVEPATHEFFECT  (LivePathEffectObject::livepatheffect_get_type())
 #define LIVEPATHEFFECT(o)    (G_TYPE_CHECK_INSTANCE_CAST((o), TYPE_LIVEPATHEFFECT, LivePathEffectObject))
 #define IS_LIVEPATHEFFECT(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), TYPE_LIVEPATHEFFECT))
 
+/// The LivePathEffect vtable.
+struct LivePathEffectObjectClass {
+    SPObjectClass parent_class;
+};
+
 class LivePathEffectObject : public SPObject {
 public:
     Inkscape::LivePathEffect::EffectType effecttype;
-    Inkscape::LivePathEffect::Effect *lpe;
 
     bool effecttype_set;
 
     LivePathEffectObject * fork_private_if_necessary(unsigned int nr_of_allowed_users = 1);
-};
 
-/// The LivePathEffect vtable.
-struct LivePathEffectObjectClass {
-    SPObjectClass parent_class;
+    /* Note that the returned pointer can be NULL in a valid LivePathEffectObject contained in a valid list of lpeobjects in an lpeitem!
+     * So one should always check whether the returned value is NULL or not */
+    Inkscape::LivePathEffect::Effect * get_lpe() { return lpe; };
+
+private:
+    Inkscape::LivePathEffect::Effect *lpe; // this can be NULL in a valid LivePathEffectObject
+
+    /* C-style class functions: */
+public:
+    static GType livepatheffect_get_type();
+private:
+    static void livepatheffect_class_init(LivePathEffectObjectClass *klass);
+    static void livepatheffect_init(LivePathEffectObject *stop);
+    static void livepatheffect_build(SPObject *object, SPDocument *document, Inkscape::XML::Node *repr);
+    static void livepatheffect_release(SPObject *object);
+    static void livepatheffect_set(SPObject *object, unsigned key, gchar const *value);
+    static Inkscape::XML::Node *livepatheffect_write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
 };
 
-GType livepatheffect_get_type();
 
 #endif
 
@@ -44,4 +70,4 @@ GType livepatheffect_get_type();
   fill-column:99
   End:
 */
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :