image editing dialog
[roojs1] / Roo / dialog / UploadCropbox.js
index 88058ec..a5d3e5c 100644 (file)
@@ -26,7 +26,6 @@
  */
 
  Roo.dialog.UploadCropbox = function(config){
-    console.log("Dialog UploadCropbox Constructor");
     Roo.dialog.UploadCropbox.superclass.constructor.call(this, config);
     
     this.addEvents({
@@ -339,8 +338,7 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
         this.cropData = false;
         this.notifyEl.dom.innerHTML = this.emptyText;
         
-        console.log("RESET SELECTOR EL")
-        this.selectorEl.dom.value = '';
+        // this.selectorEl.dom.value = '';
         
     },
     
@@ -548,9 +546,9 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
         e.stopEvent();
         
         this.startScale = this.scale;
-        
+        console.log("START SCALE: " + this.scale);
         this.scale = (e.getWheelDelta() == 1) ? (this.scale + 1) : (this.scale - 1);
-        
+        console.log("END SCALE: " + this.scale);
         if(!this.zoomable()){
             this.scale = this.startScale;
             return;
@@ -563,14 +561,34 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     zoomable : function()
     {
+        console.log("THUMBEL");
+        console.log(this.thumbEl);
         var minScale = this.thumbEl.getWidth() / this.minWidth;
         
         if(this.minWidth < this.minHeight){
             minScale = this.thumbEl.getHeight() / this.minHeight;
         }
+
+        console.log("MINSCALE: " + minScale);
         
         var width = Math.ceil(this.imageEl.OriginWidth * this.getScaleLevel() / minScale);
         var height = Math.ceil(this.imageEl.OriginHeight * this.getScaleLevel() / minScale);
+
+        var maxWidth = this.imageEl.OriginWidth;
+        var maxHeight = this.imageEl.OriginHeight;
+
+        if(this.imageEl.OriginWidth / this.imageEl.OriginHeight  > this.minWidth / this.minHeight && this.imageEl.OriginHeight < this.minHeight) {
+            maxHeight = this.minHeight;
+            maxWidth = this.imageEl.OriginWidth / this.imageEl.OriginHeight * this.minHeight;
+        }
+        if(this.imageEl.OriginWidth / this.imageEl.OriginHeight  < this.minWidth / this.minHeight && this.imageEl.OriginWidth < this.minWidth) {
+            maxWidth = this.minWidth;
+            maxHeight = this.imageEl.OriginHeight /this.imageEl.OriginWidth * this.minWidth;
+        }
+
+        console.log("GETSCALELEVEL: " + this.getScaleLevel());
+        console.log("width: " + width);
+        console.log("height: " + height);
         
         if(
                 this.isDocument &&
@@ -600,10 +618,10 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
                 !this.isDocument &&
                 (this.rotate == 0 || this.rotate == 180) && 
                 (
-                    width < this.minWidth || 
-                    width > this.imageEl.OriginWidth || 
-                    height < this.minHeight || 
-                    height > this.imageEl.OriginHeight
+                    (this.imageEl.OriginWidth / this.imageEl.OriginHeight  > this.minWidth / this.minHeight && width < this.minWidth) || 
+                    width > maxWidth || 
+                    (this.imageEl.OriginWidth / this.imageEl.OriginHeight  < this.minWidth / this.minHeight && height < this.minHeight) || 
+                    height > maxHeight
                 )
         ){
             return false;
@@ -1176,7 +1194,8 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     getScaleLevel : function()
     {
-        return this.baseScale * Math.pow(1.1, this.scale);
+        console.log("BASESCALE: " + this.baseScale);
+        return this.baseScale * Math.pow(1.02, this.scale);
     },
     
     onTouchStart : function(e)