logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Shape - what shape a canvas should have

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>

See Also