Viewport(3I)

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)