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. | |
virtual int | getMaxZoomLevel () const |
Return the maximum zoom level within range for this constraint. |
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.
Definition at line 35 of file ZoomConstraint.h.
virtual ZoomConstraint::~ZoomConstraint | ( | ) | [inline, virtual] |
Definition at line 33 of file ZoomConstraint.h.
virtual int ZoomConstraint::getNearestBlockSize | ( | int | requestedBlockSize, |
RoundingDirection | = RoundNearest |
||
) | const [inline, virtual] |
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().
virtual int ZoomConstraint::getMaxZoomLevel | ( | ) | const [inline, virtual] |
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().