UNPKG

advanced-cropper

Version:

The core of the advanced cropper libraries family

93 lines (88 loc) 3.42 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var index = require('../utils/index.js'); var helpers = require('./helpers.js'); function normalizeResizeDirections(state, directions) { var coefficient = helpers.getCoefficient(state); return { left: index.isNumber(directions.left) ? directions.left * coefficient : 0, top: index.isNumber(directions.top) ? directions.top * coefficient : 0, right: index.isNumber(directions.right) ? directions.right * coefficient : 0, bottom: index.isNumber(directions.bottom) ? directions.bottom * coefficient : 0, }; } function normalizeCenter(state, center) { var coefficient = helpers.getCoefficient(state); if (state.visibleArea) { return { left: center.left * coefficient + state.visibleArea.left, top: center.top * coefficient + state.visibleArea.top, }; } return center; } function normalizeFlip(state, flip) { if (state) { var normalizedAngle = Math.abs(state.transforms.rotate % 180); if (normalizedAngle <= 45 || normalizedAngle >= 135) { return flip; } else { return { horizontal: flip.vertical, vertical: flip.horizontal, }; } } return flip; } function fillMoveDirections(directions) { return { left: index.isNumber(directions.left) ? directions.left : 0, top: index.isNumber(directions.top) ? directions.top : 0, }; } function fillResizeDirections(directions) { return { left: index.isNumber(directions.left) ? directions.left : 0, top: index.isNumber(directions.top) ? directions.top : 0, right: index.isNumber(directions.right) ? directions.right : 0, bottom: index.isNumber(directions.bottom) ? directions.bottom : 0, }; } function normalizeMoveDirections(state, directions) { var coefficient = helpers.getCoefficient(state); return { left: index.isNumber(directions.left) ? directions.left * coefficient : 0, top: index.isNumber(directions.top) ? directions.top * coefficient : 0, }; } function normalizeImageTransform(state, transform) { if (transform.scale) { transform.scale = { factor: index.isNumber(transform.scale) ? transform.scale : transform.scale.factor, center: !index.isNumber(transform.scale) && transform.scale.center ? normalizeCenter(state, transform.scale.center) : undefined, }; } if (transform.rotate) { transform.rotate = { angle: index.isNumber(transform.rotate) ? transform.rotate : transform.rotate.angle, center: !index.isNumber(transform.rotate) && transform.rotate.center ? normalizeCenter(state, transform.rotate.center) : undefined, }; } if (transform.move) { transform.move = normalizeMoveDirections(state, transform.move); } return transform; } exports.fillMoveDirections = fillMoveDirections; exports.fillResizeDirections = fillResizeDirections; exports.normalizeCenter = normalizeCenter; exports.normalizeFlip = normalizeFlip; exports.normalizeImageTransform = normalizeImageTransform; exports.normalizeMoveDirections = normalizeMoveDirections; exports.normalizeResizeDirections = normalizeResizeDirections;