diff options
Diffstat (limited to '')
-rw-r--r-- | src/doxygen-main.dox | 357 |
1 files changed, 357 insertions, 0 deletions
diff --git a/src/doxygen-main.dox b/src/doxygen-main.dox new file mode 100644 index 0000000..9f51b0e --- /dev/null +++ b/src/doxygen-main.dox @@ -0,0 +1,357 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/** + * @file + * 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-2008 authors + * + * Released under GNU GPL v2+, read the file 'COPYING' for more information. + */ + +// Note: % before a word prevents that word from being linkified + +/** + * Main %Inkscape namespace. + * + * This namespace contains all code internal to %Inkscape. + */ +namespace Inkscape { + +/** + * Some STL-style algorithms. + * + * This namespace contains a few generic algorithms used with the %XML tree. + */ +namespace Algorithms {} + + +/** + * Debugging utilities. + * + * This namespace contains various debugging code which can help developers + * to pinpoint problems with their (or others') code. + */ +namespace Debug {} + +/** + * Rendering-related code. + * + * This namespace contains code related to the renderer. + */ +namespace Display {} + +/** + * 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 {} + +/** + * Boehm-GC based garbage collector. + * + * This namespace contains code related to the garbage collector and base + * classes for %GC-managed objects. + */ +namespace GC {} + +/** + * 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 {} + +/** + * 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 {} + +/** + * Tracing backend. + * + * This namespace contains the integrated potrace-based tracing backend, used + * in the Trace Bitmap and Paint Bucket features. + */ +namespace Trace {} + +/** + * User interface code. + * + * This namespace contains everything related to the user interface of Inkscape. + */ +namespace UI { + +/** + * Dialog code. + * + * This namespace contains all code related to dialogs. + */ +namespace Dialog {} + +/** + * Custom widgets. + * + * This namespace contains custom user interface widgets used thorough + * Inkscape. + */ +namespace Widget {} + +} // namespace UI + +/** + * 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 {} + +/** + * @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. + * + * \section groups Main directory documentation + * Inkscape's classes and files in the main directory can be grouped into + * the following categories: + * + * - \subpage ObjectTree - inkscape's SVG canvas + * - \subpage Tools - the tools UI + * - \subpage UI - inkscape's user interface + * - \subpage XmlTree - XML backbone of the document + * - \subpage Rendering - rendering and buffering + * - \subpage OtherServices - what doesn't fit in the above + * + * See also the <a href="dirs.html">other directories</a> until doxygen + * allows setting links to those doc files. + * + * \section extlinks Links to external documentation + * + * \subsection liblinks External documentation on libraries used in inkscape + * + * 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://xmlsoft.org/XSLT/html/libxslt-lib.html#LIBXSLT-LIB">libxslt</a> + * <a href="http://xmlsoft.org/html/index.html">libxml2</a> + * + * \subsection stdlinks External standards documentation + * + * <a href="http://www.w3.org/TR/SVG/">SVG1.1</a> + * <a href="http://www.w3.org/TR/SVG12/">SVG1.2</a> + * <a href="http://www.w3.org/TR/SVGMobile/">SVGMobile</a> + * <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">PostScript</a> + * <a href="http://developer.gnome.org/projects/gup/hig/">Gnome-HIG</a> + */ + +/** \page ObjectTree Object Tree Classes and Files + * Inkscape::ObjectHierarchy [\ref object-hierarchy.cpp, \ref object-hierarchy.h] + * - SPObject [\ref sp-object.cpp, \ref sp-object.h, \ref shape-editor-knotholders.cpp, \ref sp-object-repr.cpp] + * - SPDefs [\ref sp-defs.cpp, \ref sp-defs.h] + * - SPFlowline [\ref sp-flowdiv.cpp, \ref sp-flowdiv.h] + * - SPFlowregionbreak [\ref sp-flowdiv.cpp, \ref sp-flowdiv.h] + * - SPGuide [\ref sp-guide.cpp, \ref sp-guide.h] + * - SPItem [\ref sp-item.cpp, \ref sp-item.h, \ref sp-item-transform.cpp, ] + * - SPFlowdiv [\ref sp-flowdiv.cpp, \ref sp-flowdiv.h] + * - SPFlowpara [\ref sp-flowdiv.cpp, \ref sp-flowdiv.h] + * - SPFlowregion [\ref sp-flowregion.cpp, \ref sp-flowregion.h] + * - SPFlowregionExclude [\ref sp-flowregion.cpp, \ref sp-flowregion.h] + * - SPFlowtext [\ref sp-flowtext.cpp, \ref sp-flowtext.h] + * - 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 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] + * - 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 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] + * - SPRect [\ref sp-rect.cpp, \ref sp-rect.h] + * - SPSpiral [\ref sp-spiral.cpp, \ref sp-spiral.h] + * - SPText [\ref sp-text.cpp, \ref sp-text.h, \ref text-chemistry.cpp, \ref text-editing.cpp] + * - SPTextPath [\ref sp-tspan.cpp, \ref sp-tspan.h] + * - SPTSpan [\ref sp-tspan.cpp, \ref sp-tspan.h] + * - SPUse [\ref sp-use.cpp, \ref sp-use.h] + * - SPMetadata [\ref sp-metadata.cpp, \ref sp-metadata.h] + * - SPObjectGroup [\ref sp-object-group.cpp, \ref sp-object-group.h] + * - SPClipPath [\ref sp-clippath.cpp, \ref sp-clippath.h] + * - SPMask [\ref sp-mask.cpp, \ref sp-mask.h] + * - SPNamedView [\ref sp-namedview.cpp, \ref sp-namedview.h] + * - SPPaintServer [\ref sp-paint-server.cpp, \ref sp-paint-server.h] + * - 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] + * - SPLinearGradient + * - SPRadialGradient + * - SPPattern [\ref sp-pattern.cpp, \ref sp-pattern.h] + * - SPStop [\ref sp-stop.h] + * - SPString [\ref sp-string.cpp, \ref sp-string.h] + * - SPStyleElem [\ref sp-style-elem.cpp, \ref sp-style-elem.h] + * + */ +/** \page Tools Tools Related Classes and Files + * + * SelCue [\ref selcue.cpp, \ref selcue.h, \ref rubberband.cpp] + * Inkscape::Selection [\ref selection.cpp, \ref selection.h, \ref selection-chemistry.cpp] + * SPSelTrans [\ref seltrans.cpp, \ref seltrans.h] + * + * \section Event Context Class Hierarchy + * + *- ToolBase[\ref event-context.cpp, \ref event-context.h] + * - ArcTool [\ref arc-context.cpp, \ref arc-context.h] + * - SPDrawContext [\ref draw-context.cpp, \ref draw-context.h] + * - PenTool [\ref pen-context.cpp, \ref pen-context.h] + * - PencilTool [\ref pencil-context.cpp, \ref pencil-context.h] + * - ConnectorTool [\ref connector-context.cpp, \ref connector-context.h, \ref sp-conn-end.cpp, \ref sp-conn-end-pair.cpp] + * - GradientTool [\ref gradient-context.cpp, \ref gradient-context.h, \ref gradient-drag.cpp, \ref gradient-toolbar.cpp] + * - RectTool [\ref rect-context.cpp, \ref rect-context.h] + * - SelectTool [\ref select-context.cpp, \ref select-context.h] + * - SpiralTool [\ref spiral-context.cpp, \ref spiral-context.h] + * - StarTool [\ref star-context.cpp, \ref star-context.h] + * - FloodContext [\ref flood-context.cpp, \ref flood-context.h] + * - Box3dTool [\ref box3d-context.cpp, \ref box3d-context.h] + * + * SPNodeContext [\ref node-context.cpp, \ref node-context.h] + * + * ZoomTool [\ref zoom-context.cpp, \ref zoom-context.h] + * + * CalligraphicTool [\ref dyna-draw-context.cpp, \ref dyna-draw-context.h] + * + * DropperTool [\ref dropper-context.cpp, \ref dropper-context.h] + */ +/** \page UI User Interface Classes and Files + * + * - Inkscape::UI::View::View [\ref ui/view/view.cpp, \ref ui/view/view.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] + * SPDocument [\ref document.cpp, \ref document.h] + * + * SPDrawAnchor [\ref draw-anchor.cpp, \ref draw-anchor.h] + * SPKnot [\ref knot.cpp, \ref knot.h, \ref knot-enums.h] + * SPKnotHolder [\ref knotholder.cpp, \ref knotholder.h, \ref knot-holder-entity.h] + * + * [\ref layer-fns.cpp, \ref selection-describer.h] + * Inkscape::MessageContext [\ref message-context.h] + * Inkscape::MessageStack [\ref message-stack.h, \ref message.h] + * + * Snapper, GridSnapper, GuideSnapper [\ref snap.cpp, \ref snap.h] + * + * SPGuide [\ref sp-guide.cpp, \ref sp-guide.h] + * + * [\ref help.cpp] [\ref inkscape.cpp] [\ref inkscape-stock.cpp] + * [\ref interface.cpp] [\ref main.cpp, \ref winmain.cpp] + * [\ref preferences-skeleton.h] + * [\ref select-toolbar.cpp] [\ref shortcuts.cpp] + * [\ref sp-cursor.cpp] [\ref text-edit.cpp] [\ref toolbox.cpp] + * + */ +/** \page XmlTree CSS/XML Tree Classes and Files + * + * SPStyle [\ref style.cpp, \ref style.h] + * Media [\ref media.cpp, \ref media.h] + * [\ref attributes.cpp, \ref attributes.h] + * + * - Inkscape::URIReference [\ref uri-references.cpp, \ref uri-references.h] + * - SPClipPathReference [\ref sp-clippath.h] + * - SPGradientReference [\ref sp-gradient-reference.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 mod360.cpp] + */ +/** \page OtherServices Classes and Files From Other Services + * [\ref inkview.cpp, \ref slideshow.cpp] + * + * Inkscape::GC + * + * [\ref prefs-utils.cpp] [\ref print.cpp] + * + * - Inkscape::GZipBuffer [\ref streams-gzip.h] + * - Inkscape::JarBuffer [\ref streams-jar.h] + * - Inkscape::ZlibBuffer [\ref streams-zlib.h] + * - Inkscape::URIHandle [\ref streams-handles.h] + * - Inkscape::FileHandle + * [\ref dir-util.cpp] [\ref file.cpp] + * Inkscape::URI [\ref uri.h, \ref extract-uri.cpp, \ref uri-references.cpp] + * Inkscape::BadURIException [\ref bad-uri-exception.h] + * + * Inkscape::Whiteboard::UndoStackObserver [\ref undo-stack-observer.cpp, \ref composite-undo-stack-observer.cpp] + * [\ref document-undo.cpp] + * + * {\ref dialogs/} [\ref decimal-round.h] [\ref enums.h] + */ + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : |