Code

OCAL. Fix for Bug #638844 (Errors printed to console if openclipart search fails).
[inkscape.git] / src / doxygen-main.cpp
index 368346386ea920b8e3a692f1d90dbe616c9e9bbc..58c2f3f9a2af2d8c1b32d10adbaa6b19811ebf4a 100644 (file)
-/** \file
- * Contains Doxygen documentation - main page.
- *
- * Authors:
+/** @file
+ * @brief Doxygen documentation - main page and namespace documentation.
+ */
+/* Authors:
  *   Ralf Stephan <ralf@ark.in-berlin.de>
+ *   Krzysztof KosiƄski <tweenk.pl@gmail.com>
  *
- * Copyright (C) 2005-2006 authors
+ * Copyright (C) 2005-2008 authors
  *
  * Released under GNU GPL, read the file 'COPYING' for more information
  */
 
-/** \mainpage The Inkscape Source Code Documentation
+// Note: % before a word prevents that word from being linkified
+
+/**
+ * @brief Main %Inkscape namespace
+ *
+ * This namespace contains all code internal to %Inkscape.
+ */
+namespace Inkscape {
+
+/**
+ * @brief Some STL-style algorithms
+ *
+ * This namespace contains a few generic algorithms used with the %XML tree.
+ */
+namespace Algorithms {}
+
+
+/**
+ * @brief Debugging utilities
+ *
+ * This namespace contains various debugging code which can help developers
+ * to pinpoint problems with their (or others') code.
+ */
+namespace Debug {}
+
+/**
+ * @brief Rendering-related code
+ *
+ * This namespace contains code related to the renderer.
+ */
+namespace Display {}
+
+/**
+ * @brief Extension support
+ *
+ * This namespace contains the extension subsystem and implementations
+ * of the internal extensions. This includes input and output filters, bitmap
+ * extensions, and printing.
+ */
+namespace Extension {}
+
+/**
+ * @brief Boehm-GC based garbage collector
+ *
+ * This namespace contains code related to the garbage collector and base
+ * classes for %GC-managed objects.
+ */
+namespace GC {}
+
+/**
+ * @brief Low-level IO code
+ *
+ * This namespace contains low level IO-related code, including a homegrown
+ * streams implementation, routines for formatting SVG output, and some
+ * file handling utility functions.
+ */
+namespace IO {}
+
+/**
+ * @brief Live Path Effects code
+ *
+ * This namespace contains classes and functions related to the implementation
+ * of Live Path Effects, which apply arbitrary transformation to a path and
+ * update whenever the original path is modified.
+ */
+namespace LivePathEffect {}
+
+/**
+ * @brief Tracing backend
+ *
+ * This namespace contains the integrated potrace-based tracing backend, used
+ * in the Trace Bitmap and Paint Bucket features.
+ */
+namespace Trace {}
+
+/**
+ * @brief User interface code
+ *
+ * This namespace contains everything related to the user interface of Inkscape.
+ */
+namespace UI {
+
+/**
+ * @brief Dialog code
+ *
+ * This namespace contains all code related to dialogs.
+ */
+namespace Dialog {}
+
+/**
+ * @brief Custom widgets
+ *
+ * This namespace contains custom user interface widgets used thorought
+ * Inkscape.
+ */
+namespace Widget {}
+
+} // namespace UI
+
+/**
+ * @brief Miscellaneous supporting code
+ *
+ * This namespace contains miscellaneous low-level code: an implementation of
+ * garbage-collected lists, tuples, generic pointer iterators and length unit
+ * handling.
+ */
+namespace Util {}
+
+/**
+ * @brief %Inkscape %XML tree
+ *
+ * This namespace contains classes and functions that comprise the XML tree
+ * of Inkscape documents.
+ *
+ * SVG documents in Inkscape are represented as two parallel hierarchies
+ * of nodes: the object tree, which contains all information about
+ * the document's state when loaded, and the %XML tree, which contains all
+ * information about the document's %XML representation. For this reason
+ * this tree is also called the "repr tree", and %XML nodes are called "reprs".
+ *
+ * The central class is XML::Node, which provides all operations. It should be
+ * noted that nodes are currently typeless and operations not valid for their
+ * type simply do nothing (like trying to iterate over children of a text node).
+ * In addition to standard DOM operations, the %XML tree supports observers -
+ * objects derived from Xml::NodeObserver which receive notifications about
+ * changes in the document tree.
+ */
+namespace XML {}
+
+} // namespace Inkscape
+
+/** \mainpage Inkscape Source Code Documentation
  * While the standard doxygen documentation can be accessed through the links
  * in the header, the following documents are additionally available to the
  * interested reader.
  *
  * \subsection liblinks External documentation on libraries used in inkscape
  *
- * <a href="http://www.gtkmm.org/gtkmm2/docs/">Gtkmm</a>
- * <a href="http://www.gtkmm.org/gtkmm2/docs/reference/html/dir_000003.html">atkmm</a>
- * <a href="http://www.gtkmm.org/gtkmm2/docs/reference/html/dir_000009.html">gdkmm</a>
- * <a href="http://www.gtkmm.org/gtkmm2/docs/reference/html/dir_000007.html">pangomm</a>
- * <a href="http://libsigc.sourceforge.net/libsigc1_2/reference/html/modules.html">libsigc++</a>
+ * C++:
+ * <a href="http://www.gtkmm.org/documentation.shtml">gtkmm</a>
+ * <a href="http://www.gtkmm.org/docs/gtkmm-2.4/docs/reference/html/namespaceAtk.html">atkmm</a>
+ * <a href="http://www.gtkmm.org/docs/gtkmm-2.4/docs/reference/html/namespaceGdk.html">gdkmm</a>
+ * <a href="http://www.gtkmm.org/docs/glibmm-2.4/docs/reference/html/namespaceGlib.html">glibmm</a>
+ * <a href="http://www.gtkmm.org/docs/pangomm-1.4/docs/reference/html/namespacePango.html">pangomm</a>
+ * <a href="http://libsigc.sourceforge.net/libsigc2/docs/index.html">libsigc++</a>
+ * C:
  * <a href="http://www.gtk.org/api/">GTK+</a>
  * <a href="http://developer.gnome.org/doc/API/2.0/gdk-pixbuf/index.html">gdk-pixbuf</a>
  * <a href="http://developer.gnome.org/doc/API/2.0/gobject/index.html">GObject</a>
  * <a href="http://developer.gnome.org/doc/API/2.0/atk/index.html">atk</a>
  * <a href="http://developer.gnome.org/doc/API/2.0/pango/index.html">pango</a>
- * <a href="http://developer.gnome.org/doc/API/2.0/gnome-vfs-2.0/">GnomeVFS</a>
- * <a href="http://libsigc.sourceforge.net/libsigc2/docs/index.html">libsigc</a>
  * <a href="http://developer.gnome.org/doc/API/2.0/ORBit/index.html">ORBit</a>
  * <a href="http://developer.gnome.org/doc/API/2.0/libbonobo/index.html">bonobo</a>
  * <a href="http://developer.gnome.org/doc/API/2.0/bonobo-activation/index.html">bonobo-activation</a>
  * <a href="http://xmlsoft.org/XSLT/html/libxslt-lib.html#LIBXSLT-LIB">libxslt</a>
  * <a href="http://xmlsoft.org/html/index.html">libxml2</a>
+ * Legacy:
+ * <a href="http://developer.gnome.org/doc/API/2.0/gnome-vfs-2.0/">GnomeVFS</a>
  *
  * \subsection stdlinks External standards documentation
  *
  * <a href="http://www.w3.org/Graphics/SVG/Test/">SVGTest</a>
  * <a href="http://www.libpng.org/pub/png/">PNG</a>
  * <a href="http://www.w3.org/TR/xslt">XSLT</a>
- * <a href="http://partners.adobe.com/public/developer/ps/index_specs.html">PS</a>
+ * <a href="http://partners.adobe.com/public/developer/ps/index_specs.html">PostScript</a>
  * <a href="http://developer.gnome.org/projects/gup/hig/">Gnome-HIG</a>
  */
 
  *     - SPFlowtspan [\ref sp-flowdiv.cpp, \ref sp-flowdiv.h]
  *     - SPGroup [\ref sp-item-group.cpp, \ref sp-item-group.h]
  *       - SPAnchor [\ref sp-anchor.cpp, \ref sp-anchor.h]
