83 lines
2.6 KiB
Plaintext
83 lines
2.6 KiB
Plaintext
// Globals
|
|
var $window = $(window);
|
|
var $document = $(document);
|
|
var location = window.location;
|
|
var navigator = window.navigator;
|
|
var ArrayBuffer = window.ArrayBuffer;
|
|
var Uint8Array = window.Uint8Array;
|
|
var DataView = window.DataView;
|
|
var btoa = window.btoa;
|
|
|
|
// Constants
|
|
var NAMESPACE = 'cropper';
|
|
|
|
// Classes
|
|
var CLASS_MODAL = 'cropper-modal';
|
|
var CLASS_HIDE = 'cropper-hide';
|
|
var CLASS_HIDDEN = 'cropper-hidden';
|
|
var CLASS_INVISIBLE = 'cropper-invisible';
|
|
var CLASS_MOVE = 'cropper-move';
|
|
var CLASS_CROP = 'cropper-crop';
|
|
var CLASS_DISABLED = 'cropper-disabled';
|
|
var CLASS_BG = 'cropper-bg';
|
|
|
|
// Events
|
|
var EVENT_MOUSE_DOWN = 'mousedown touchstart pointerdown MSPointerDown';
|
|
var EVENT_MOUSE_MOVE = 'mousemove touchmove pointermove MSPointerMove';
|
|
var EVENT_MOUSE_UP = 'mouseup touchend touchcancel pointerup pointercancel MSPointerUp MSPointerCancel';
|
|
var EVENT_WHEEL = 'wheel mousewheel DOMMouseScroll';
|
|
var EVENT_DBLCLICK = 'dblclick';
|
|
var EVENT_LOAD = 'load.' + NAMESPACE;
|
|
var EVENT_ERROR = 'error.' + NAMESPACE;
|
|
var EVENT_RESIZE = 'resize.' + NAMESPACE; // Bind to window with namespace
|
|
var EVENT_BUILD = 'build.' + NAMESPACE;
|
|
var EVENT_BUILT = 'built.' + NAMESPACE;
|
|
var EVENT_CROP_START = 'cropstart.' + NAMESPACE;
|
|
var EVENT_CROP_MOVE = 'cropmove.' + NAMESPACE;
|
|
var EVENT_CROP_END = 'cropend.' + NAMESPACE;
|
|
var EVENT_CROP = 'crop.' + NAMESPACE;
|
|
var EVENT_ZOOM = 'zoom.' + NAMESPACE;
|
|
|
|
// RegExps
|
|
var REGEXP_ACTIONS = /e|w|s|n|se|sw|ne|nw|all|crop|move|zoom/;
|
|
var REGEXP_DATA_URL = /^data\:/;
|
|
var REGEXP_DATA_URL_HEAD = /^data\:([^\;]+)\;base64,/;
|
|
var REGEXP_DATA_URL_JPEG = /^data\:image\/jpeg.*;base64,/;
|
|
|
|
// Data keys
|
|
var DATA_PREVIEW = 'preview';
|
|
var DATA_ACTION = 'action';
|
|
|
|
// Actions
|
|
var ACTION_EAST = 'e';
|
|
var ACTION_WEST = 'w';
|
|
var ACTION_SOUTH = 's';
|
|
var ACTION_NORTH = 'n';
|
|
var ACTION_SOUTH_EAST = 'se';
|
|
var ACTION_SOUTH_WEST = 'sw';
|
|
var ACTION_NORTH_EAST = 'ne';
|
|
var ACTION_NORTH_WEST = 'nw';
|
|
var ACTION_ALL = 'all';
|
|
var ACTION_CROP = 'crop';
|
|
var ACTION_MOVE = 'move';
|
|
var ACTION_ZOOM = 'zoom';
|
|
var ACTION_NONE = 'none';
|
|
|
|
// Supports
|
|
var SUPPORT_CANVAS = $.isFunction($('<canvas>')[0].getContext);
|
|
var IS_SAFARI = navigator && /safari/i.test(navigator.userAgent) && /apple computer/i.test(navigator.vendor);
|
|
|
|
// Maths
|
|
var num = Number;
|
|
var min = Math.min;
|
|
var max = Math.max;
|
|
var abs = Math.abs;
|
|
var sin = Math.sin;
|
|
var cos = Math.cos;
|
|
var sqrt = Math.sqrt;
|
|
var round = Math.round;
|
|
var floor = Math.floor;
|
|
|
|
// Utilities
|
|
var fromCharCode = String.fromCharCode;
|