1 #ifndef __FORWARD_H__
2 #define __FORWARD_H__
4 /*
5 * Forward declarations of most used objects
6 *
7 * Author:
8 * Lauris Kaplinski <lauris@kaplinski.com>
9 *
10 * Copyright (C) 2001-2002 Lauris Kaplinski
11 * Copyright (C) 2001 Ximian, Inc.
12 *
13 * Released under GNU GPL, read the file 'COPYING' for more information
14 */
16 #include <glib-object.h>
18 /* Generic containers */
20 namespace Inkscape {
21 struct Application;
22 struct ApplicationClass;
23 }
25 /* Editing window */
27 class SPDesktop;
28 class SPDesktopClass;
30 class SPDesktopWidget;
31 class SPDesktopWidgetClass;
33 GType sp_desktop_get_type ();
35 class SPEventContext;
36 class SPEventContextClass;
38 #define SP_TYPE_EVENT_CONTEXT (sp_event_context_get_type ())
39 #define SP_EVENT_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), SP_TYPE_EVENT_CONTEXT, SPEventContext))
40 #define SP_IS_EVENT_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), SP_TYPE_EVENT_CONTEXT))
42 GType sp_event_context_get_type ();
44 /* Document tree */
46 class SPDocument;
47 class SPDocumentClass;
49 #define SP_TYPE_DOCUMENT (sp_document_get_type ())
50 #define SP_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_DOCUMENT, SPDocument))
51 #define SP_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_DOCUMENT))
53 GType sp_document_get_type ();
55 /* Objects */
57 class SPObject;
58 class SPObjectClass;
60 #define SP_TYPE_OBJECT (sp_object_get_type ())
61 #define SP_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_OBJECT, SPObject))
62 #define SP_IS_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_OBJECT))
64 GType sp_object_get_type ();
66 class SPItem;
67 class SPItemClass;
69 #define SP_TYPE_ITEM (sp_item_get_type ())
70 #define SP_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_ITEM, SPItem))
71 #define SP_IS_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_ITEM))
73 GType sp_item_get_type ();
75 class SPGroup;
76 class SPGroupClass;
78 class SPDefs;
79 class SPDefsClass;
81 class SPRoot;
82 class SPRootClass;
84 class SPNamedView;
85 class SPNamedViewClass;
87 class SPGuide;
88 class SPGuideClass;
90 class SPObjectGroup;
91 class SPObjectGroupClass;
93 struct SPMarker;
94 struct SPMarkerClass;
95 class SPMarkerReference;
97 class SPPath;
98 class SPPathClass;
100 class SPShape;
101 class SPShapeClass;
103 class SPPolygon;
104 class SPPolygonClass;
106 class SPEllipse;
107 class SPEllipseClass;
109 class SPCircle;
110 class SPCircleClass;
112 class SPArc;
113 class SPArcClass;
115 class SPChars;
116 class SPCharsClass;
118 class SPText;
119 class SPTextClass;
121 class SPTSpan;
122 class SPTSpanClass;
124 class SPString;
125 class SPStringClass;
127 class SPPaintServer;
128 class SPPaintServerClass;
130 class SPStop;
131 class SPStopClass;
133 class SPGradient;
134 class SPGradientClass;
135 class SPGradientReference;
137 class SPLinearGradient;
138 class SPLinearGradientClass;
140 class SPRadialGradient;
141 class SPRadialGradientClass;
143 class SPPattern;
145 class SPClipPath;
146 class SPClipPathClass;
147 class SPClipPathReference;
149 class SPMaskReference;
151 class SPAvoidRef;
153 class SPAnchor;
154 class SPAnchorClass;
156 /* Misc */
158 class ColorRGBA;
160 class SPColorSpace;
161 class SPColor;
163 class SPStyle;
165 class SPEvent;
167 class SPPrintContext;
169 namespace Inkscape {
170 namespace UI {
171 namespace View {
172 class View;
173 };
174 };
175 };
177 class SPViewWidget;
178 class SPViewWidgetClass;
180 class StopOnTrue;
182 namespace Inkscape {
183 class URI;
184 class URIReference;
185 }
187 struct box_solution;
190 /* verbs */
192 typedef int sp_verb_t;
193 namespace Inkscape {
194 class Verb;
195 }
197 #endif /* !__FORWARD_H__ */
199 /*
200 Local Variables:
201 mode:c++
202 c-file-style:"stroustrup"
203 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
204 indent-tabs-mode:nil
205 fill-column:99
206 End:
207 */
208 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :