NAME¶
Unidraw_Intro - Unidraw library for graphical object editor development
SYNOPSIS¶
#include <Unidraw/class.h>
#include <Unidraw/Components/class.h>
#include <Unidraw/Commands/class.h>
#include <Unidraw/Tools/class.h>
#include <Unidraw/Graphic/class.h>
CC ... -lUnidraw ... -lInterViews -lX -lm
DESCRIPTION¶
Unidraw is an architecture for creating object-oriented graphical editors in
domains such as technical and artistic drawing, music composition, and circuit
design. Unidraw simpifies the construction of these editors by providing
programming abstractions that are common across domains. Unidraw defines four
basic abstractions:
components encapsulate the appearance and semantics
of objects in a domain,
tools support direct manipulation of
components,
commands define operations on components and other objects,
and
external representations define the mapping between components and
the file format generated by the editor. Unidraw also supports multiple views,
graphical connectivity and confinement, and dataflow between components.
The Unidraw library contains a collection of classes that implement the Unidraw
architecture. The Unidraw library is used together with the rest of
InterViews, except the
graphic structured graphics library, to develop
domain-specific graphical object editors. InterViews interactors and
composition mechanisms support an application's look and feel, while the
Unidraw library supports functionality unique to graphical object editors.
Currently, the Unidraw library provides its own structured graphics classes,
which are similar to but incompatible with the graphic library classes.
Therefore you must not use both graphic and Unidraw classes in the same
application.
General Unidraw classes are declared in header files in the Unidraw include file
subdirectory. Component, command, tool, and structured graphics classes are
declared in corresponding subdirectories under the Unidraw subdirectory.
SEE ALSO¶
InterViews(3I)
Generalized Graphical Object Editing, John M. Vlissides, Technical Report
CSL-TR-90-427, Stanford University, June 1990.