Graphic,  FullGraphic  -  structured graphic abstract base
       class and subclass that stores a complete set of  graphics
       state attributes


SYNOPSIS

       #include <Unidraw/Graphic/graphic.h>


DESCRIPTION

       Graphic  is an abstract base class for structured graphics
       objects.  Graphic objects maintain graphics state and geo-
       metric  information,  which  lets  them draw themselves on
       demand and support hit detection.

       Graphic subclasses can implement graphical objects such as
       lines, rectangles, ellipses, and polygons.  Subclasses can
       also   support   hierarchical   composition   of   Graphic
       instances,  thus providing an object-oriented rendition of
       traditional structured graphics functionality.


GRAPHIC PUBLIC OPERATIONS

       virtual void Draw(Canvas*)
       virtual void Draw(Canvas*, Coord, Coord, Coord, Coord)
       virtual void DrawClipped(Canvas*, Coord, Coord, Coord,
              Coord)

       virtual void Erase(Canvas*)
       virtual void Erase(Canvas*, Coord, Coord, Coord, Coord)
       virtual void EraseClipped(Canvas*, Coord, Coord, Coord,
              Coord)
              Draw or erase the graphic on the given canvas.  The
              one-parameter  Draw  and  Erase operations draw and
              erase the graphic in its entirety.  The five-param-
              eter forms take four coordinates defining a rectan-
              gular area with which to cull  drawing.   Composite
              graphics  in particular can use this information to
              avoid drawing children falling entirely outside the
              given  area.  DrawClipped and EraseClipped draw the
              graphic strictly within a  rectangular  area.   All
              Coord parameters are in canvas coordinates.

       virtual void FillBg(boolean)
       virtual void SetBrush(PSBrush*)
       virtual void SetColors(PSColor* fg, PSColor* bg)
       virtual void SetFont(PSFont*)
       virtual void SetPattern(PSPattern*)

       virtual int BgFilled()
       virtual PSBrush* GetBrush()
       virtual PSColor* GetFgColor()
       virtual PSColor* GetBgColor()
       virtual PSFont* GetFont()
       virtual PSPattern* GetPattern()
              class  implements  the  operations  for setting and
              getting the fill mode and colors; the other  opera-
              tions  should  be redefined in subclasses that need
              them.

       void Translate(float dx, float dy)
       void Scale(float x, float y, float cx = 0.0, float cy =
              0.0)
       void Rotate(float angle, float cx = 0.0, float cy = 0.0)
       void SetTransformer(Transformer*)
       Transformer* GetTransformer()
       void TotalTransformation(Transformer& t)
              Coordinates passed to drawing operations are trans-
              formed according to the current translation,  rota-
              tion,  and  scale  factor.  Optionally, scaling and
              rotation can be performed relative to a point  (cx,
              cy).   The  base class stores a transformer _t that
              can be directly set  and  accessed  with  SetTrans-
              former and GetTransformer.  The default transformer
              is nil, meaning no transformations  are  performed.
              TotalTransformation      uses     concatTransformer
              (described below) to  concatenate  t  (usually  the
              identity  transformation)  and  the transformers of
              the graphic's parents to obtain the graphic's total
              transformation, which it then stores in t.

              Unless  otherwise  noted,  input and output coordi-
              nates are affected by the concatentation of  this's
              transformer, its parent's transformer, its parent's
              parent's, and so on up to the root of  the  graphic
              instance hierarchy.  Prior to transformation, coor-
              dinates reflect the  graphic's  coordinate  system.
              Following  transformation,  the coordinates reflect
              the canvas coordinate system (i.e., they are canvas
              coordinates).   The  coordinates  that Graphic sub-
              class constructors require are normally in  graphic
              coordinates,   while  operations  for  returning  a
              graphic's bounding box (see below)  are  in  canvas
              coordinates.

       void Align(Alignment, Graphic*, Alignment)
              Position  the given graphic relative to this, which
              stays fixed, while  the  graphic  supplied  as  the
              argument  is  translated  appropriately.  The first
              Alignment parameter specifies  the  alignment  with
              respect  to  this,  while  the second specifies the
              alignment with respect to the given graphic.

       virtual void GetBounds(
           float& left, float&  a gray pattern when
       it receives a LeaveEvent.


PUBLIC OPERATIONS

       Frame(Interactor*, int width = 1)
              Construct  a frame.  If the given interactor is not
              nil, it is inserted as the frame's component.   The
              frame  extends width pixels outside of the interac-
              tor.

       ShadowFrame(Interactor*, int h = 1, int v = 1)
              Construct a shadow frame.  The h and v  ShadowFrame
              parameters  specify the width of the horizontal and
              vertical shadows,  respectively.   Positive  values
              for these parameters specify shadows falling to the
              right and below the interactor, respectively; nega-
              tive values specify shadows falling to the left and
              above.

       MarginFrame(Interactor* = nil, int margin = 0)
       MarginFrame(Interactor*, int margin, int shrink, int
              stretch)
       MarginFrame(Interactor*, int hmargin, int vmargin)
       MarginFrame(Interactor*,  int hm, int hshr, int hstr, int
              vm, int vshr, int vstr)
              Construct  a  margin  frame.  The first constructor
              puts rigid, fixed-sized glue around the  component,
              while the second surrounds it with fixed-sized glue
              of  the  given  shrinkability  and  stretchability.
              Independent horizontal and vertical margins are set
              with the third constructor.  The  last  constructor
              allows  full  specification  of  the margin frame's
              horizontal and vertical  margins,  shrinkabilities,
              and stretchabilities.

              ShowFrame   objects   listen   for  EnterEvent  and
              LeaveEvent.   When  an  EnterEvent   is   received,
              ShowFrame::Handle  calls InsideFrame(true); when an
              LeaveEvent   is   received,   it   calls    Inside-
              Frame(false).   For  any other event, it calls Han-
              dleInput.   ShowFrame::InsideFrame  does   nothing.
              ShowFrame::HandleInput  calls Handle on the frame's
              component.

       TitleFrame(Banner*, Interactor*, int width = 1)
              Construct a title  frame  with  the  given  banner.
              TitleFrame::InsideFrame highlights and unhighlights
              the banner.

       BorderFrame(Interactor*, int width = 1)
              Construct a border frame.  BorderFrame::InsideFrame
              highlights and unhighlights the border.


PROTECTED OPERATIONS

       Frame(Interactor*, int, int, int, int)
              This  constructor  is used by subclasses to explic-
              itly set the widths of each line  in  the  outline.
              The integers specify the width of the left, bottom,
              right, and top lines, respectively.


SEE ALSO

       Banner(3I), Event(3I), Glue(3I), Scene(3I)


























Man(1) output converted with man2html
./usr/share/doc/doc/man3.1/GVUpdater.html0100644000000000000000000000560407002054562016670 0ustar rootroot

       GVUpdater  -  updates  GraphicViews structure to match its
       subject


SYNOPSIS

       #include <Unidraw/Components/gvupdater.h>


DESCRIPTION

       GVUpdater is an  implementation  class  that  GraphicViews
       uses  to  keep its state and structure consistent with its
       GraphicComps subject.  GVUpdater  ensures  that  subject's
       immediate  children  are identical to the view's in number
       and graphics state attributes. It also  ensures  that  the
       root  GraphicViews  and  GraphicComps  themselves have the
       same graphics state.  GVUpdater does not  ensure  that  it
       will detect and update changes made to deeper child nodes.


PUBLIC OPERATIONS

       GVUpdater(GraphicView*)
              The constructor takes the GraphicView that it  will
              be  updating  as  a  parameter and stores it in the
              protected member _gv.  Normally,  GraphicViews  are
              the only objects that will instantiate GVUpdater.

       virtual void Update()
              Update  the  GraphicView to make it consistent with
              its subject.


PROTECTED OPERATIONS

       void UpdateStructure()
       void UpdateState()
              The Update procedure takes  place  in  two  stages.
              The  subject's and view's structures are reconciled
              first  by  UpdateStructure,  and  then  the  view's
              graphic state is changed to match the subjects with
              UpdateState.

       void AddDamage(Graphic*)
       void IncurDamage(Graphic*)
       void Unselect(GraphicView*)
       virtual void Add(GraphicView*)
       virtual void Append(GraphicView*)
       virtual void InsertBefore(Iterator, GraphicView*)
        virtual void Remove(Iterator&)
       virtual void DeleteView(Iterator&)
              GVUpdater is a friend of GraphicViews.  These  con-
              venience  operations  provide  an  interface to the
              corresponding protected GraphicViews operations.

       virtual ClassId ViewCategory()
              Returns the view category (see  classes(3U))  GVUp-
              dater  will  use  to instantiate views of subjects.
              ViewCategory returns COMPONENT_VIEW by default.

       GraphicComp(3U), GraphicView(3U), classes(3U)




















































Man(1) output converted with man2html
./usr/share/doc/doc/man3.1/Glue2_6.html0100644000000000000000000000353707002054562016235 0ustar rootroot

       Glue, HGlue, VGlue - open space between interactors


SYNOPSIS

       #include <InterViews/glue.h>


DESCRIPTION

       A  glue  object  is  an  interactor that is used to define
       variable-size space between  interactors  in  boxes.   The
       HGlue subclass is for space in a horizontal box; VGlue for
       space in a vertical box.  Along its minor  axis  (vertical
       for  HGlue, horizontal for VGlue), glue has a natural size
       of zero and infinite stretchability.


PUBLIC OPERATIONS

       HGlue(int natural = 0, int stretch = hfil)
       VGlue(int natural = 0, int stretch = vfil)
              Construct  glue  with  a  given  natural  size  and
              stretchability.    The   glue's   shrinkability  is
              defined to be the same as the natural size, meaning
              it can shrink to zero.

       HGlue(int natural, int shrink, int stretch)
       VGlue(int natural, int shrink, int stretch)
              Construct  glue with a given natural size, shrinka-
              bility, and stretchability.  If  shrink  is  larger
              than  natural the glue potentially can have ``nega-
              tive size'', meaning interactors will overlap in  a
              box.


SEE ALSO

       Box(3I), Interactor(3I), Shape(3I)






















Man(1) output converted with man2html
./usr/share/doc/doc/man3.1/Graphic.html0100644000000000000000000006370607002054562016413 0ustar rootroot

       Graphic,  FullGraphic  -  structured graphic abstract base
       class and subclass that stores a complete set of  graphics
       state attributes


SYNOPSIS

       #include <Unidraw/Graphic/graphic.h>


DESCRIPTION

       Graphic  is an abstract base class for structured graphics
       objects.  Graphic objects maintain graphics state and geo-
       metric  information,  which  lets  them draw themselves on
       demand and support hit detection.

       Graphic subclasses can implement graphical objects such as
       lines, rectangles, ellipses, and polygons.  Subclasses can
       also   support   hierarchical   composition   of   Graphic
       instances,  thus providing an object-oriented rendition of
       traditional structured graphics functionality.


GRAPHIC PUBLIC OPERATIONS

       virtual void Draw(Canvas*)
       virtual void Draw(Canvas*, Coord, Coord, Coord, Coord)
       virtual void DrawClipped(Canvas*, Coord, Coord, Coord,
              Coord)

       virtual void Erase(Canvas*)
       virtual void Erase(Canvas*, Coord, Coord, Coord, Coord)
       virtual void EraseClipped(Canvas*, Coord, Coord, Coord,
              Coord)
              Draw or erase the graphic on the given canvas.  The
              one-parameter  Draw  and  Erase operations draw and
              erase the graphic in its entirety.  The five-param-
              eter forms take four coordinates defining a rectan-
              gular area with which to cull  drawing.   Composite
              graphics  in particular can use this information to
              avoid drawing children falling entirely outside the
              given  area.  DrawClipped and EraseClipped draw the
              graphic strictly within a  rectangular  area.   All
              Coord parameters are in canvas coordinates.

       virtual void FillBg(boolean)
       virtual void SetBrush(PSBrush*)
       virtual void SetColors(PSColor* fg, PSColor* bg)
       virtual void SetFont(PSFont*)
       virtual void SetPattern(PSPattern*)

       virtual int BgFilled()
       virtual PSBrush* GetBrush()
       virtual PSColor* GetFgColor()
       virtual PSColor* GetBgColor()
       virtual PSFont* GetFont()
       virtual PSPattern* GetPattern()
              class  implements  the  operations  for setting and
              getting the fill mode and colors; the other  opera-
              tions  should  be redefined in subclasses that need
              them.

       void Translate(float dx, float dy)
       void Scale(float x, float y, float cx = 0.0, float cy =
              0.0)
       void Rotate(float angle, float cx = 0.0, float cy = 0.0)
       void SetTransformer(Transformer*)
       Transformer* GetTransformer()
       void TotalTransformation(Transformer& t)
              Coordinates passed to drawing operations are trans-
              formed according to the current translation,  rota-
              tion,  and  scale  factor.  Optionally, scaling and
              rotation can be performed relative to a point  (cx,
              cy).   The  base class stores a transformer _t that
              can be directly set  and  accessed  with  SetTrans-
              former and GetTransformer.  The default transformer
              is nil, meaning no transformations  are  performed.
              TotalTransformation      uses     concatTransformer
              (described below) to  concatenate  t  (usually  the
              identity  transformation)  and  the transformers of
              the graphic's parents to obtain the graphic's total
              transformation, which it then stores in t.

              Unless  otherwise  noted,  input and output coordi-
              nates are affected by the concatentation of  this's
              transformer, its parent's transformer, its parent's
              parent's, and so on up to the root of  the  graphic
              instance hierarchy.  Prior to transformation, coor-
              dinates reflect the  graphic's  coordinate  system.
              Following  transformation,  the coordinates reflect
              the canvas coordinate system (i.e., they are canvas
              coordinates).   The  coordinates  that Graphic sub-
              class constructors require are normally in  graphic
              coordinates,   while  operations  for  returning  a
              graphic's bounding box (see below)  are  in  canvas
              coordinates.

       void Align(Alignment, Graphic*, Alignment)
              Position  the given graphic relative to this, which
              stays fixed, while  the  graphic  supplied  as  the
              argument  is  translated  appropriately.  The first
              Alignment parameter specifies  the  alignment  with
              respect  to  this,  while  the second specifies the
              alignment with respect to the given graphic.

       virtual void GetBounds(
           float& left, float&  a gray pattern when
       it receives a LeaveEvent.


PUBLIC OPERATIONS

       Frame(Interactor*, int width = 1)
              Construct  a frame.  If the given interactor is not
              nil, it is inserted as the frame's component.   The
              frame  extends width pixels outside of the interac-
              tor.

       ShadowFrame(Interactor*, int h = 1, int v = 1)
              Construct a shadow frame.  The h and v  ShadowFrame
              parameters  specify the width of the horizontal and
              vertical shadows,  respectively.   Positive  values
              for these parameters specify shadows falling to the
              right and below the interactor, respectively; nega-
              tive values specify shadows falling to the left and
              above.

       MarginFrame(Interactor* = nil, int margin = 0)
       MarginFrame(Interactor*, int margin, int shrink, int
              stretch)
       MarginFrame(Interactor*, int hmargin, int vmargin)
       MarginFrame(Interactor*,  int hm, int hshr, int hstr, int
              vm, int vshr, int vstr)
              Construct  a  margin  frame.  The first constructor
              puts rigid, fixed-sized glue around the  component,
              while the second surrounds it with fixed-sized glue
              of  the  given  shrinkability  and  stretchability.
              Independent horizontal and vertical margins are set
              with the third constructor.  The  last  constructor
              allows  full  specification  of  the margin frame's
              horizontal and vertical  margins,  shrinkabilities,
              and stretchabilities.

              ShowFrame   objects   listen   for  EnterEvent  and
              LeaveEvent.   When  an  EnterEvent   is   received,
              ShowFrame::Handle  calls InsideFrame(true); when an
              LeaveEvent   is   received,   it   calls    Inside-
              Frame(false).   For  any other event, it calls Han-
              dleInput.   ShowFrame::InsideFrame  does   nothing.
              ShowFrame::HandleInput  calls Handle on the frame's
              component.

       TitleFrame(Banner*, Interactor*, int width = 1)
              Construct a title  frame  with  the  given  banner.
              TitleFrame::InsideFrame highlights and unhighlights
              the banner.

       BorderFrame(Interactor*, int width = 1)
              Construct a border frame.  BorderFrame::InsideFrame
              highlights and unhighlights the border.


PROTECTED OPERATIONS

       Frame(Interactor*, int, int, int, int)
              This  constructor  is used by subclasses to explic-
              itly set the widths of each line  in  the  outline.
              The integers specify the width of the left, bottom,
              right, and top lines, respectively.


SEE ALSO

       Banner(3I), Event(3I), Glue(3I), Scene(3I)


























Man(1) output converted with man2html
./usr/share/doc/doc/man3.1/GVUpdater.html0100644000000000000000000000560407002054562016670 0ustar rootroot