Roo/dialog/UploadCropbox.js
[roojs1] / Roo / dialog / UploadCropbox.js
index 9b0ead0..0339b82 100644 (file)
@@ -470,6 +470,7 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     setCanvasPosition : function()
     {   
+        console.log("SET CANVAS POSITION");
         if(!this.canvasEl){
             return;
         }
@@ -484,6 +485,7 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     onMouseDown : function(e)
     {   
+        console.log("ON MOUSE DOWN");
         e.stopEvent();
         
         this.dragable = true;
@@ -501,6 +503,7 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     onMouseMove : function(e)
     {   
+        console.log ("ON MOUSE MOVE");
         e.stopEvent();
         
         if(!this.canvasLoaded){
@@ -513,10 +516,24 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
         
         var minX = Math.ceil(this.thumbEl.getLeft(true));
         var minY = Math.ceil(this.thumbEl.getTop(true));
+
+        console.log("minX");
+        console.log(minX);
+        console.log("minY");
+        console.log(minY);
         
         var maxX = Math.ceil(minX + this.thumbEl.getWidth() - this.canvasEl.width);
         var maxY = Math.ceil(minY + this.thumbEl.getHeight() - this.canvasEl.height);
         
+        console.log("maxX");
+        console.log(maxX);
+        console.log("maxY");
+        console.log(maxY);
+
+        if(minX < maxX || minY < maxY) {
+            return;
+        }
+
         var x = Roo.isTouch ? e.browserEvent.touches[0].pageX : e.getPageX();
         var y = Roo.isTouch ? e.browserEvent.touches[0].pageY : e.getPageY();
         
@@ -751,6 +768,8 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
         var canvasEl = document.createElement("canvas");
         
         var contextEl = canvasEl.getContext("2d");
+
+        console.log(this.getScaleLevel());
         
         canvasEl.width = this.imageEl.OriginWidth * this.getScaleLevel();
         canvasEl.height = this.imageEl.OriginWidth * this.getScaleLevel();
@@ -767,7 +786,7 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
         contextEl.translate(center, center);
         contextEl.rotate(this.rotate * Math.PI / 180);
 
-        contextEl.drawImage(this.imageEl, 0, 0, this.imageEl.OriginWidth, this.imageEl.OriginHeight, 0, 0, this.imageEl.OriginWidth, this.imageEl.OriginHeight);
+        contextEl.drawImage(this.imageEl, 0, 0, this.imageEl.OriginWidth, this.imageEl.OriginHeight, center * -1, center * -1, this.imageEl.OriginWidth, this.imageEl.OriginHeight);
         
         this.canvasEl = document.createElement("canvas");
         
@@ -1175,7 +1194,11 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
             }
             
         }
-        
+
+        if(this.imageEl.OriginWidth < this.minWidth || this.imageEl.OriginHeight < this.minHeight) {
+            this.baseScale = width / this.minWidth;
+        }
+        console.log(this.baseScale);
         return;
     },