Adjuster - button-like interactors for incremental
scrolling and zooming
SYNOPSIS
#include <InterViews/adjuster.h>
DESCRIPTION
Adjuster objects manipulate a perspective using a pushbut-
ton-like interface. Adjusters also provide an auto-repeat
capability. Depressing and holding down any mouse button
on an adjuster for a specified time causes it to repeat-
edly perform its operation. The auto-repeat terminates
when the button is released.
Predefined subclasses of Adjuster include Zoomer and
Mover. Zoomers adjust the perspective's curwidth and
curheight members to suggest magnification. The user
clicks on a zoomer to magnify or reduce the contents of
the interactor through its perspective. The Enlarger
zoomer subclass halves the perspective values while the
Reducer class doubles them. Movers provide an incremental
movement of the perspective in one of four directions;
left, right, down, or up. The user clicks on a mover to
move the perspective.
PUBLIC OPERATIONS
Adjuster(Interactor*, int = NO_AUTOREPEAT)
Adjuster constructors take a pointer to the inter-
actor whose perspective will be adjusted and a
delay (in tenths of a second) after which auto-
repeat will begin once the adjuster is ``pressed''.
virtual void Highlight()
virtual void UnHighlight()
These functions define how the adjuster draws
itself when it is pressed. The adjuster is high-
lighted when it is pressed with any mouse button
and unhighlighted when the button is released. The
default is to invert the adjuster when highlighted.
PROTECTED OPERATIONS
virtual void AdjustView(Event&)
This function defines how the adjuster adjusts the
interactor's perspective. It is called after the
adjuster is pressed and released, or repeatedly
during auto-repeat. Derived classes should rede-
fine this function to implement the desired behav-
ior.
DERIVED CLASSES
Enlarger(Interactor*)
Reducer(Interactor*)
by factors of one half and two, respectively. This
suggests to an interactor to enlarge or reduce its
contents. Auto-repeat is disabled on these
adjusters.
LeftMover(Interactor*, int delay = NO_AUTOREPEAT)
RightMover(Interactor*, int delay = NO_AUTOREPEAT)
DownMover(Interactor*, int delay = NO_AUTOREPEAT)
UpMover(Interactor*, int delay = NO_AUTOREPEAT)
These subclasses of Mover adjust the current origin
of the interactor's perspective by an amount in the
corresponding direction. If the shift key is down
while the mover is pressed, the amount corresponds
to the perspective's lx or ly member variables;
otherwise, the sx or sy values are used.
SEE ALSO
Interactor(3I), Perspective(3I)
Man(1) output converted with
man2html