Navigation
|
Synopsis Overview of the complete Figure library.
Syntax import vis::Figure;
Description The Figure library provides visualization functionality that
can be used to synthesize information.
This plays, for example, a role in the synthesis part of the EASY paradigm.
It is based on the following principles:
- Coordinate free: only intrinsic properties of figures such as their height, width or color have to be specified. Their placement and actual coordinates are computed automatically.
- Compositional: figures can be composed in many ways.
- Declarative: the definition of a figure does not has any side-effects like, for example, changing the current drawing location or current drawing color.
- Scalable: the dimensions of figures can be scaled automatically.
More precisely, figures:
- ... are ordinary values that can be computed and manipulated, e.g., by functions.
- ... only describe their own properties like dimensions and color.
- ... are unaware of their actual coordinate position.
- ... can be composed with other figures. Examples are horizontal and vertical composition, placement on a grid, graph or tree.
- ... can be reused in different contexts.
The Figure library provides two data types:
-
FProperty describes a property of a figure such as (also see Properties): - Sizing: size, hsize (or width), vsize (or height).
- Positioning: align, gap, textAngle.
- Visual appearance: lineWidth, lineColor, lineStyle, fillColor, font, fontSize, fontColor, shadow, shapeConnected, shapeClosed, shapeCurved.
- Interaction: resizable, onClick, onKeyDown, onKeyUp, onMouseEnter, onMouseExit, onMouseDown, onMouseUp, onClick, onMouseMove.
- Other: id
-
Figure describes an actual visual element such as (also see Figures): - Atomic Figures: text, outline.
- Containers: box, ellipse, space.
- Compositions: hcat, vcat, hvcat, overlay, pack, grid, tree, treemap, graph.
- Transformations: scale, rotate.
Pitfalls One of the functions render or renderSave are needed to actually view a Figure.
|