Differences between revisions 1 and 26 (spanning 25 versions)
Revision 1 as of 2008-08-02 00:59:34
Size: 2864
Comment:
Revision 26 as of 2008-08-05 19:12:05
Size: 948
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Overview = <<TableOfContents>>
Line 3: Line 3:
WxArt2D is a library for 2D graphical programming. WxArt2D is built on top of the wxWidgets Graphical primitives and other objects are derived from the base canvas object and managed in a document. The objects in this document are read from a file or created by the source code. The drawing document can be made hierarchical by adding child objects to a parent canvas object. Because a canvas object is reference counted, there can be more the one parent on the same canvas object. A unique part, or level, in the hierarchy can be referenced and drawn at different locations.
Views are used to display the contents of a document in a device context. A document traverses itself, starting at a chosen level in the hierarchy and with a given viewport. Everything that it encounters within the viewport will be displayed as a view in the device context. The device context may be a window, a bitmap or even a file. A view is used to display certain parts of a document, but at the same time it has an internal drawing context (a2dDrawer2D ) assigned to it. While traversing a a2dCanvasDocument , for example (a2dCanvasView ), the drawing context assigned to it is used by the view for the drawing the document. Everything that is drawn from within a document, is achieved by calling drawing methods on a view's drawing context. Drawing context implementations are derived from a2dDrawer2D . One can switch the internal drawing context of a2dCanvasView on the fly. For example to switch between anti aliased rendering and normal wxDc based rendering. A document can have several views open at the same time. Each view can display different parts of the document.
= wxArt2D 2D graphics library and framework =
Line 6: Line 5:
Some Features: == OverView ==
   * WxArt2dOverView
   * WxArt2dScreenShots
Line 8: Line 9:
    * Highly optimized rendering strategy for drawing and redrawing a hierarchy of 2d objects.
    * Updating changes in the document to the views takes place in idle time, with minimum effort for the user.
    * Coordinates are in world (doubles or integer), and objects are placed relative to parent object(s) with a matrix.
    * The visible part of a drawing and its size as shown on a window or bitmap can be set independently of the data within the document itself.
    * The document containing the hierarchy of 2d objects, can be displayed as several views.
    * Tool Classes to edit the displayed objects in a view.
    * Data can be read from a file and written to a file in SVG or CVG. New graphical file formats can easily be added.
    * a2dCanvasObject is the base class for all primitives in a document, it can intercept/receive events in the same manner as wxWidgets handles events.
    * Complex canvas objects for displaying curves with markers are available.
    * Objects can be connected via pin objects, this makes graph, diagram display and editing possible. Pins can be added at run time as children of the a2dCanvasObject itself.
== Download and Install ==
   * [[WxArt2dInstall|Installation]].
   * WxArt2dDownLoad
   * WxArt2dLicense

== Support ==
   * WxArt2dNews
   * MailingLists
   * RelatedLinks
   * FrequentlyAskedQuestions (FAQ)

== Introduction ==
   * WxArt2dHistory
   * WxArt2dIntroduction

== Docs ==
   * WxArt2dModules
   * ModuleHierarchy

== Topics ==
   * CorridorPath
   * [[PinsGraphs|Diagram Graphs and Pins]]
   * [[wxArt2dEvents|Events in wxart2D]]
   * [[wxArt2dCommandProcessing|command processing]]
   * [[classGeneral|general class isues]]
   * [[ToolWork|how tools interact with document and view]]
   * [[Globals|how are global settings handled]]

== Future Development ==
   * ToDo
   * [[FutureIdeas|Ideas for the future]]

== Development ==
   
   * WxArt2dDevelopment

wxArt2D: wxArt2D (last edited 2023-06-19 13:58:52 by KlaasHolwerda)