Viewport - scrollable view
#include <InterViews/viewport.h>
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.
- 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.