|
|
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. Here are the current
packages.
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.
|
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.
|
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.
|
API documentation
The largest slice of Diva documentation we could find!
Courtesy of javadoc.
|
|