

DiaCanvas

Copyright (C) 1998 Alexander Larsson
Copyright (C) 1999 Arjan Molenaar

1 Introduction

DiaCanvas is a generic version of the canvas used by the drawing application
DIA (http://www.lysator.liu.se/~alla/dia). This widget is usable for
several (technical) drawing projects (EDA, diagrams, etc.). DiaCanvas
is based on the excellent GTK+ widget set (used by the GNOME project
(http://www.gnome.org)).

2 Features

The following features are already implemented if you want to use the
DiaCanvas:

* Separation of ``data'' and ``visuals''. This means that you have
  the option to create visuals (DiaDisplays) based on data (DiaDiagram)
  as much as you like.

* Layers. Diagrams are build of layers. This is easy if you want several
  sheets that can overlay each other. Layers can be hidden and who
  knows what more\ldots{}

* Object connections. Handles can connect them selves to the so calls
  DiaConnectionPoints (that can be generated dynamically) to establish
  a link between two (or more) objects. This generates a signal by
  the DiaDiagram that can be caught by your GTK+ application.

* Rendering is done by a separate renderer, This makes it very easy
  to draw a diagram to the screen and (without manipulation of the
  data) draw that same diagram to a Postscript file (or GIF or JPEG)
  by just using another renderer.

* Several standard tools to modify the contents of the diagram.

* Grid. Both point grid and line grid. Snap to grid function!

* Zooming.

* Abstraction:

  * DiaDiagrams are containing several layers,

  * DiaLayer contains objects that have to be drawn in that layer,

  * DiaDisplays display the data on the screen in a window,

  * DiaRenderer creates visual pictures of the data.

  * DiaTool and friends manipulate the contents of the DiaDiagram.

* I can't think of any more features right now, but the options are
  available to do whatever you want to do.

3 Installation 

Please consult the INSTALL file in the /diacanvas directory for installing
DiaCanvas.

4 Future

At least I will use the DiaCanvas as drawing tool in my GME (GTK+ Modeling
Environment), a UML modeling tool. 

If other people are interested I would like to know it, 'cause it probably
means that the canvas has to be adjusted a bit.

5 Further information

If you want to know more about the DiaCanvas, please write a note to 

Klem.Prod@net.HCC.nl

Please also let me know if you found some bugs\ldots{}
