UNPKG

fabric

Version:

Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.

30 lines (27 loc) 1.12 kB
import type { TSize } from '../../typedefs'; /** * Finds the scale for the object source to fit inside the object destination, * keeping aspect ratio intact. * respect the total allowed area for the cache. * @param {TSize} source natural unscaled size of the object * @param {TSize} destination natural unscaled size of the object * @return {Number} scale factor to apply to source to fit into destination */ export const findScaleToFit = (source: TSize, destination: TSize) => Math.min( destination.width / source.width, destination.height / source.height, ); /** * Finds the scale for the object source to cover entirely the object destination, * keeping aspect ratio intact. * respect the total allowed area for the cache. * @param {TSize} source natural unscaled size of the object * @param {TSize} destination natural unscaled size of the object * @return {Number} scale factor to apply to source to cover destination */ export const findScaleToCover = (source: TSize, destination: TSize) => Math.max( destination.width / source.width, destination.height / source.height, );