- *       - SPMarker [\ref sp-marker.cpp, \ref sp-marker.h]
+ *       - SPMarker [\ref marker.cpp, \ref marker.h]
  *       - SPRoot [\ref sp-root.cpp, \ref sp-root.h]
  *       - SPSymbol [\ref sp-symbol.cpp, \ref sp-symbol.h]
  *     - SPImage [\ref sp-image.cpp, \ref sp-image.h]
- *     - SPShape [\ref sp-shape.cpp, \ref sp-shape.h, \ref marker-status.cpp]
+ *     - SPShape [\ref sp-shape.cpp, \ref sp-shape.h]
  *       - SPGenericEllipse [\ref sp-ellipse.cpp, \ref sp-ellipse.h]
  *         - SPArc
  *         - SPCircle
  *         - SPEllipse
  *       - SPLine [\ref sp-line.cpp, \ref sp-line.h]
  *       - SPOffset [\ref sp-offset.cpp, \ref sp-offset.h]
- *       - SPPath [\ref sp-path.cpp, \ref sp-path.h, \ref path-chemistry.cpp, \ref nodepath.cpp, \ref nodepath.h, \ref splivarot.cpp]
+ *       - SPPath [\ref sp-path.cpp, \ref sp-path.h, \ref path-chemistry.cpp, \ref splivarot.cpp]
  *       - SPPolygon [\ref sp-polygon.cpp, \ref sp-polygon.h]
  *         - SPStar [\ref sp-star.cpp, \ref sp-star.h]
  *       - SPPolyLine [\ref sp-polyline.cpp, \ref sp-polyline.h]
  * - SPSelectContext [\ref select-context.cpp, \ref select-context.h]
  * - SPSpiralContext [\ref spiral-context.cpp, \ref spiral-context.h]
  * - SPStarContext [\ref star-context.cpp, \ref star-context.h]
