[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

title

Body

[close]

/wp-includes/js/crop/ -> cropper.js (source)

   1  /**
   2   * Copyright (c) 2006, David Spurr (http://www.defusion.org.uk/)
   3   * All rights reserved.
   4   *
   5   * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
   6   *
   7   *     * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
   8   *     * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
   9   *     * Neither the name of the David Spurr nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
  10   *
  11   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  12   *
  13   * http://www.opensource.org/licenses/bsd-license.php
  14   *
  15   * See scriptaculous.js for full scriptaculous licence
  16   */
  17  
  18  var CropDraggable=Class.create();
  19  Object.extend(Object.extend(CropDraggable.prototype,Draggable.prototype),{initialize:function(_1){
  20  this.options=Object.extend({drawMethod:function(){
  21  }},arguments[1]||{});
  22  this.element=$(_1);
  23  this.handle=this.element;
  24  this.delta=this.currentDelta();
  25  this.dragging=false;
  26  this.eventMouseDown=this.initDrag.bindAsEventListener(this);
  27  Event.observe(this.handle,"mousedown",this.eventMouseDown);
  28  Draggables.register(this);
  29  },draw:function(_2){
  30  var _3=Position.cumulativeOffset(this.element);
  31  var d=this.currentDelta();
  32  _3[0]-=d[0];
  33  _3[1]-=d[1];
  34  var p=[0,1].map(function(i){
  35  return (_2[i]-_3[i]-this.offset[i]);
  36  }.bind(this));
  37  this.options.drawMethod(p);
  38  }});
  39  var Cropper={};
  40  Cropper.Img=Class.create();
  41  Cropper.Img.prototype={initialize:function(_7,_8){
  42  this.options=Object.extend({ratioDim:{x:0,y:0},minWidth:0,minHeight:0,displayOnInit:false,onEndCrop:Prototype.emptyFunction,captureKeys:true},_8||{});
  43  if(this.options.minWidth>0&&this.options.minHeight>0){
  44  this.options.ratioDim.x=this.options.minWidth;
  45  this.options.ratioDim.y=this.options.minHeight;
  46  }
  47  this.img=$(_7);
  48  this.clickCoords={x:0,y:0};
  49  this.dragging=false;
  50  this.resizing=false;
  51  this.isWebKit=/Konqueror|Safari|KHTML/.test(navigator.userAgent);
  52  this.isIE=/MSIE/.test(navigator.userAgent);
  53  this.isOpera8=/Opera\s[1-8]/.test(navigator.userAgent);
  54  this.ratioX=0;
  55  this.ratioY=0;
  56  this.attached=false;
  57  $A(document.getElementsByTagName("script")).each(function(s){
  58  if(s.src.match(/cropper\.js/)){
  59  var _a=s.src.replace(/cropper\.js(.*)?/,"");
  60  var _b=document.createElement("link");
  61  _b.rel="stylesheet";
  62  _b.type="text/css";
  63  _b.href=_a+"cropper.css";
  64  _b.media="screen";
  65  document.getElementsByTagName("head")[0].appendChild(_b);
  66  }
  67  });
  68  if(this.options.ratioDim.x>0&&this.options.ratioDim.y>0){
  69  var _c=this.getGCD(this.options.ratioDim.x,this.options.ratioDim.y);
  70  this.ratioX=this.options.ratioDim.x/_c;
  71  this.ratioY=this.options.ratioDim.y/_c;
  72  }
  73  this.subInitialize();
  74  if(this.img.complete||this.isWebKit){
  75  this.onLoad();
  76  }else{
  77  Event.observe(this.img,"load",this.onLoad.bindAsEventListener(this));
  78  }
  79  },getGCD:function(a,b){return 1;
  80  if(b==0){
  81  return a;
  82  }
  83  return this.getGCD(b,a%b);
  84  },onLoad:function(){
  85  var _f="imgCrop_";
  86  var _10=this.img.parentNode;
  87  var _11="";
  88  if(this.isOpera8){
  89  _11=" opera8";
  90  }
  91  this.imgWrap=Builder.node("div",{"class":_f+"wrap"+_11});
  92  if(this.isIE){
  93  this.north=Builder.node("div",{"class":_f+"overlay "+_f+"north"},[Builder.node("span")]);
  94  this.east=Builder.node("div",{"class":_f+"overlay "+_f+"east"},[Builder.node("span")]);
  95  this.south=Builder.node("div",{"class":_f+"overlay "+_f+"south"},[Builder.node("span")]);
  96  this.west=Builder.node("div",{"class":_f+"overlay "+_f+"west"},[Builder.node("span")]);
  97  var _12=[this.north,this.east,this.south,this.west];
  98  }else{
  99  this.overlay=Builder.node("div",{"class":_f+"overlay"});
 100  var _12=[this.overlay];
 101  }
 102  this.dragArea=Builder.node("div",{"class":_f+"dragArea"},_12);
 103  this.handleN=Builder.node("div",{"class":_f+"handle "+_f+"handleN"});
 104  this.handleNE=Builder.node("div",{"class":_f+"handle "+_f+"handleNE"});
 105  this.handleE=Builder.node("div",{"class":_f+"handle "+_f+"handleE"});
 106  this.handleSE=Builder.node("div",{"class":_f+"handle "+_f+"handleSE"});
 107  this.handleS=Builder.node("div",{"class":_f+"handle "+_f+"handleS"});
 108  this.handleSW=Builder.node("div",{"class":_f+"handle "+_f+"handleSW"});
 109  this.handleW=Builder.node("div",{"class":_f+"handle "+_f+"handleW"});
 110  this.handleNW=Builder.node("div",{"class":_f+"handle "+_f+"handleNW"});
 111  this.selArea=Builder.node("div",{"class":_f+"selArea"},[Builder.node("div",{"class":_f+"marqueeHoriz "+_f+"marqueeNorth"},[Builder.node("span")]),Builder.node("div",{"class":_f+"marqueeVert "+_f+"marqueeEast"},[Builder.node("span")]),Builder.node("div",{"class":_f+"marqueeHoriz "+_f+"marqueeSouth"},[Builder.node("span")]),Builder.node("div",{"class":_f+"marqueeVert "+_f+"marqueeWest"},[Builder.node("span")]),this.handleN,this.handleNE,this.handleE,this.handleSE,this.handleS,this.handleSW,this.handleW,this.handleNW,Builder.node("div",{"class":_f+"clickArea"})]);
 112  Element.setStyle($(this.selArea),{backgroundColor:"transparent",backgroundRepeat:"no-repeat",backgroundPosition:"0 0"});
 113  this.imgWrap.appendChild(this.img);
 114  this.imgWrap.appendChild(this.dragArea);
 115  this.dragArea.appendChild(this.selArea);
 116  this.dragArea.appendChild(Builder.node("div",{"class":_f+"clickArea"}));
 117  _10.appendChild(this.imgWrap);
 118  Event.observe(this.dragArea,"mousedown",this.startDrag.bindAsEventListener(this));
 119  Event.observe(document,"mousemove",this.onDrag.bindAsEventListener(this));
 120  Event.observe(document,"mouseup",this.endCrop.bindAsEventListener(this));
 121  var _13=[this.handleN,this.handleNE,this.handleE,this.handleSE,this.handleS,this.handleSW,this.handleW,this.handleNW];
 122  for(var i=0;i<_13.length;i++){
 123  Event.observe(_13[i],"mousedown",this.startResize.bindAsEventListener(this));
 124  }
 125  if(this.options.captureKeys){
 126  Event.observe(document,"keydown",this.handleKeys.bindAsEventListener(this));
 127  }
 128  new CropDraggable(this.selArea,{drawMethod:this.moveArea.bindAsEventListener(this)});
 129  this.setParams();
 130  },setParams:function(){
 131  this.imgW=this.img.width;
 132  this.imgH=this.img.height;
 133  if(!this.isIE){
 134  Element.setStyle($(this.overlay),{width:this.imgW+"px",height:this.imgH+"px"});
 135  Element.hide($(this.overlay));
 136  Element.setStyle($(this.selArea),{backgroundImage:"url("+this.img.src+")"});
 137  }else{
 138  Element.setStyle($(this.north),{height:0});
 139  Element.setStyle($(this.east),{width:0,height:0});
 140  Element.setStyle($(this.south),{height:0});
 141  Element.setStyle($(this.west),{width:0,height:0});
 142  }
 143  Element.setStyle($(this.imgWrap),{"width":this.imgW+"px","height":this.imgH+"px"});
 144  Element.hide($(this.selArea));
 145  var _15=Position.positionedOffset(this.imgWrap);
 146  this.wrapOffsets={"top":_15[1],"left":_15[0]};
 147  var _16={x1:0,y1:0,x2:0,y2:0};
 148  this.setAreaCoords(_16);
 149  if(this.options.ratioDim.x>0&&this.options.ratioDim.y>0&&this.options.displayOnInit){
 150  _16.x1=Math.ceil((this.imgW-this.options.ratioDim.x)/2);
 151  _16.y1=Math.ceil((this.imgH-this.options.ratioDim.y)/2);
 152  _16.x2=_16.x1+this.options.ratioDim.x;
 153  _16.y2=_16.y1+this.options.ratioDim.y;
 154  Element.show(this.selArea);
 155  this.drawArea();
 156  this.endCrop();
 157  }
 158  this.attached=true;
 159  },remove:function(){
 160  this.attached=false;
 161  this.imgWrap.parentNode.insertBefore(this.img,this.imgWrap);
 162  this.imgWrap.parentNode.removeChild(this.imgWrap);
 163  Event.stopObserving(this.dragArea,"mousedown",this.startDrag.bindAsEventListener(this));
 164  Event.stopObserving(document,"mousemove",this.onDrag.bindAsEventListener(this));
 165  Event.stopObserving(document,"mouseup",this.endCrop.bindAsEventListener(this));
 166  var _17=[this.handleN,this.handleNE,this.handleE,this.handleSE,this.handleS,this.handleSW,this.handleW,this.handleNW];
 167  for(var i=0;i<_17.length;i++){
 168  Event.stopObserving(_17[i],"mousedown",this.startResize.bindAsEventListener(this));
 169  }
 170  if(this.options.captureKeys){
 171  Event.stopObserving(document,"keydown",this.handleKeys.bindAsEventListener(this));
 172  }
 173  },reset:function(){
 174  if(!this.attached){
 175  this.onLoad();
 176  }else{
 177  this.setParams();
 178  }
 179  this.endCrop();
 180  },handleKeys:function(e){
 181  var dir={x:0,y:0};
 182  if(!this.dragging){
 183  switch(e.keyCode){
 184  case (37):
 185  dir.x=-1;
 186  break;
 187  case (38):
 188  dir.y=-1;
 189  break;
 190  case (39):
 191  dir.x=1;
 192  break;
 193  case (40):
 194  dir.y=1;
 195  break;
 196  }
 197  if(dir.x!=0||dir.y!=0){
 198  if(e.shiftKey){
 199  dir.x*=10;
 200  dir.y*=10;
 201  }
 202  this.moveArea([this.areaCoords.x1+dir.x,this.areaCoords.y1+dir.y]);
 203  Event.stop(e);
 204  }
 205  }
 206  },calcW:function(){
 207  return (this.areaCoords.x2-this.areaCoords.x1);
 208  },calcH:function(){
 209  return (this.areaCoords.y2-this.areaCoords.y1);
 210  },moveArea:function(_1b){
 211  this.setAreaCoords({x1:_1b[0],y1:_1b[1],x2:_1b[0]+this.calcW(),y2:_1b[1]+this.calcH()},true);
 212  this.drawArea();
 213  },cloneCoords:function(_1c){
 214  return {x1:_1c.x1,y1:_1c.y1,x2:_1c.x2,y2:_1c.y2};
 215  },setAreaCoords:function(_1d,_1e,_1f,_20,_21){
 216  var _22=typeof _1e!="undefined"?_1e:false;
 217  var _23=typeof _1f!="undefined"?_1f:false;
 218  if(_1e){
 219  var _24=_1d.x2-_1d.x1;
 220  var _25=_1d.y2-_1d.y1;
 221  if(_1d.x1<0){
 222  _1d.x1=0;
 223  _1d.x2=_24;
 224  }
 225  if(_1d.y1<0){
 226  _1d.y1=0;
 227  _1d.y2=_25;
 228  }
 229  if(_1d.x2>this.imgW){
 230  _1d.x2=this.imgW;
 231  _1d.x1=this.imgW-_24;
 232  }
 233  if(_1d.y2>this.imgH){
 234  _1d.y2=this.imgH;
 235  _1d.y1=this.imgH-_25;
 236  }
 237  }else{
 238  if(_1d.x1<0){
 239  _1d.x1=0;
 240  }
 241  if(_1d.y1<0){
 242  _1d.y1=0;
 243  }
 244  if(_1d.x2>this.imgW){
 245  _1d.x2=this.imgW;
 246  }
 247  if(_1d.y2>this.imgH){
 248  _1d.y2=this.imgH;
 249  }
 250  if(typeof (_20)!="undefined"){
 251  if(this.ratioX>0){
 252  this.applyRatio(_1d,{x:this.ratioX,y:this.ratioY},_20,_21);
 253  }else{
 254  if(_23){
 255  this.applyRatio(_1d,{x:1,y:1},_20,_21);
 256  }
 257  }
 258  var _26={a1:_1d.x1,a2:_1d.x2};
 259  var _27={a1:_1d.y1,a2:_1d.y2};
 260  var _28=this.options.minWidth;
 261  var _29=this.options.minHeight;
 262  if((_28==0||_29==0)&&_23){
 263  if(_28>0){
 264  _29=_28;
 265  }else{
 266  if(_29>0){
 267  _28=_29;
 268  }
 269  }
 270  }
 271  this.applyMinDimension(_26,_28,_20.x,{min:0,max:this.imgW});
 272  this.applyMinDimension(_27,_29,_20.y,{min:0,max:this.imgH});
 273  _1d={x1:_26.a1,y1:_27.a1,x2:_26.a2,y2:_27.a2};
 274  }
 275  }
 276  this.areaCoords=_1d;
 277  },applyMinDimension:function(_2a,_2b,_2c,_2d){
 278  if((_2a.a2-_2a.a1)<_2b){
 279  if(_2c==1){
 280  _2a.a2=_2a.a1+_2b;
 281  }else{
 282  _2a.a1=_2a.a2-_2b;
 283  }
 284  if(_2a.a1<_2d.min){
 285  _2a.a1=_2d.min;
 286  _2a.a2=_2b;
 287  }else{
 288  if(_2a.a2>_2d.max){
 289  _2a.a1=_2d.max-_2b;
 290  _2a.a2=_2d.max;
 291  }
 292  }
 293  }
 294  },applyRatio:function(_2e,_2f,_30,_31){
 295  var _32;
 296  if(_31=="N"||_31=="S"){
 297  _32=this.applyRatioToAxis({a1:_2e.y1,b1:_2e.x1,a2:_2e.y2,b2:_2e.x2},{a:_2f.y,b:_2f.x},{a:_30.y,b:_30.x},{min:0,max:this.imgW});
 298  _2e.x1=_32.b1;
 299  _2e.y1=_32.a1;
 300  _2e.x2=_32.b2;
 301  _2e.y2=_32.a2;
 302  }else{
 303  _32=this.applyRatioToAxis({a1:_2e.x1,b1:_2e.y1,a2:_2e.x2,b2:_2e.y2},{a:_2f.x,b:_2f.y},{a:_30.x,b:_30.y},{min:0,max:this.imgH});
 304  _2e.x1=_32.a1;
 305  _2e.y1=_32.b1;
 306  _2e.x2=_32.a2;
 307  _2e.y2=_32.b2;
 308  }
 309  },applyRatioToAxis:function(_33,_34,_35,_36){
 310  var _37=Object.extend(_33,{});
 311  var _38=_37.a2-_37.a1;
 312  var _3a=Math.floor(_38*_34.b/_34.a);
 313  var _3b;
 314  var _3c;
 315  var _3d=null;
 316  if(_35.b==1){
 317  _3b=_37.b1+_3a;
 318  if(_3b>_36.max){
 319  _3b=_36.max;
 320  _3d=_3b-_37.b1;
 321  }
 322  _37.b2=_3b;
 323  }else{
 324  _3b=_37.b2-_3a;
 325  if(_3b<_36.min){
 326  _3b=_36.min;
 327  _3d=_3b+_37.b2;
 328  }
 329  _37.b1=_3b;
 330  }
 331  if(_3d!=null){
 332  _3c=Math.floor(_3d*_34.a/_34.b);
 333  if(_35.a==1){
 334  _37.a2=_37.a1+_3c;
 335  }else{
 336  _37.a1=_37.a1=_37.a2-_3c;
 337  }
 338  }
 339  return _37;
 340  },drawArea:function(){
 341  if(!this.isIE){
 342  Element.show($(this.overlay));
 343  }
 344  var _3e=this.calcW();
 345  var _3f=this.calcH();
 346  var _40=this.areaCoords.x2;
 347  var _41=this.areaCoords.y2;
 348  var _42=this.selArea.style;
 349  _42.left=this.areaCoords.x1+"px";
 350  _42.top=this.areaCoords.y1+"px";
 351  _42.width=_3e+"px";
 352  _42.height=_3f+"px";
 353  var _43=Math.ceil((_3e-6)/2)+"px";
 354  var _44=Math.ceil((_3f-6)/2)+"px";
 355  this.handleN.style.left=_43;
 356  this.handleE.style.top=_44;
 357  this.handleS.style.left=_43;
 358  this.handleW.style.top=_44;
 359  if(this.isIE){
 360  this.north.style.height=this.areaCoords.y1+"px";
 361  var _45=this.east.style;
 362  _45.top=this.areaCoords.y1+"px";
 363  _45.height=_3f+"px";
 364  _45.left=_40+"px";
 365  _45.width=(this.img.width-_40)+"px";
 366  var _46=this.south.style;
 367  _46.top=_41+"px";
 368  _46.height=(this.img.height-_41)+"px";
 369  var _47=this.west.style;
 370  _47.top=this.areaCoords.y1+"px";
 371  _47.height=_3f+"px";
 372  _47.width=this.areaCoords.x1+"px";
 373  }else{
 374  _42.backgroundPosition="-"+this.areaCoords.x1+"px "+"-"+this.areaCoords.y1+"px";
 375  }
 376  this.subDrawArea();
 377  this.forceReRender();
 378  },forceReRender:function(){
 379  if(this.isIE||this.isWebKit){
 380  var n=document.createTextNode(" ");
 381  var d,el,fixEL,i;
 382  if(this.isIE){
 383  fixEl=this.selArea;
 384  }else{
 385  if(this.isWebKit){
 386  fixEl=document.getElementsByClassName("imgCrop_marqueeSouth",this.imgWrap)[0];
 387  d=Builder.node("div","");
 388  d.style.visibility="hidden";
 389  var _4a=["SE","S","SW"];
 390  for(i=0;i<_4a.length;i++){
 391  el=document.getElementsByClassName("imgCrop_handle"+_4a[i],this.selArea)[0];
 392  if(el.childNodes.length){
 393  el.removeChild(el.childNodes[0]);
 394  }
 395  el.appendChild(d);
 396  }
 397  }
 398  }
 399  fixEl.appendChild(n);
 400  fixEl.removeChild(n);
 401  }
 402  },startResize:function(e){
 403  this.startCoords=this.cloneCoords(this.areaCoords);
 404  this.resizing=true;
 405  this.resizeHandle=Element.classNames(Event.element(e)).toString().replace(/([^N|NE|E|SE|S|SW|W|NW])+/,"");
 406  Event.stop(e);
 407  },startDrag:function(e){
 408  Element.show(this.selArea);
 409  this.clickCoords=this.getCurPos(e);
 410  this.setAreaCoords({x1:this.clickCoords.x,y1:this.clickCoords.y,x2:this.clickCoords.x,y2:this.clickCoords.y});
 411  this.dragging=true;
 412  this.onDrag(e);
 413  Event.stop(e);
 414  },getCurPos:function(e){
 415  return curPos={x:Event.pointerX(e)-this.wrapOffsets.left,y:Event.pointerY(e)-this.wrapOffsets.top};
 416  },onDrag:function(e){
 417  var _4f=null;
 418  if(this.dragging||this.resizing){
 419  var _50=this.getCurPos(e);
 420  var _51=this.cloneCoords(this.areaCoords);
 421  var _52={x:1,y:1};
 422  }
 423  if(this.dragging){
 424  if(_50.x<this.clickCoords.x){
 425  _52.x=-1;
 426  }
 427  if(_50.y<this.clickCoords.y){
 428  _52.y=-1;
 429  }
 430  this.transformCoords(_50.x,this.clickCoords.x,_51,"x");
 431  this.transformCoords(_50.y,this.clickCoords.y,_51,"y");
 432  }else{
 433  if(this.resizing){
 434  _4f=this.resizeHandle;
 435  if(_4f.match(/E/)){
 436  this.transformCoords(_50.x,this.startCoords.x1,_51,"x");
 437  if(_50.x<this.startCoords.x1){
 438  _52.x=-1;
 439  }
 440  }else{
 441  if(_4f.match(/W/)){
 442  this.transformCoords(_50.x,this.startCoords.x2,_51,"x");
 443  if(_50.x<this.startCoords.x2){
 444  _52.x=-1;
 445  }
 446  }
 447  }
 448  if(_4f.match(/N/)){
 449  this.transformCoords(_50.y,this.startCoords.y2,_51,"y");
 450  if(_50.y<this.startCoords.y2){
 451  _52.y=-1;
 452  }
 453  }else{
 454  if(_4f.match(/S/)){
 455  this.transformCoords(_50.y,this.startCoords.y1,_51,"y");
 456  if(_50.y<this.startCoords.y1){
 457  _52.y=-1;
 458  }
 459  }
 460  }
 461  }
 462  }
 463  if(this.dragging||this.resizing){
 464  this.setAreaCoords(_51,false,e.shiftKey,_52,_4f);
 465  this.drawArea();
 466  Event.stop(e);
 467  }
 468  },transformCoords:function(_53,_54,_55,_56){
 469  var _57=new Array();
 470  if(_53<_54){
 471  _57[0]=_53;
 472  _57[1]=_54;
 473  }else{
 474  _57[0]=_54;
 475  _57[1]=_53;
 476  }
 477  if(_56=="x"){
 478  _55.x1=_57[0];
 479  _55.x2=_57[1];
 480  }else{
 481  _55.y1=_57[0];
 482  _55.y2=_57[1];
 483  }
 484  },endCrop:function(){
 485  this.dragging=false;
 486  this.resizing=false;
 487  this.options.onEndCrop(this.areaCoords,{width:this.calcW(),height:this.calcH()});
 488  },subInitialize:function(){
 489  },subDrawArea:function(){
 490  }};
 491  Cropper.ImgWithPreview=Class.create();
 492  Object.extend(Object.extend(Cropper.ImgWithPreview.prototype,Cropper.Img.prototype),{subInitialize:function(){
 493  this.hasPreviewImg=false;
 494  if(typeof (this.options.previewWrap)!="undefined"&&this.options.minWidth>0&&this.options.minHeight>0){
 495  this.previewWrap=$(this.options.previewWrap);
 496  this.previewImg=this.img.cloneNode(false);
 497  this.options.displayOnInit=true;
 498  this.hasPreviewImg=true;
 499  Element.addClassName(this.previewWrap,"imgCrop_previewWrap");
 500  Element.setStyle(this.previewWrap,{width:this.options.minWidth+"px",height:this.options.minHeight+"px"});
 501  this.previewWrap.appendChild(this.previewImg);
 502  }
 503  },subDrawArea:function(){
 504  if(this.hasPreviewImg){
 505  var _58=this.calcW();
 506  var _59=this.calcH();
 507  var _5a={x:this.imgW/_58,y:this.imgH/_59};
 508  var _5b={x:_58/this.options.minWidth,y:_59/this.options.minHeight};
 509  var _5c={w:Math.ceil(this.options.minWidth*_5a.x)+"px",h:Math.ceil(this.options.minHeight*_5a.y)+"px",x:"-"+Math.ceil(this.areaCoords.x1/_5b.x)+"px",y:"-"+Math.ceil(this.areaCoords.y1/_5b.y)+"px"};
 510  var _5d=this.previewImg.style;
 511  _5d.width=_5c.w;
 512  _5d.height=_5c.h;
 513  _5d.left=_5c.x;
 514  _5d.top=_5c.y;
 515  }
 516  }});


Generated: Sat Nov 23 20:47:33 2019 Cross-referenced by PHPXref 0.7