Shape - what shape a canvas should have
Contents
Description
A shape specifies the desired characteristics of a canvas. An interactor should set the fields of its
shape when it is reconfigured and should call Change on its parent if any of these fields change.
The dimensions of a shape are defined by a ``natural'' size, a stretch amount, and a shrink amount. The
width and height fields indicate the desired sizes. The hstretch, vstretch, hshrink, vshrink fields
define how flexible these desired sizes are. For example, an interactor may have a natural size of 100,
but can adequately handle any size between 50 and 200. The stretchability for this case would be 100 and
the shrinkability 50.
The constants hfil and vfil are provided to indicate ``infinite'' stretching or shrinking. They are
represented as very large numbers and manipulated exactly the same as other stretch and shrink
parameters.
The aspect field specifies the desired aspect ratio. A value of zero means any aspect is acceptable.
The hunits and vunits fields indicate that the canvas dimensions should be multiples of some values.
Name
Shape - what shape a canvas should have
Public Operations
Shape()
Construct a new shape with undefined natural size and infinite stretchability and shrinkability in
both directions.
booleanDefined()booleanUndefined()
Test if the shape's natural size is defined or not.
voidRect(intwidth,intheight)voidSquare(intside)
Short-hand for setting the dimensions of the shape. Square sets both dimensions to side and sets
the aspect ratio to one.
voidRigid(inthshrink,inthstretch,intvshrink,intvstretch)voidRigid()
Set the stretchability and shrinkability fields of the shape. If no arguments are specified, the
fields are set to zero.
voidSetUndefined()
Reset the shape's natural size to be undefined.
See Also
Interactor(3I), Scene(3I) InterViews 15 June 1987 Shape(3I)
Synopsis
#include<InterViews/shape.h>
