OverlayUnidraw is a library that extends the Unidraw framework in several ways -- double-buffered rendering, a spatial object save/restore mechanism (with attributes), improved export/import, multiple-views with optional pan/zoom chaining, fixed size graphics, etc..
OverlayComp extends the GraphicComp class of Unidraw with extra mechanisms for serialization and graphics rendering.
Here is a list of the more important derived classes and what they do:
overall framework objects
OverlayEditor/OverlayKit:
editor uses kit with virtual functions to construct itself
OverlayViewer:
double-buffered viewer
OverlayDamage:
double-buffered damage repair
OverlayCreator/OverlayCatalog:
specialized save/restore mechanism
generic graphic objects
OverlayComp (OverlayView/OverlayScript/OverlayPS):
specialized versions of GraphicComp, GraphicView, and PostScriptView
OverlaysComp (OverlaysView/OverlaysScript/OverlaysPS):
composite graphic mechanism
OverlayIdrawComp (OverlayIdrawView/OverlayIdrawScript/OverlayIdrawPS):
top level graphic
OverlayFileComp (OverlayFileView/OverlayFileScript/OverlaysPS):
mechanism for creating hierarchical drawings
VerticesOvComp (VerticesOvView/VerticesScript/VerticesPS):
graphics with arbitrary number of vertices
specific graphic objects
ClosedSplineOvComp (ClosedSplineOvView/ClosedSplineScript/ClosedSplinePS)
: closed B-splines
EllipseOvComp (EllipseOvView/EllipseScript/EllipsePS)
: ellipses
LineOvComp (LineOvView/LineScript/LinePS)
: lines
MultiLineOvComp (MultiLineOvView/MultiLineScript/MultiLinePS)
: multilines
PolygonOvComp (PolygonOvView/PolygonScript/PolygonPS)
: polygons
RasterOvComp (RasterOvView/RasterScript/RasterPS)
: TIFF, PGM, or PPM images
RectOvComp (RectOvView/RectScript/RectPS)
: rectangles
SplineOvComp (SplineOvView/SplineScript/SplinePS)
: open B-splines
StencilOvComp (StencilOvView/StencilScript/StencilPS)
: XBM or PBM bitmaps
TextFileComp (TextFileView/TextFileScript/TextPS)
: text from a file
TextOvComp (TextOvView/TextScript/TextPS)
: text strings
specific graphic objects with arrowheads
ArrowLineOvComp (ArrowLineOvView/ArrowLineScript/ArrowLinePS):
lines with arrowheads
ArrowMultiLineOvComp (ArrowMultiLineOvView/ArrowMultiLineScript/ArrowMultiLinePS):
multilines with arrowheads
ArrowSplineOvComp (ArrowSplineOvView/ArrowSplineScript/ArrowSplinePS):
open B-splines with arrowheads
tools and dialog boxes
AnnotateTool/AnnotateDialog:
mechanism for annotating objectsAttributeTool/AttributeDialog:
mechanism for editing an objects attribute listPageDialog, PanDialog, ZoomDialog:
dialog boxes for precise page-sizing, panning, and zoomingviewer commands
CameraMotionCmd (PanCmd, FixedPanCmd, PrecisePanCmd, ZoomCmd, PreciseZoomCmd):
pan and zoom commands for the viewerChainViewerCmd, UnchainViewerCmd:
commands to chain up pan/zoom of this viewersChainViewersCmd, UnchainViewersCmd:
commands to chain up pan/zoom of all viewersOvAboutCmd:
command to display "about" dialog boxOvExportCmd, OvImportCmd, OvPrintCmd:
commands to invoke export/import/print dialog boxesOvNewCompCmd, OvRevertCmd, OvViewCompCmd, OvOpenCmd, OvSaveCompCmd, OvSaveAsCompCmd, OvQuitCmd, OvSlctAllCmd, OvGroupCmd, OvCloseEditorCmd:
commands specialized for OverlayUnidraw framework
PageCmd, PrecisePageCmd:
commands to resize the drawinggraphic commands
ClipPolyAAndBCmd, ClipPolyAMinusBCmd, ClipPolyBMinusACmd:
commands to interface to the clippoly libraryFixViewCmd, UnfixViewCmd:
commands to fix size and location of a graphicHideViewCmd, UnhideViewsCmd:
commands to hide/show graphic