Provided by: ivtools-dev_2.0.11d.a1-1build4_amd64 bug

NAME

       Manipulator - base class for defining direct-manipulation semantics

SYNOPSIS

       #include <Unidraw/manip.h>

DESCRIPTION

       Tools  use  manipulator  objects  to  encapsulate  the  mechanics  of direct manipulation.
       Manipulators turn user input events into  an  animation  sequence  that  characterize  the
       manipulation.   Manipulators  abstract  the  manipulation  into three phases: the grasping
       phase, which occurs at the start of the manipulation and lets the  manipulator  initialize
       state  it  will need in later phases; the manipulating phase, during which the manipulator
       accepts input events and generates graphical output that characterizes  successive  frames
       of  the  animation;  and  finally  the  effect  phase,  which  occurs  at  the  end of the
       manipulation and lets the manipulator finalize its state.  Manipulator is an abstract base
       class.  Subclasses support different manipulation semantics.

MANIPULATOR PUBLIC OPERATIONS

       virtual void Grasp(Event&)
              Grasp  is  called  once  at  the  beginning  of  direct  manipulation  to allow the
              manipulator to initialize its internal state based on the initiating event.

       virtual boolean Manipulating(Event&)
              Manipulating is called repeatedly during the  manipulation  whenever  a  new  event
              arrives,  until  it  returns false.  Each call to Manipulating should produce a new
              frame of the animation that characterizes the manipulation.

       virtual void Effect(Event&)
              Effect is called once at the end of direct manipulation to allow the manipulator to
              finalize  its  internal  state based on the last event supplied to the Manipulating
              operation.

       virtual void SetViewer(Viewer*)
       virtual Viewer* GetViewer()
       virtual void SetTool(Tool*)
       virtual Tool* GetTool()
              Get and set the viewer, in which the manipulator generates  graphical  output,  and
              the  tool  that  created  the manipulator.  These operations do nothing by default;
              subclasses that require this information must redefine these operations  to  assign
              and retrieve the state they require.

MANIPULATOR PROTECTED OPERATIONS

       Manipulator()
              The  constructor  is  protected  to  disallow  instantiation of abstract base class
              objects.

SEE ALSO

       Event(3I), Tool(3U), Viewer(3U)