Home
About
Demos
Downloads
Packages
Administrivia
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.


diva@ic.eecs.berkeley.edu