April 7, 2005

  Mica has complete support for advanced features such as infinite undo/redo, zoom and pan, network graph layouts and interactive graph templates, connections and connection points, annotations and annotation points, event handling and action percolation, layers and layer tabs, arrows, shadows, cut/copy/paste to/from clipboard, multiple printable pages, postscript, jpeg, and pdf output, rulers, toolhints, status bars, tool bars, default save/load to/from ASCII files, complete working network and diagramming editors, graphics editor toolkit, and more...
  Mica is evolving and becoming a part of the Obsidian Framework
  Mica classic will still be around, but Mica 2.0 will be stripped down, partitioned into separate libraries, and with the MiModel front end replaced with the binders and generic data structures of the Obsidian Framework - and all in declarative XML.






Version 1.4.1 5-1-2004
JDK 1.4.x or better, includes source code, images and JAR files for library and applications and javadocs. 16 MB.


White Paper
(PDF, 124 pages, 490 K)

(PDF, 18 pages, 73K)

A Java Object-Oriented 2D Vector Graphics and User Interface Framework. Includes diagramming and network graphics editors. Free with source code.
Mica is a 2D, high-level, full-featured, object-oriented, hierarchical, structured, resolution-independent, mixed graphics and user interface widget library with multiple levels of drawing abstraction written completely in Java.

The system provides extensive support for rendering and manipulation of vector and raster graphics in two dimensions

A highly-customizable 'Graphics Window Object' is provided that supplies much of the functionality associated with 2D drawing programs. A Graphics Object Model is also provided that abstracts general node-link data structures.

Many graphics shapes, user interface widgets, interactors, and demo applications are included.

All graphics shapes, user interface widgets, interactors, layouts, connections, etc. are objects and sub-classable by the programmer.

Graphics shapes and user interface widgets can be arbitrarily arranged in container-part and reference-part directed acyclic graphs.

Graphics shapes and user interface widgets can be connected together with first-class connection objects into any number of directed or undirected (network) graphs.

The sizes and locations of graphics shapes and user interface independent widgets are specified in device-resolution-independent floating point coordinates and so have the same appearance and relative size regardless of the size or dots-per-inch of the particular screen or printer used for display.

Mixed graphics
Graphics shapes and user interface widgets share the same coordinate space, the same API and are of the same basic type.

Multiple levels
A variety of functionality/performance trade-off options are available from heavy-weight, full-featured graphics shapes to very-light-weight simple graphics shapes to an immediate rendering mode (in resolution-independent coordinates).

Written in Java
The robustness, ease-of-use, portability and the other buzzwords of Java are inherited by this software.




Copyright 1998 - 2005