1 #ifndef SEEN_SP_DEFS_H
2 #define SEEN_SP_DEFS_H
4 /*
5 * SVG <defs> implementation
6 *
7 * Authors:
8 * Lauris Kaplinski <lauris@kaplinski.com>
9 * Abhishek Sharma
10 *
11 * Copyright (C) 2000-2002 authors
12 *
13 * Released under GNU GPL, read the file 'COPYING' for more information
14 */
16 #include "sp-object.h"
18 #define SP_TYPE_DEFS (SPDefs::sp_defs_get_type())
19 #define SP_DEFS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SP_TYPE_DEFS, SPDefs))
20 #define SP_DEFS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SP_TYPE_DEFS, SPDefsClass))
21 #define SP_IS_DEFS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), SP_TYPE_DEFS))
22 #define SP_IS_DEFS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SP_TYPE_DEFS))
24 class SPDefs : public SPObject {
25 public:
26 static GType sp_defs_get_type(void);
28 private:
29 static void init(SPDefs *defs);
30 static void release(SPObject *object);
31 static void update(SPObject *object, SPCtx *ctx, guint flags);
32 static void modified(SPObject *object, guint flags);
33 static Inkscape::XML::Node *write(SPObject *object, Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, guint flags);
35 friend class SPDefsClass;
36 };
38 class SPDefsClass {
39 public:
40 SPObjectClass parent_class;
42 private:
43 static void sp_defs_class_init(SPDefsClass *dc);
44 static SPObjectClass *static_parent_class;
46 friend class SPDefs;
47 };
50 #endif // !SEEN_SP_DEFS_H
52 /*
53 Local Variables:
54 mode:c++
55 c-file-style:"stroustrup"
56 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
57 indent-tabs-mode:nil
58 fill-column:99
59 End:
60 */
61 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :