UNPKG

@cornerstonejs/core

Version:
36 lines (35 loc) 1.02 kB
export const MIN_PLANAR_SCALE = 0.001; const PLANAR_SCALE_MODES = new Set([ 'fit', 'fitAspect', 'fitWidth', 'fitHeight', 'absolute', ]); function normalizeScaleValue(value) { return typeof value === 'number' && Number.isFinite(value) ? Math.max(value, MIN_PLANAR_SCALE) : 1; } export function normalizePlanarScale(scale) { if (Array.isArray(scale)) { return [normalizeScaleValue(scale[0]), normalizeScaleValue(scale[1])]; } const scalarScale = normalizeScaleValue(scale); return [scalarScale, scalarScale]; } export function clonePlanarScale(scale) { return normalizePlanarScale(scale); } export function getPlanarScaleZoom(scale) { return normalizePlanarScale(scale)[1]; } export function normalizePlanarScaleMode(scaleMode) { return PLANAR_SCALE_MODES.has(scaleMode || '') ? scaleMode : 'fit'; } export function getPlanarScaleRatio(scale) { const [scaleX, scaleY] = normalizePlanarScale(scale); return scaleX / scaleY; }