27 lines
767 B
TypeScript
27 lines
767 B
TypeScript
type 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;
|
|
}
|