NAME¶
Viewport - scrollable view
SYNOPSIS¶
#include <InterViews/viewport.h>
DESCRIPTION¶
Viewport is a subclass of MonoScene that allocates its component exactly
as much space as it wants (determined from its shape). This space will be
clipped to the viewport's size and the viewport maintains a perspective to
adjust the portion of the component that is actually displayed. If the
component is smaller than the viewport's canvas, then the viewport background
will be filled with a light gray pattern.
PUBLIC OPERATIONS¶
- Viewport(Interactor* = nil, Alignment = Center)
- Construct a new viewport. If the interactor is not nil, it
is inserted as the viewport's component. The second parameter determines
where the component is placed relative to the viewport.
- Insert(Interactor*)
- Set the component interactor.
- void Change(Interactor*)
- A viewport does not propagate changes. Thus, if the
component's shape changes the viewport simply resizes the component
according to the new shape.
- void Remove(Interactor*)
- Take out the component interactor.
- virtual void Adjust(Perspective&)
- Change the viewport's perspective to the given one. This
operation will cause the desired area of the component to be drawn.
- void AdjustTo(float px, float py, float zx, float
zy)
- void AdjustBy(float dpx, float dpy, float dzx, float
dzy)
- void ScrollTo(float px, float py)
- void ScrollXTo(float px)
- void ScrollYTo(float py)
- void ScrollBy(float dpx, float dpy)
- void ScrollXBy(float dpx)
- void ScrollYBy(float dpy)
- void ZoomTo(float zx, float zy)
- void ZoomXTo(float zx)
- void ZoomYTo(float zy)
- void ZoomBy(float dzx, float dzy)
- void ZoomXBy(float dzx)
- void ZoomYBy(float dzy)
- Short-hand operations for explicit manipulation of the
viewport's perspective.
- float XPos()
- float YPos()
- float XMag()
- float YMag()
- Short-hand for retrieving information about the current
perspective.
SEE ALSO¶
Perspective(3I), Scene(3I), Shape(3I)