Code

A simple layout document as to what, why and how is cppification.
[inkscape.git] / src / forward.h
1 #ifndef FORWARD_H_SEEN
2 #define FORWARD_H_SEEN
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_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_OBJECT, SPObject))
61 //#define SP_OBJECT_CLASS(clazz) (G_TYPE_CHECK_CLASS_CAST((clazz), SP_TYPE_OBJECT, SPObjectClass))
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_ITEM_CLASS(clazz) (G_TYPE_CHECK_CLASS_CAST((clazz), SP_TYPE_ITEM, SPItemClass))
72 //#define SP_IS_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_ITEM))
74 //GType sp_item_get_type ();
76 class SPGroup;
77 class SPGroupClass;
79 class SPDefs;
80 class SPDefsClass;
82 class SPRoot;
83 class SPRootClass;
85 class SPNamedView;
86 class SPNamedViewClass;
88 class SPGuide;
89 class SPGuideClass;
91 class SPObjectGroup;
92 class SPObjectGroupClass;
94 struct SPMarker;
95 struct SPMarkerClass;
96 class SPMarkerReference;
98 class SPPath;
99 class SPPathClass;
101 class SPShape;
102 class SPShapeClass;
104 class SPPolygon;
105 class SPPolygonClass;
107 class SPEllipse;
108 class SPEllipseClass;
110 class SPCircle;
111 class SPCircleClass;
113 class SPArc;
114 class SPArcClass;
116 class SPChars;
117 class SPCharsClass;
119 class SPText;
120 class SPTextClass;
122 class SPTSpan;
123 class SPTSpanClass;
125 class SPString;
126 class SPStringClass;
128 class SPPaintServer;
129 class SPPaintServerClass;
131 class SPStop;
132 class SPStopClass;
134 class SPGradient;
135 class SPGradientClass;
136 class SPGradientReference;
138 class SPLinearGradient;
139 class SPLinearGradientClass;
141 class SPRadialGradient;
142 class SPRadialGradientClass;
144 class SPPattern;
146 class SPClipPath;
147 class SPClipPathClass;
148 class SPClipPathReference;
150 class SPMaskReference;
152 class SPAvoidRef;
154 class SPAnchor;
155 class SPAnchorClass;
157 /* Misc */
159 class ColorRGBA;
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;
187 struct box_solution;
190 /* verbs */
192 typedef int sp_verb_t;
193 namespace Inkscape {
194     class Verb;
197 #endif // FORWARD_H_SEEN
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 :