Perspective - visible portion of an interactor


SYNOPSIS

       #include <InterViews/perspective.h>


DESCRIPTION

       A  perspective  object describes which part of an interac-
       tor's total display area is visible  in  the  interactor's
       canvas.   The  main  use of perspectives is for scrolling,
       panning, and zooming interactors.   The  member  variables
       (x0, y0)  define  the  origin  of the interactor's display
       area; width and height define  the  total  height  of  the
       area.  The member variables (curx, cury) define the lower-
       left corner of the interactor's  canvas  relative  to  the
       total  area; curwidth and curheight define how much of the
       total area is displayed in the canvas.

       The member variables sx, sy, lx, and ly specify small  and
       large  increments in each dimension.  These increments are
       used by a scroller to implement line and page scrolling.


PUBLIC OPERATIONS

       Perspective()
              Define a new perspective with all member  variables
              initialized to zero.

       void Attach(Interactor*)
              Add  to the list of interactors that are interested
              in updates to the perspective.   These  interactors
              reflect  the perspective visually; examples include
              scrollers and sliders.

       void Detach(Interactor*)
              Remove an interactor from the list of those  inter-
              ested  in updates.  This operation should be called
              from the interactor's destructor.

       void Init(Coord x0, Coord y0, Coord width, Coord height)
              Initialize the perspective display area.

       void Update()
              Notify all the interactors interested in  the  per-
              spective  that  it  has changed.  The perspective's
              interactor should call Update after  modifying  its
              perspective.


SEE ALSO

       Adjuster(3I), Interactor(3I), Panner(3I), Scroller(3I)





Man(1) output converted with man2html