|
Diva Packages
Diva is structured as a set of clearly-defined packages. We have
designed the packages to minimize inter-package dependencies, so that
the core functionality of each can be used independently of the
others.
diva.apps
...fixme...
diva.canvas
We use the Java2D API as the basis for most of our graphics code. By
doing so, we gain very flexible rendering support, including arbitrary
shapes, fills, clip regions, transparency, and affine transforms. The
Diva canvas is a structured graphics layer over Java2D, that adds
persistent objects, a well-structured graphical architecture, and
high-level support for user interaction.
diva.graph
Graphs are crucial to the design of hardware-software systems. The
Diva Graph package provides the support we need for building,
displaying, and editing graphs. It is designed as a Swing-style MVC
data and notification model, with extensible and pluggable graph
rendering and layout tools. It is oriented towards the flexibility
needed for visualization rather than the performance needed for
algorithmic uses.
diva.gui
Ultimately, every visualization is part of some sort of user interface.
The Diva GUI package provides a framework for several kinds of common user
interfaces, including improved java support for Multiple-Document style
interfaces. The package allows the user interface to be created as an
applet or as a command-line application without excessive code duplication.
diva.sketch
The sketch package provides data structures and algorithms for
"digital ink" and gesture recognition for pen-based user
interfaces. It provides the support that we need to explore the use of
informal input and gesture-based navigation control in
hardware-software design.
diva.util
The util package provides utilities. Oo, yeah.
diva.whiteboard
...fixme...
For further information, see the release-specific software documentation:
|