API
Scaler Class
Constructor
new Scaler(callback: (values: ScalerValues) => void, options?: Partial<ScalerOptions>)Methods
setDimensions(clientW, clientH, contentW, contentH)— Set viewport/content sizesetPosition(left, top)— Set element position in documentsetSnapSize(width, height)— Set grid snap cell sizescrollTo(left, top, animate?)— Scroll to absolute positionscrollBy(dx, dy, animate?)— Scroll by relative deltazoomTo(level, animate?, originX?, originY?)— Zoom to absolute levelzoomBy(factor, animate?, originX?, originY?)— Zoom by relative factorgetValues(): ScalerValues— Get current transform valuesdoTouchStart(touches, timeStamp)— Handle touch startdoTouchMove(touches, timeStamp)— Handle touch movedoTouchEnd(timeStamp)— Handle touch enddoMouseZoom(wheelDelta, timeStamp, pageX, pageY)— Handle mouse wheel zoomactivatePullToRefresh(height, callbacks)— Enable pull-to-refreshfinishPullToRefresh()— Complete pull-to-refresh cycledestroy()— Clean up resources
ScalerValues
interface ScalerValues {
matrix: Matrix;
translateX: number;
translateY: number;
zoom: number;
scrollLeft: number;
scrollTop: number;
}ScalerOptions
interface ScalerOptions {
scrollingX: boolean; // default: true
scrollingY: boolean; // default: true
animating: boolean; // default: true
bouncing: boolean; // default: true
locking: boolean; // default: true
paging: boolean; // default: false
snapping: boolean; // default: false
zooming: boolean; // default: false
minZoom: number; // default: 0.5
maxZoom: number; // default: 3
deceleration: number; // default: 0.95
animationProvider: AnimationProvider | null; // default: null (auto-detect)
}