28 lines
758 B
TypeScript
28 lines
758 B
TypeScript
interface GetDirectionParams {
|
|
width: number
|
|
prevWidth: number
|
|
height: number
|
|
prevHeight: number
|
|
invertX: boolean
|
|
invertY: boolean
|
|
}
|
|
|
|
// returns an array of two numbers (0, 1 or -1) representing the direction of the resize
|
|
// 0 = no change, 1 = increase, -1 = decrease
|
|
export function getDirection({ width, prevWidth, height, prevHeight, invertX, invertY }: GetDirectionParams) {
|
|
const deltaWidth = width - prevWidth
|
|
const deltaHeight = height - prevHeight
|
|
|
|
const direction = [deltaWidth > 0 ? 1 : deltaWidth < 0 ? -1 : 0, deltaHeight > 0 ? 1 : deltaHeight < 0 ? -1 : 0]
|
|
|
|
if (deltaWidth && invertX) {
|
|
direction[0] = direction[0] * -1
|
|
}
|
|
|
|
if (deltaHeight && invertY) {
|
|
direction[1] = direction[1] * -1
|
|
}
|
|
|
|
return direction
|
|
}
|