'use strict'; crop.factory('cropArea', ['cropCanvas', function(CropCanvas) { var CropArea = function(ctx, events) { this._ctx=ctx; this._events=events; this._minSize=80; this._cropCanvas=new CropCanvas(ctx); this._image=new Image(); this._x = 0; this._y = 0; this._size = 200; }; /* GETTERS/SETTERS */ CropArea.prototype.getImage = function () { return this._image; }; CropArea.prototype.setImage = function (image) { this._image = image; }; CropArea.prototype.getX = function () { return this._x; }; CropArea.prototype.setX = function (x) { this._x = x; this._dontDragOutside(); }; CropArea.prototype.getY = function () { return this._y; }; CropArea.prototype.setY = function (y) { this._y = y; this._dontDragOutside(); }; CropArea.prototype.getSize = function () { return this._size; }; CropArea.prototype.setSize = function (size) { this._size = Math.max(this._minSize, size); this._dontDragOutside(); }; CropArea.prototype.getMinSize = function () { return this._minSize; }; CropArea.prototype.setMinSize = function (size) { this._minSize = size; this._size = Math.max(this._minSize, this._size); this._dontDragOutside(); }; /* FUNCTIONS */ CropArea.prototype._dontDragOutside=function() { var h=this._ctx.canvas.height, w=this._ctx.canvas.width; if(this._size>w) { this._size=w; } if(this._size>h) { this._size=h; } if(this._xw-this._size/2) { this._x=w-this._size/2; } if(this._yh-this._size/2) { this._y=h-this._size/2; } }; CropArea.prototype._drawArea=function() {}; CropArea.prototype.draw=function() { // draw crop area this._cropCanvas.drawCropArea(this._image,[this._x,this._y],this._size,this._drawArea); }; CropArea.prototype.processMouseMove=function() {}; CropArea.prototype.processMouseDown=function() {}; CropArea.prototype.processMouseUp=function() {}; return CropArea; }]);