+ * - FloodContext [\ref flood-context.cpp, \ref flood-context.h]
+ * - Box3DContext [\ref box3d-context.cpp, \ref box3d-context.h]
  *
  * SPNodeContext [\ref node-context.cpp, \ref node-context.h]
  *
 /** \page UI User Interface Classes and Files
  *
  * - Inkscape::UI::View::View [\ref ui/view/view.cpp, \ref ui/view/view.h]
- *   - Inkscape::UI::View::Edit [\ref ui/view/edit.cpp, \ref ui/view/edit.h]
- *   - SPDesktop [\ref desktop.cpp, \ref desktop-affine.cpp, \ref desktop-events.cpp, \ref desktop-handles.cpp, \ref desktop-style.cpp, \ref desktop.h, \ref desktop-affine.h, \ref desktop-events.h, \ref desktop-handles.h, \ref desktop-style.h]
+ *   - 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]
  *   - SPSVGView [\ref svg-view.cpp, \ref svg-view.h]
  *
  * SPDesktopWidget [\ref desktop-widget.h] SPSVGSPViewWidget [\ref svg-view.cpp]
  * [\ref help.cpp] [\ref inkscape.cpp] [\ref inkscape-stock.cpp]
  * [\ref interface.cpp, \ref memeq.h] [\ref main.cpp, \ref winmain.cpp]
  * [\ref menus-skeleton.h, \ref preferences-skeleton.h]
- * [\ref object-ui.cpp] [\ref select-toolbar.cpp] [\ref shortcuts.cpp]
+ * [\ref context-menu.cpp] [\ref select-toolbar.cpp] [\ref shortcuts.cpp]
  * [\ref sp-cursor.cpp] [\ref text-edit.cpp] [\ref toolbox.cpp, \ref ui/widget/toolbox.cpp]
  * Inkscape::Verb [\ref verbs.h]
  *
  * - Inkscape::URIReference [\ref uri-references.cpp, \ref uri-references.h]
  *   - SPClipPathReference [\ref sp-clippath.h]
  *   - SPGradientReference [\ref sp-gradient-reference.h]
- *   - SPMarkerReference [\ref sp-marker.h]
+ *   - SPMarkerReference [\ref marker.h]
  *   - SPMaskReference [\ref sp-mask.h]
  *   - SPUseReference [\ref sp-use-reference.h]
  *     - SPUsePath
 /** \page Rendering Rendering Related Classes and Files
  *
  * SPColor [\ref color.cpp, \ref color.h, \ref color-rgba.h]
- * [\ref geom.cpp] [\ref isnan.h] [\ref mod360.cpp]
+ * [\ref geom.cpp] [\ref mod360.cpp]
  */
 /** \page OtherServices Classes and Files From Other Services
  * [\ref inkview.cpp, \ref slideshow.cpp] [\ref sp-animation.cpp]