@cloudinary/url-gen
Version:
You are invited to influence our new SDK [Click here to view github discussion](https://github.com/cloudinary/js-url-gen/discussions/602) =========================
47 lines (43 loc) • 1.62 kB
JavaScript
;
var Qualifier = require('./Qualifier-6633a22f.cjs');
var ResizeAdvancedAction = require('./ResizeAdvancedAction-dd8733aa.cjs');
/**
* @description Defines how to crop an asset
* @extends Actions.Resize.ResizeAdvancedAction
* @memberOf Actions.Resize
* @see Visit {@link Actions.Resize| Resize} for examples
*/
class ResizeCropAction extends ResizeAdvancedAction.ResizeAdvancedAction {
/**
* @description Horizontal position for custom-coordinates based cropping.
* @param {number} x The x position.
*/
x(x) {
this._actionModel.x = x;
return this.addQualifier(new Qualifier.Qualifier('x', x));
}
/**
* @description Vertical position for custom-coordinates based cropping
* @param {number} y The y position.
*/
y(y) {
this._actionModel.y = y;
return this.addQualifier(new Qualifier.Qualifier('y', y));
}
/**
* @description Controls how much of the original image surrounding the face to keep when using either the 'crop' or 'thumb' cropping modes with face detection.
* @param {number | string} z The zoom factor. (Default: 1.0)
*/
zoom(z) {
this._actionModel.zoom = z;
return this.addQualifier(new Qualifier.Qualifier('z', z));
}
static fromJson(actionModel) {
const result = super.fromJson.apply(this, [actionModel]);
actionModel.x && result.x(actionModel.x);
actionModel.y && result.y(actionModel.y);
actionModel.zoom && result.zoom(actionModel.zoom);
return result;
}
}
exports.ResizeCropAction = ResizeCropAction;