Code

Node tool: correctly save node skewing to undo history
[inkscape.git] / src / doxygen-main.cpp
1 /** @file
2  * @brief Doxygen documentation - main page and namespace documentation.
3  */
4 /* Authors:
5  *   Ralf Stephan <ralf@ark.in-berlin.de>
6  *   Krzysztof KosiƄski <tweenk.pl@gmail.com>
7  *
8  * Copyright (C) 2005-2008 authors
9  *
10  * Released under GNU GPL, read the file 'COPYING' for more information
11  */
13 // Note: % before a word prevents that word from being linkified
15 /**
16  * @brief Main %Inkscape namespace
17  *
18  * This namespace contains all code internal to %Inkscape.
19  */
20 namespace Inkscape {
22 /**
23  * @brief Some STL-style algorithms
24  *
25  * This namespace contains a few generic algorithms used with the %XML tree.
26  */
27 namespace Algorithms {}
30 /**
31  * @brief Debugging utilities
32  *
33  * This namespace contains various debugging code which can help developers
34  * to pinpoint problems with their (or others') code.
35  */
36 namespace Debug {}
38 /**
39  * @brief Rendering-related code
40  *
41  * This namespace contains code related to the renderer.
42  */
43 namespace Display {}
45 /**
46  * @brief Extension support
47  *
48  * This namespace contains the extension subsystem and implementations
49  * of the internal extensions. This includes input and output filters, bitmap
50  * extensions, and printing.
51  */
52 namespace Extension {}
54 /**
55  * @brief Boehm-GC based garbage collector
56  *
57  * This namespace contains code related to the garbage collector and base
58  * classes for %GC-managed objects.
59  */
60 namespace GC {}
62 /**
63  * @brief Low-level IO code
64  *
65  * This namespace contains low level IO-related code, including a homegrown
66  * streams implementation, routines for formatting SVG output, and some
67  * file handling utility functions.
68  */
69 namespace IO {}
71 /**
72  * @brief Live Path Effects code
73  *
74  * This namespace contains classes and functions related to the implementation
75  * of Live Path Effects, which apply arbitrary transformation to a path and
76  * update whenever the original path is modified.
77  */
78 namespace LivePathEffect {}
80 /**
81  * @brief Tracing backend
82  *
83  * This namespace contains the integrated potrace-based tracing backend, used
84  * in the Trace Bitmap and Paint Bucket features.
85  */
86 namespace Trace {}
88 /**
89  * @brief User interface code
90  *
91  * This namespace contains everything related to the user interface of Inkscape.
92  */
93 namespace UI {
95 /**
96  * @brief Dialog code
97  *
98  * This namespace contains all code related to dialogs.
99  */
100 namespace Dialog {}
102 /**
103  * @brief Custom widgets
104  *
105  * This namespace contains custom user interface widgets used thorought
106  * Inkscape.
107  */
108 namespace Widget {}
110 } // namespace UI
112 /**
113  * @brief Miscellaneous supporting code
114  *
115  * This namespace contains miscellaneous low-level code: an implementation of
116  * garbage-collected lists, tuples, generic pointer iterators and length unit
117  * handling.
118  */
119 namespace Util {}
121 /**
122  * @brief %Inkscape %XML tree
123  *
124  * This namespace contains classes and functions that comprise the XML tree
125  * of Inkscape documents.
126  *
127  * SVG documents in Inkscape are represented as two parallel hierarchies
128  * of nodes: the object tree, which contains all information about
129  * the document's state when loaded, and the %XML tree, which contains all
130  * information about the document's %XML representation. For this reason
131  * this tree is also called the "repr tree", and %XML nodes are called "reprs".
132  *
133  * The central class is XML::Node, which provides all operations. It should be
134  * noted that nodes are currently typeless and operations not valid for their
135  * type simply do nothing (like trying to iterate over children of a text node).
136  * In addition to standard DOM operations, the %XML tree supports observers -
137  * objects derived from Xml::NodeObserver which receive notifications about
138  * changes in the document tree.
139  */
140 namespace XML {}
142 } // namespace Inkscape
144 /** \mainpage Inkscape Source Code Documentation
145  * While the standard doxygen documentation can be accessed through the links
146  * in the header, the following documents are additionally available to the
147  * interested reader.
148  *
149  * \section groups Main directory documentation
150  * Inkscape's classes and files in the main directory can be grouped into
151  * the following categories:
152  *
153  * - \subpage ObjectTree - inkscape's SVG canvas
154  * - \subpage Tools - the tools UI
155  * - \subpage UI - inkscape's user interface
156  * - \subpage XmlTree - XML backbone of the document
157  * - \subpage Rendering - rendering and buffering
158  * - \subpage OtherServices - what doesn't fit in the above
159  *
160  * See also the <a href="dirs.html">other directories</a> until doxygen
161  * allows setting links to those doc files.
162  *
163  * \section extlinks Links to external documentation
164  *
165  * \subsection liblinks External documentation on libraries used in inkscape
166  *
167  * C++:
168  * <a href="http://www.gtkmm.org/documentation.shtml">gtkmm</a>
169  * <a href="http://www.gtkmm.org/docs/gtkmm-2.4/docs/reference/html/namespaceAtk.html">atkmm</a>
170  * <a href="http://www.gtkmm.org/docs/gtkmm-2.4/docs/reference/html/namespaceGdk.html">gdkmm</a>
171  * <a href="http://www.gtkmm.org/docs/glibmm-2.4/docs/reference/html/namespaceGlib.html">glibmm</a>
172  * <a href="http://www.gtkmm.org/docs/pangomm-1.4/docs/reference/html/namespacePango.html">pangomm</a>
173  * <a href="http://libsigc.sourceforge.net/libsigc2/docs/index.html">libsigc++</a>
174  * C:
175  * <a href="http://www.gtk.org/api/">GTK+</a>
176  * <a href="http://developer.gnome.org/doc/API/2.0/gdk-pixbuf/index.html">gdk-pixbuf</a>
177  * <a href="http://developer.gnome.org/doc/API/2.0/gobject/index.html">GObject</a>
178  * <a href="http://developer.gnome.org/doc/API/2.0/atk/index.html">atk</a>
179  * <a href="http://developer.gnome.org/doc/API/2.0/pango/index.html">pango</a>
180  * <a href="http://developer.gnome.org/doc/API/2.0/ORBit/index.html">ORBit</a>
181  * <a href="http://developer.gnome.org/doc/API/2.0/libbonobo/index.html">bonobo</a>
182  * <a href="http://developer.gnome.org/doc/API/2.0/bonobo-activation/index.html">bonobo-activation</a>
183  * <a href="http://xmlsoft.org/XSLT/html/libxslt-lib.html#LIBXSLT-LIB">libxslt</a>
184  * <a href="http://xmlsoft.org/html/index.html">libxml2</a>
185  * Legacy:
186  * <a href="http://developer.gnome.org/doc/API/2.0/gnome-vfs-2.0/">GnomeVFS</a>
187  *
188  * \subsection stdlinks External standards documentation
189  *
190  * <a href="http://www.w3.org/TR/SVG/">SVG1.1</a>
191  * <a href="http://www.w3.org/TR/SVG12/">SVG1.2</a>
192  * <a href="http://www.w3.org/TR/SVGMobile/">SVGMobile</a>
193  * <a href="http://www.w3.org/Graphics/SVG/Test/">SVGTest</a>
194  * <a href="http://www.libpng.org/pub/png/">PNG</a>
195  * <a href="http://www.w3.org/TR/xslt">XSLT</a>
196  * <a href="http://partners.adobe.com/public/developer/ps/index_specs.html">PostScript</a>
197  * <a href="http://developer.gnome.org/projects/gup/hig/">Gnome-HIG</a>
198  */
200 /** \page ObjectTree Object Tree Classes and Files
201  * Inkscape::ObjectHierarchy [\ref object-hierarchy.cpp, \ref object-hierarchy.h]
202  * - SPObject [\ref sp-object.cpp, \ref sp-object.h, \ref object-edit.cpp, \ref sp-object-repr.cpp]
203  *   - SPDefs [\ref sp-defs.cpp, \ref sp-defs.h]
204  *   - SPFlowline [\ref sp-flowdiv.cpp, \ref sp-flowdiv.h]
205  *   - SPFlowregionbreak [\ref sp-flowdiv.cpp, \ref sp-flowdiv.h]
206  *   - SPGuide [\ref sp-guide.cpp, \ref sp-guide.h]
207  *   - SPItem [\ref sp-item.cpp, \ref sp-item.h, \ref sp-item-notify-moveto.cpp, \ref sp-item-rm-unsatisfied-cns.cpp, \ref sp-item-transform.cpp, \ref sp-item-update-cns.cpp, ]
208  *     - SPFlowdiv [\ref sp-flowdiv.cpp, \ref sp-flowdiv.h]
209  *     - SPFlowpara [\ref sp-flowdiv.cpp, \ref sp-flowdiv.h]
210  *     - SPFlowregion [\ref sp-flowregion.cpp, \ref sp-flowregion.h]
211  *     - SPFlowregionExclude [\ref sp-flowregion.cpp, \ref sp-flowregion.h]
212  *     - SPFlowtext [\ref sp-flowtext.cpp, \ref sp-flowtext.h]
213  *     - SPFlowtspan [\ref sp-flowdiv.cpp, \ref sp-flowdiv.h]
214  *     - SPGroup [\ref sp-item-group.cpp, \ref sp-item-group.h]
215  *       - SPAnchor [\ref sp-anchor.cpp, \ref sp-anchor.h]
216  *       - SPMarker [\ref marker.cpp, \ref marker.h]
217  *       - SPRoot [\ref sp-root.cpp, \ref sp-root.h]
218  *       - SPSymbol [\ref sp-symbol.cpp, \ref sp-symbol.h]
219  *     - SPImage [\ref sp-image.cpp, \ref sp-image.h]
220  *     - SPShape [\ref sp-shape.cpp, \ref sp-shape.h]
221  *       - SPGenericEllipse [\ref sp-ellipse.cpp, \ref sp-ellipse.h]
222  *         - SPArc
223  *         - SPCircle
224  *         - SPEllipse
225  *       - SPLine [\ref sp-line.cpp, \ref sp-line.h]
226  *       - SPOffset [\ref sp-offset.cpp, \ref sp-offset.h]
227  *       - SPPath [\ref sp-path.cpp, \ref sp-path.h, \ref path-chemistry.cpp, \ref splivarot.cpp]
228  *       - SPPolygon [\ref sp-polygon.cpp, \ref sp-polygon.h]
229  *         - SPStar [\ref sp-star.cpp, \ref sp-star.h]
230  *       - SPPolyLine [\ref sp-polyline.cpp, \ref sp-polyline.h]
231  *       - SPRect [\ref sp-rect.cpp, \ref sp-rect.h]
232  *       - SPSpiral [\ref sp-spiral.cpp, \ref sp-spiral.h]
233  *     - SPText [\ref sp-text.cpp, \ref sp-text.h, \ref text-chemistry.cpp, \ref text-editing.cpp]
234  *     - SPTextPath [\ref sp-tspan.cpp, \ref sp-tspan.h]
235  *     - SPTSpan [\ref sp-tspan.cpp, \ref sp-tspan.h]
236  *     - SPUse [\ref sp-use.cpp, \ref sp-use.h]
237  *   - SPMetadata [\ref sp-metadata.cpp, \ref sp-metadata.h]
238  *   - SPObjectGroup [\ref sp-object-group.cpp, \ref sp-object-group.h]
239  *     - SPClipPath [\ref sp-clippath.cpp, \ref sp-clippath.h]
240  *     - SPMask [\ref sp-mask.cpp, \ref sp-mask.h]
241  *     - SPNamedView [\ref sp-namedview.cpp, \ref sp-namedview.h]
242  *   - SPPaintServer [\ref sp-paint-server.cpp, \ref sp-paint-server.h]
243  *     - SPGradient [\ref sp-gradient.cpp, \ref sp-gradient.h, \ref gradient-chemistry.cpp, \ref sp-gradient-reference.h, \ref sp-gradient-spread.h, \ref sp-gradient-units.h, \ref sp-gradient-vector.h]
244  *       - SPLinearGradient
245  *       - SPRadialGradient
246  *     - SPPattern [\ref sp-pattern.cpp, \ref sp-pattern.h]
247  *   - SPSkeleton [\ref sp-skeleton.cpp, \ref sp-skeleton.h]
248  *   - SPStop [\ref sp-stop.h]
249  *   - SPString [\ref sp-string.cpp, \ref sp-string.h]
250  *   - SPStyleElem [\ref sp-style-elem.cpp, \ref sp-style-elem.h]
251  *
252  */
253 /** \page Tools Tools Related Classes and Files
254  *
255  * SelCue [\ref selcue.cpp, \ref selcue.h, \ref rubberband.cpp]
256  * Inkscape::Selection [\ref selection.cpp, \ref selection.h, \ref selection-chemistry.cpp]
257  * SPSelTrans [\ref seltrans.cpp, \ref seltrans.h]
258  *
259  * \section Event Context Class Hierarchy
260  *
261  *- SPEventContext[\ref event-context.cpp, \ref event-context.h]
262  * - SPArcContext [\ref arc-context.cpp, \ref arc-context.h]
263  * - SPDrawContext [\ref draw-context.cpp, \ref draw-context.h]
264  *   - SPPenContext [\ref pen-context.cpp, \ref pen-context.h]
265  *   - SPPencilContext [\ref pencil-context.cpp, \ref pencil-context.h]
266  *   - SPConnectorContext [\ref connector-context.cpp, \ref connector-context.h, \ref sp-conn-end.cpp, \ref sp-conn-end-pair.cpp]
267  * - SPGradientContext [\ref gradient-context.cpp, \ref gradient-context.h, \ref gradient-drag.cpp, \ref gradient-toolbar.cpp]
268  * - SPRectContext [\ref rect-context.cpp, \ref rect-context.h]
269  * - SPSelectContext [\ref select-context.cpp, \ref select-context.h]
270  * - SPSpiralContext [\ref spiral-context.cpp, \ref spiral-context.h]
271  * - SPStarContext [\ref star-context.cpp, \ref star-context.h]
272  * - FloodContext [\ref flood-context.cpp, \ref flood-context.h]
273  * - Box3DContext [\ref box3d-context.cpp, \ref box3d-context.h]
274  *
275  * SPNodeContext [\ref node-context.cpp, \ref node-context.h]
276  *
277  * SPZoomContext [\ref zoom-context.cpp, \ref zoom-context.h]
278  *
279  * SPDynaDrawContext [\ref dyna-draw-context.cpp, \ref dyna-draw-context.h]
280  *
281  * SPDropperContext [\ref dropper-context.cpp, \ref dropper-context.h]
282  */
283 /** \page UI User Interface Classes and Files
284  *
285  * - Inkscape::UI::View::View [\ref ui/view/view.cpp, \ref ui/view/view.h]
286  *   - SPDesktop [\ref desktop.cpp, \ref desktop-events.cpp, \ref desktop-handles.cpp, \ref desktop-style.cpp, \ref desktop.h, \ref desktop-events.h, \ref desktop-handles.h, \ref desktop-style.h]
287  *   - SPSVGView [\ref svg-view.cpp, \ref svg-view.h]
288  *
289  * SPDesktopWidget [\ref desktop-widget.h] SPSVGSPViewWidget [\ref svg-view.cpp]
290  * SPDocument [\ref document.cpp, \ref document.h]
291  *
292  * SPDrawAnchor [\ref draw-anchor.cpp, \ref draw-anchor.h]
293  * SPKnot [\ref knot.cpp, \ref knot.h, \ref knot-enums.h]
294  * SPKnotHolder [\ref knotholder.cpp, \ref knotholder.h, \ref knot-holder-entity.h]
295  *
296  * [\ref layer-fns.cpp, \ref selection-describer.h]
297  * Inkscape::MessageContext [\ref message-context.h]
298  * Inkscape::MessageStack [\ref message-stack.h, \ref message.h]
299  *
300  * Snapper, GridSnapper, GuideSnapper [\ref snap.cpp, \ref snap.h]
301  *
302  * SPGuide [\ref sp-guide.cpp, \ref sp-guide.h, \ref satisfied-guide-cns.cpp, \ref sp-guide-attachment.h, \ref sp-guide-constraint.h]
303  *
304  * [\ref help.cpp] [\ref inkscape.cpp] [\ref inkscape-stock.cpp]
305  * [\ref interface.cpp, \ref memeq.h] [\ref main.cpp, \ref winmain.cpp]
306  * [\ref menus-skeleton.h, \ref preferences-skeleton.h]
307  * [\ref context-menu.cpp] [\ref select-toolbar.cpp] [\ref shortcuts.cpp]
308  * [\ref sp-cursor.cpp] [\ref text-edit.cpp] [\ref toolbox.cpp, \ref ui/widget/toolbox.cpp]
309  * Inkscape::Verb [\ref verbs.h]
310  *
311  */
312 /** \page XmlTree CSS/XML Tree Classes and Files
313  *
314  * SPStyle [\ref style.cpp, \ref style.h]
315  * Media [\ref media.cpp, \ref media.h]
316  * [\ref attributes.cpp, \ref attributes.h]
317  *
318  * - Inkscape::URIReference [\ref uri-references.cpp, \ref uri-references.h]
319  *   - SPClipPathReference [\ref sp-clippath.h]
320  *   - SPGradientReference [\ref sp-gradient-reference.h]
321  *   - SPMarkerReference [\ref marker.h]
322  *   - SPMaskReference [\ref sp-mask.h]
323  *   - SPUseReference [\ref sp-use-reference.h]
324  *     - SPUsePath
325  */
326 /** \page Rendering Rendering Related Classes and Files
327  *
328  * SPColor [\ref color.cpp, \ref color.h, \ref color-rgba.h]
329  * [\ref geom.cpp] [\ref mod360.cpp]
330  */
331 /** \page OtherServices Classes and Files From Other Services
332  * [\ref inkview.cpp, \ref slideshow.cpp] [\ref sp-animation.cpp]
333  *
334  * Inkscape::GC
335  *
336  * [\ref sp-metrics.cpp, \ref sp-metrics.h]
337  *
338  * [\ref prefs-utils.cpp] [\ref print.cpp]
339  *
340  * - Inkscape::GZipBuffer [\ref streams-gzip.h]
341  * - Inkscape::JarBuffer [\ref streams-jar.h]
342  * - Inkscape::ZlibBuffer [\ref streams-zlib.h]
343  * - Inkscape::URIHandle [\ref streams-handles.h]
344  *   - Inkscape::FileHandle
345  * [\ref dir-util.cpp] [\ref file.cpp]
346  * Inkscape::URI [\ref uri.h, \ref extract-uri.cpp, \ref uri-references.cpp]
347  * Inkscape::BadURIException [\ref bad-uri-exception.h]
348  *
349  * Inkscape::Whiteboard::UndoStackObserver [\ref undo-stack-observer.cpp, \ref composite-undo-stack-observer.cpp]
350  * [\ref document-undo.cpp]
351  *
352  * {\ref dialogs/} [\ref approx-equal.h] [\ref decimal-round.h] [\ref enums.h] [\ref unit-constants.h]
353  */
356 /*
357   Local Variables:
358   mode:c++
359   c-file-style:"stroustrup"
360   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
361   indent-tabs-mode:nil
362   fill-column:99
363   End:
364 */
365 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :