advanced-cropper
Version:
The core of the advanced cropper libraries family
48 lines (43 loc) • 2 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
require('tslib');
var helpers = require('../service/helpers.js');
var index = require('../types/index.js');
var setCoordinates = require('./setCoordinates.js');
var setVisibleArea = require('./setVisibleArea.js');
function createState(options, settings) {
var _a, _b, _c, _d, _e;
var boundary = options.boundary, image = options.image;
var state = {
boundary: {
width: boundary.width,
height: boundary.height,
},
imageSize: {
width: image.width,
height: image.height,
},
transforms: {
rotate: ((_a = image.transforms) === null || _a === void 0 ? void 0 : _a.rotate) || 0,
flip: {
horizontal: ((_c = (_b = image.transforms) === null || _b === void 0 ? void 0 : _b.flip) === null || _c === void 0 ? void 0 : _c.horizontal) || false,
vertical: ((_e = (_d = image.transforms) === null || _d === void 0 ? void 0 : _d.flip) === null || _e === void 0 ? void 0 : _e.vertical) || false,
},
},
visibleArea: null,
coordinates: null,
};
if (settings.defaultTransforms) {
state.transforms = helpers.getDefaultTransforms(state, settings);
}
if (settings.priority === index.Priority.visibleArea) {
state = setVisibleArea.setVisibleArea(state, settings, helpers.getDefaultVisibleArea(state, settings), false);
state = setCoordinates.setCoordinates(state, settings, helpers.getDefaultCoordinates(state, settings), setCoordinates.SetCoordinatesMode.limit);
}
else {
state = setCoordinates.setCoordinates(state, settings, helpers.getDefaultCoordinates(state, settings), setCoordinates.SetCoordinatesMode.unsafe);
state = setVisibleArea.setVisibleArea(state, settings, helpers.getDefaultVisibleArea(state, settings), true);
}
return state;
}
exports.createState = createState;