|
svcore
1.9
|
ZoomConstraint is a simple interface that describes a limitation on the available zoom sizes for a view, for example based on cache strategy or a (processing) window-size limitation. More...
#include <ZoomConstraint.h>

Public Types | |
| enum | RoundingDirection { RoundDown, RoundUp, RoundNearest } |
Public Member Functions | |
| virtual | ~ZoomConstraint () |
| virtual int | getNearestBlockSize (int requestedBlockSize, RoundingDirection=RoundNearest) const |
| Given the "ideal" block size (frames per pixel) for a given zoom level, return the nearest viable block size for this constraint. More... | |
| virtual int | getMaxZoomLevel () const |
| Return the maximum zoom level within range for this constraint. More... | |
ZoomConstraint is a simple interface that describes a limitation on the available zoom sizes for a view, for example based on cache strategy or a (processing) window-size limitation.
The default ZoomConstraint imposes no actual constraint except for a nominal maximum.
Definition at line 30 of file ZoomConstraint.h.
| Enumerator | |
|---|---|
| RoundDown | |
| RoundUp | |
| RoundNearest | |
Definition at line 35 of file ZoomConstraint.h.
|
inlinevirtual |
Definition at line 33 of file ZoomConstraint.h.
|
inlinevirtual |
Given the "ideal" block size (frames per pixel) for a given zoom level, return the nearest viable block size for this constraint.
For example, if a block size of 1523 frames per pixel is requested but the underlying model only supports value summaries at powers-of-two block sizes, return 1024 or 2048 depending on the rounding direction supplied.
Reimplemented in PowerOfSqrtTwoZoomConstraint, and PowerOfTwoZoomConstraint.
Definition at line 51 of file ZoomConstraint.h.
References getMaxZoomLevel().
|
inlinevirtual |
Return the maximum zoom level within range for this constraint.
Definition at line 62 of file ZoomConstraint.h.
Referenced by PowerOfTwoZoomConstraint::getNearestBlockSize(), PowerOfSqrtTwoZoomConstraint::getNearestBlockSize(), and getNearestBlockSize().