InterViews Reference Manual -- Panner
NAME
Panner - two-dimensional scrolling and zooming
SYNOPSIS
#include <InterViews/panner.h>
DESCRIPTION
A panner is an interactor that manipulates the perspective of another
interactor to provide two-dimensional scrolling and zooming. A panner is
composed of a slider and several adjusters, including two zoomers and
four movers. The slider's position and size reflect the current origin, size,
and aspect ratio in the interactor's perspective. Dragging the slider around
with the mouse changes the perspective's curx and cury
members.
PUBLIC OPERATIONS
Panner(Interactor*, int size = 0)
Create a panner for the given interactor, optionally with the given width. If
the size is 0, a reasonable default size is used. The panner's aspect ratio
reflects that of the perspective.
Slider(Interactor*)
Slider::Handle(Event&)
Slider::Reshape(Shape&)
Slider::Update()
A slider reflects and lets the user specify the visible portion of the view. A
rectangle represents the visible area, while the area surrounding it represents
the total area. Clicking and holding down any mouse button on the rectangle
allows you to drag it to a different position within the total area. The
perspective's current origin is shifted to reflect the new position when the
button is released. Holding down the shift key while dragging the rectangle
constrains its motion horizontally or vertically. Clicking outside the
rectangle moves it in the corresponding one of eight directions; for example,
clicking to the right of the rectangle moves it to the right. If the left
mouse button is used, the movement increment equals the perspective's
sx or sy member variables. The middle mouse button
increments by lx or ly, and the right mouse button centers
the rectangle around the cursor. The Reshape call sets the width of the slider
to that of the passed Shape and calls Change on the parent interactor. Update
redisplays the slider to reflect a change in the interactor's perspective.
X DEFAULTS
The ``syncScroll'' resource specifies whether the slider should work in real-
time or not. When synchronized scrolling is employed the interactor scrolls
synchronously as the slider is dragged; otherwise the slider's outline follows
the mouse during dragging, and the interactor is scrolled only after the user
stops dragging the slider. Sliders will scroll synchronously if their
syncScroll resource is set to ``on'' or ``true.''
SEE ALSO
Adjuster , Interactor , Perspective
Next: Pattern
| Prev: Painter
| Up: index
| Top: index