diff --git a/plugins/file/wPaint.menu.main.file.min.js b/plugins/file/wPaint.menu.main.file.min.js index a2631b7..f1d595e 100644 --- a/plugins/file/wPaint.menu.main.file.min.js +++ b/plugins/file/wPaint.menu.main.file.min.js @@ -1 +1,2 @@ -/*! wPaint - v2.5.0 - 2014-03-01 */!function(a){var b="plugins/file/img/icons-menu-main-file.png";a.extend(!0,a.fn.wPaint.menus.main.items,{save:{icon:"generic",title:"Save Image",img:b,index:0,callback:function(){this.options.saveImg.apply(this,[this.getImage()])}},loadBg:{icon:"generic",group:"loadImg",title:"Load Image to Foreground",img:b,index:2,callback:function(){this.options.loadImgFg.apply(this,[])}},loadFg:{icon:"generic",group:"loadImg",title:"Load Image to Background",img:b,index:1,callback:function(){this.options.loadImgBg.apply(this,[])}}}),a.extend(a.fn.wPaint.defaults,{saveImg:null,loadImgFg:null,loadImgBg:null}),a.fn.wPaint.extend({_showFileModal:function(b,c){function d(a,b){function c(c){c.stopPropagation(),"fg"===a?e.setImage(b):"bg"===a&&e.setBg(b,null,null,!0)}g.on("click",c)}for(var e=this,f=a("
"),g=null,h=0,i=c.length;i>h;h++)g=a('').attr("src",c[h]),g=a('
').append(g),d(b,c[h]),f.append(g);this._showModal(f)}})}(jQuery); \ No newline at end of file +/*! wPaint - v2.5.0 - 2017-12-05 */ +!function(i){var n="plugins/file/img/icons-menu-main-file.png";i.extend(!0,i.fn.wPaint.menus.main.items,{save:{icon:"generic",title:"Save Image",img:n,index:0,callback:function(){this.options.saveImg.apply(this,[this.getImage()])}},loadBg:{icon:"generic",group:"loadImg",title:"Load Image to Foreground",img:n,index:2,callback:function(){this.options.loadImgFg.apply(this,[])}},loadFg:{icon:"generic",group:"loadImg",title:"Load Image to Background",img:n,index:1,callback:function(){this.options.loadImgBg.apply(this,[])}}}),i.extend(i.fn.wPaint.defaults,{saveImg:null,loadImgFg:null,loadImgBg:null}),i.fn.wPaint.extend({_showFileModal:function(n,a){function l(i,n){e.on("click",function(a){a.stopPropagation(),"fg"===i?o.setImage(n):"bg"===i&&o.setBg(n,null,null,!0)})}for(var o=this,t=i("
"),e=null,g=0,d=a.length;g').attr("src",a[g]),e=i('
').append(e),l(n,a[g]),t.append(e);this._showModal(t)}})}(jQuery); \ No newline at end of file diff --git a/plugins/main/img/icons-arrow.png b/plugins/main/img/icons-arrow.png new file mode 100644 index 0000000..a3fc6be Binary files /dev/null and b/plugins/main/img/icons-arrow.png differ diff --git a/plugins/main/src/wPaint.menu.main.js b/plugins/main/src/wPaint.menu.main.js index 459bb73..dc929cd 100644 --- a/plugins/main/src/wPaint.menu.main.js +++ b/plugins/main/src/wPaint.menu.main.js @@ -40,6 +40,13 @@ index: 5, callback: function () { this.setMode('line'); } }, + arrow: { + icon: 'activate', + img: 'plugins/main/img/icons-arrow.png', + index: 0, + title: 'Arrow', + callback: function () { this.setMode('arrow'); } + }, pencil: { icon: 'activate', title: 'Pencil', diff --git a/plugins/main/wPaint.menu.main.min.js b/plugins/main/wPaint.menu.main.min.js index 0a950c5..2dbf2ba 100644 --- a/plugins/main/wPaint.menu.main.min.js +++ b/plugins/main/wPaint.menu.main.min.js @@ -1 +1,2 @@ -/*! wPaint - v2.5.0 - 2014-03-01 */!function(a){a.fn.wPaint.menus.main={img:"plugins/main/img/icons-menu-main.png",items:{undo:{icon:"generic",title:"Undo",index:0,callback:function(){this.undo()}},redo:{icon:"generic",title:"Redo",index:1,callback:function(){this.redo()}},clear:{icon:"generic",title:"Clear",index:2,callback:function(){this.clear()}},rectangle:{icon:"activate",title:"Rectangle",index:3,callback:function(){this.setMode("rectangle")}},ellipse:{icon:"activate",title:"Ellipse",index:4,callback:function(){this.setMode("ellipse")}},line:{icon:"activate",title:"Line",index:5,callback:function(){this.setMode("line")}},pencil:{icon:"activate",title:"Pencil",index:6,callback:function(){this.setMode("pencil")}},eraser:{icon:"activate",title:"Eraser",index:8,callback:function(){this.setMode("eraser")}},bucket:{icon:"activate",title:"Bucket",index:9,callback:function(){this.setMode("bucket")}},fillStyle:{title:"Fill Color",icon:"colorPicker",callback:function(a){this.setFillStyle(a)}},lineWidth:{icon:"select",title:"Stroke Width",range:[1,2,3,4,5,6,7,8,9,10],value:2,callback:function(a){this.setLineWidth(a)}},strokeStyle:{icon:"colorPicker",title:"Stroke Color",callback:function(a){this.setStrokeStyle(a)}}}},a.extend(a.fn.wPaint.cursors,{"default":{path:"plugins/main/img/cursor-crosshair.png",left:7,top:7},dropper:{path:"plugins/main/img/cursor-dropper.png",left:0,top:12},pencil:{path:"plugins/main/img/cursor-pencil.png",left:0,top:11.99},bucket:{path:"plugins/main/img/cursor-bucket.png",left:0,top:10},eraser1:{path:"plugins/main/img/cursor-eraser1.png",left:1,top:1},eraser2:{path:"plugins/main/img/cursor-eraser2.png",left:2,top:2},eraser3:{path:"plugins/main/img/cursor-eraser3.png",left:2,top:2},eraser4:{path:"plugins/main/img/cursor-eraser4.png",left:3,top:3},eraser5:{path:"plugins/main/img/cursor-eraser5.png",left:3,top:3},eraser6:{path:"plugins/main/img/cursor-eraser6.png",left:4,top:4},eraser7:{path:"plugins/main/img/cursor-eraser7.png",left:4,top:4},eraser8:{path:"plugins/main/img/cursor-eraser8.png",left:5,top:5},eraser9:{path:"plugins/main/img/cursor-eraser9.png",left:5,top:5},eraser10:{path:"plugins/main/img/cursor-eraser10.png",left:6,top:6}}),a.extend(a.fn.wPaint.defaults,{mode:"pencil",lineWidth:"3",fillStyle:"#FFFFFF",strokeStyle:"#FFFF00"}),a.fn.wPaint.extend({undoCurrent:-1,undoArray:[],setUndoFlag:!0,generate:function(){this.menus.all.main=this._createMenu("main",{offsetLeft:this.options.menuOffsetLeft,offsetTop:this.options.menuOffsetTop})},_init:function(){this._addUndo(),this.menus.all.main._setIconDisabled("clear",!0)},setStrokeStyle:function(a){this.options.strokeStyle=a,this.menus.all.main._setColorPickerValue("strokeStyle",a)},setLineWidth:function(a){this.options.lineWidth=a,this.menus.all.main._setSelectValue("lineWidth",a),this.setCursor(this.options.mode)},setFillStyle:function(a){this.options.fillStyle=a,this.menus.all.main._setColorPickerValue("fillStyle",a)},setCursor:function(a){"eraser"===a&&this.setCursor("eraser"+this.options.lineWidth)},undo:function(){this.undoArray[this.undoCurrent-1]&&this._setUndo(--this.undoCurrent),this._undoToggleIcons()},redo:function(){this.undoArray[this.undoCurrent+1]&&this._setUndo(++this.undoCurrent),this._undoToggleIcons()},_addUndo:function(){for(this.undoCurrentthis.undoMax?this.undoArray=this.undoArray.slice(1,this.undoArray.length):this.undoCurrent++);this.undoCurrent!==this.undoArray.length-1;)this.undoArray.pop();this._undoToggleIcons(),this.menus.all.main._setIconDisabled("clear",!1)},_undoToggleIcons:function(){var a=this.undoCurrent>0&&this.undoArray.length>1?0:1,b=this.undoCurrent=0&&f(d(i));)i-=4*m;for(i+=4*m,++h[1],j=!1,k=!1;h[1]++0&&(f(d(i-4))?j||(q.push([h[0]-1,h[1]]),j=!0):j&&(j=!1)),h[0]this.undoMax?this.undoArray=this.undoArray.slice(1,this.undoArray.length):this.undoCurrent++);this.undoCurrent!==this.undoArray.length-1;)this.undoArray.pop();this._undoToggleIcons(),this.menus.all.main._setIconDisabled("clear",!1)},_undoToggleIcons:function(){var t=this.undoCurrent>0&&this.undoArray.length>1?0:1,e=this.undoCurrent=0&&a(n(l));)l-=4*p;for(l+=4*p,++r[1],c=!1,h=!1;r[1]++0&&(a(n(l-4))?c||(m.push([r[0]-1,r[1]]),c=!0):c&&(c=!1)),r[0]a.h?a.h/a.w:a.w/a.h;this.ctxTemp.roundedRect(a.x,a.y,a.w,a.h,Math.ceil(b*a.w*a.h*.001)),this.ctxTemp.stroke(),this.ctxTemp.fill()},_drawRoundedRectUp:function(a){this._drawShapeUp(a),this._addUndo()},_drawSquareDown:function(a){this._drawShapeDown(a)},_drawSquareMove:function(a){this._drawShapeMove(a);var b=a.w>a.h?a.h:a.w;this.ctxTemp.rect(a.x,a.y,b,b),this.ctxTemp.stroke(),this.ctxTemp.fill()},_drawSquareUp:function(a){this._drawShapeUp(a),this._addUndo()},_drawRoundedSquareDown:function(a){this._drawShapeDown(a)},_drawRoundedSquareMove:function(a){this._drawShapeMove(a);var b=a.w>a.h?a.h:a.w;this.ctxTemp.roundedRect(a.x,a.y,b,b,Math.ceil(b*b*.001)),this.ctxTemp.stroke(),this.ctxTemp.fill()},_drawRoundedSquareUp:function(a){this._drawShapeUp(a),this._addUndo()},_drawDiamondDown:function(a){this._drawShapeDown(a)},_drawDiamondMove:function(a){this._drawShapeMove(a),this.ctxTemp.diamond(a.x,a.y,a.w,a.h),this.ctxTemp.stroke(),this.ctxTemp.fill()},_drawDiamondUp:function(a){this._drawShapeUp(a),this._addUndo()},_drawCircleDown:function(a){this._drawShapeDown(a)},_drawCircleMove:function(a){this._drawShapeMove(a);var b=a.w>a.h?a.h:a.w;this.ctxTemp.ellipse(a.x,a.y,b,b),this.ctxTemp.stroke(),this.ctxTemp.fill()},_drawCircleUp:function(a){this._drawShapeUp(a),this._addUndo()},_drawPentagonDown:function(a){this._drawShapeDown(a)},_drawPentagonMove:function(a){this._drawShapeMove(a),this.ctxTemp.pentagon(a.x,a.y,a.w,a.h),this.ctxTemp.stroke(),this.ctxTemp.fill()},_drawPentagonUp:function(a){this._drawShapeUp(a),this._addUndo()},_drawHexagonDown:function(a){this._drawShapeDown(a)},_drawHexagonMove:function(a){this._drawShapeMove(a),this.ctxTemp.hexagon(a.x,a.y,a.w,a.h),this.ctxTemp.stroke(),this.ctxTemp.fill()},_drawHexagonUp:function(a){this._drawShapeUp(a),this._addUndo()}})}(jQuery),!function(){window.CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.diamond=function(a,b,c,d){return a&&b&&c&&d?(this.beginPath(),this.moveTo(a+.5*c,b),this.lineTo(a,b+.5*d),this.lineTo(a+.5*c,b+d),this.lineTo(a+c,b+.5*d),this.lineTo(a+.5*c,b),void this.closePath()):!0}),window.CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.ellipse=function(a,b,c,d){if(!(a&&b&&c&&d))return!0;var e=.5522848,f=c/2*e,g=d/2*e,h=a+c,i=b+d,j=a+c/2,k=b+d/2;this.beginPath(),this.moveTo(a,k),this.bezierCurveTo(a,k-g,j-f,b,j,b),this.bezierCurveTo(j+f,b,h,k-g,h,k),this.bezierCurveTo(h,k+g,j+f,i,j,i),this.bezierCurveTo(j-f,i,a,k+g,a,k),this.closePath()}),window.CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.hexagon=function(a,b,c,d){if(!(a&&b&&c&&d))return!0;var e=.225,f=1-e;this.beginPath(),this.moveTo(a+.5*c,b),this.lineTo(a,b+d*e),this.lineTo(a,b+d*f),this.lineTo(a+.5*c,b+d),this.lineTo(a+c,b+d*f),this.lineTo(a+c,b+d*e),this.lineTo(a+.5*c,b),this.closePath()}),window.CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.pentagon=function(a,b,c,d){return a&&b&&c&&d?(this.beginPath(),this.moveTo(a+c/2,b),this.lineTo(a,b+.4*d),this.lineTo(a+.2*c,b+d),this.lineTo(a+.8*c,b+d),this.lineTo(a+c,b+.4*d),this.lineTo(a+c/2,b),void this.closePath()):!0}),window.CanvasRenderingContext2D&&(CanvasRenderingContext2D.prototype.roundedRect=function(a,b,c,d,e){return a&&b&&c&&d?(e||(e=5),this.beginPath(),this.moveTo(a+e,b),this.lineTo(a+c-e,b),this.quadraticCurveTo(a+c,b,a+c,b+e),this.lineTo(a+c,b+d-e),this.quadraticCurveTo(a+c,b+d,a+c-e,b+d),this.lineTo(a+e,b+d),this.quadraticCurveTo(a,b+d,a,b+d-e),this.lineTo(a,b+e),this.quadraticCurveTo(a,b,a+e,b),void this.closePath()):!0})}(); \ No newline at end of file +/*! wPaint - v2.5.0 - 2017-12-05 */ +!function(t){var e="plugins/shapes/img/icons-menu-main-shapes.png";t.extend(!0,t.fn.wPaint.menus.main.items,{rectangle:{group:"shapes"},roundedRect:{icon:"activate",group:"shapes",title:"Rounded Rectangle",img:e,index:0,callback:function(){this.setMode("roundedRect")}},square:{icon:"activate",group:"shapes",title:"Square",img:e,index:1,callback:function(){this.setMode("square")}},roundedSquare:{icon:"activate",group:"shapes",title:"Rounded Square",img:e,index:2,callback:function(){this.setMode("roundedSquare")}},diamond:{icon:"activate",group:"shapes",title:"Diamond",img:e,index:4,callback:function(){this.setMode("diamond")}},ellipse:{group:"shapes2"},circle:{icon:"activate",group:"shapes2",title:"Circle",img:e,index:3,callback:function(){this.setMode("circle")}},pentagon:{icon:"activate",group:"shapes2",title:"Pentagon",img:e,index:5,callback:function(){this.setMode("pentagon")}},hexagon:{icon:"activate",group:"shapes2",title:"Hexagon",img:e,index:6,callback:function(){this.setMode("hexagon")}}}),t.fn.wPaint.extend({_drawRoundedRectDown:function(t){this._drawShapeDown(t)},_drawRoundedRectMove:function(t){this._drawShapeMove(t);var e=t.w>t.h?t.h/t.w:t.w/t.h;this.ctxTemp.roundedRect(t.x,t.y,t.w,t.h,Math.ceil(e*(t.w*t.h*.001))),this.ctxTemp.stroke(),this.ctxTemp.fill()},_drawRoundedRectUp:function(t){this._drawShapeUp(t),this._addUndo()},_drawSquareDown:function(t){this._drawShapeDown(t)},_drawSquareMove:function(t){this._drawShapeMove(t);var e=t.w>t.h?t.h:t.w;this.ctxTemp.rect(t.x,t.y,e,e),this.ctxTemp.stroke(),this.ctxTemp.fill()},_drawSquareUp:function(t){this._drawShapeUp(t),this._addUndo()},_drawRoundedSquareDown:function(t){this._drawShapeDown(t)},_drawRoundedSquareMove:function(t){this._drawShapeMove(t);var e=t.w>t.h?t.h:t.w;this.ctxTemp.roundedRect(t.x,t.y,e,e,Math.ceil(e*e*.001)),this.ctxTemp.stroke(),this.ctxTemp.fill()},_drawRoundedSquareUp:function(t){this._drawShapeUp(t),this._addUndo()},_drawDiamondDown:function(t){this._drawShapeDown(t)},_drawDiamondMove:function(t){this._drawShapeMove(t),this.ctxTemp.diamond(t.x,t.y,t.w,t.h),this.ctxTemp.stroke(),this.ctxTemp.fill()},_drawDiamondUp:function(t){this._drawShapeUp(t),this._addUndo()},_drawCircleDown:function(t){this._drawShapeDown(t)},_drawCircleMove:function(t){this._drawShapeMove(t);var e=t.w>t.h?t.h:t.w;this.ctxTemp.ellipse(t.x,t.y,e,e),this.ctxTemp.stroke(),this.ctxTemp.fill()},_drawCircleUp:function(t){this._drawShapeUp(t),this._addUndo()},_drawPentagonDown:function(t){this._drawShapeDown(t)},_drawPentagonMove:function(t){this._drawShapeMove(t),this.ctxTemp.pentagon(t.x,t.y,t.w,t.h),this.ctxTemp.stroke(),this.ctxTemp.fill()},_drawPentagonUp:function(t){this._drawShapeUp(t),this._addUndo()},_drawHexagonDown:function(t){this._drawShapeDown(t)},_drawHexagonMove:function(t){this._drawShapeMove(t),this.ctxTemp.hexagon(t.x,t.y,t.w,t.h),this.ctxTemp.stroke(),this.ctxTemp.fill()},_drawHexagonUp:function(t){this._drawShapeUp(t),this._addUndo()},_drawArrowDown:function(t){this._drawShapeDown(t)},_drawArrowMove:function(t){this._drawShapeMove(t);var e=this.canvasTempLeftOriginal,i=this.canvasTempTopOriginal;t.pageX").hide(),this.$textInput=a('').on("mousedown",this._stopPropagation).css({position:"absolute"}).hide(),a("body").append(this.$textCalc),this.$el.append(this.$textInput),this.menus.all.text=this._createMenu("text")},_init:function(){function b(){c._drawTextIfNotEmpty(),c.$textInput.hide(),c.$canvasTemp.hide()}var c=this;for(var d in this.menus.all)this.menus.all[d].$menu.on("click",b).on("mousedown",this._stopPropagation);a(document).on("mousedown",b)},setFillStyle:function(a){this.$textInput.css("color",a)},setFontSize:function(a){this.options.fontSize=parseInt(a,10),this._setFont({fontSize:a+"px",lineHeight:a+"px"}),this.menus.all.text._setSelectValue("fontSize",a)},setFontFamily:function(a){this.options.fontFamily=a,this._setFont({fontFamily:a}),this.menus.all.text._setSelectValue("fontFamily",a)},setFontBold:function(a){this.options.fontBold=a,this._setFont({fontWeight:a?"bold":""})},setFontItalic:function(a){this.options.fontItalic=a,this._setFont({fontStyle:a?"italic":""})},setFontUnderline:function(a){this.options.fontUnderline=a,this._setFont({fontWeight:a?"underline":""})},_setFont:function(a){this.$textInput.css(a),this.$textCalc.css(a)},_drawTextDown:function(a){this._drawTextIfNotEmpty(),this._drawShapeDown(a,1),this.$textInput.css({left:a.pageX-1,top:a.pageY-1,width:0,height:0}).show().focus()},_drawTextMove:function(a){this._drawShapeMove(a,1),this.$textInput.css({left:a.left-1,top:a.top-1,width:a.width,height:a.height})},_drawTextIfNotEmpty:function(){""!==this.$textInput.val()&&this._drawText()},_drawText:function(){var a,b,c,d,e="",f=this.$textInput.val().split("\n"),g=[],h=this.$textInput.width()-2,i=0,j=0,k=this.$textInput.position(),l=k.left+1,m=k.top+1;for(this.options.fontItalic&&(e+="italic "),this.options.fontBold&&(e+="bold "),e+=this.options.fontSize+"px "+this.options.fontFamily,a=0,b=f.length;b>a;a++){for(this.$textCalc.html(""),j=0,c=0,d=f[0].length;d>c;c++)i=this.$textCalc.append(f[a][c]).width(),i>h&&(g.push(f[a].substring(j,c)),j=c,this.$textCalc.html(f[a][c]));j!==c&&g.push(f[a].substring(j,c))}for(f=this.$textInput.val(g.join("\n")).val().split("\n"),a=0,b=f.length;b>a;a++)this.ctx.fillStyle=this.options.fillStyle,this.ctx.textBaseline="top",this.ctx.font=e,this.ctx.fillText(f[a],l,m),m+=this.options.fontSize;this.$textInput.val(""),this._addUndo()}})}(jQuery); \ No newline at end of file +/*! wPaint - v2.5.0 - 2017-12-05 */ +!function(t){t.fn.wPaint.menus.text={img:"plugins/text/img/icons-menu-text.png",items:{bold:{icon:"toggle",title:"Bold",index:0,callback:function(t){this.setFontBold(t)}},italic:{icon:"toggle",title:"Italic",index:1,callback:function(t){this.setFontItalic(t)}},fontSize:{title:"Font Size",icon:"select",range:[8,9,10,12,14,16,20,24,30],value:12,callback:function(t){this.setFontSize(t)}},fontFamily:{icon:"select",title:"Font Family",range:["Arial","Courier","Times","Verdana"],useRange:!0,value:"Arial",callback:function(t){this.setFontFamily(t)}}}},t.fn.wPaint.menus.main.items.text={icon:"menu",after:"pencil",title:"Text",index:7,callback:function(){this.setMode("text")}},t.extend(t.fn.wPaint.defaults,{fontSize:"12",fontFamily:"Arial",fontBold:!1,fontItalic:!1,fontUnderline:!1}),t.fn.wPaint.extend({generate:function(){this.$textCalc=t("
").hide(),this.$textInput=t('').on("mousedown",this._stopPropagation).css({position:"absolute"}).hide(),t("body").append(this.$textCalc),this.$el.append(this.$textInput),this.menus.all.text=this._createMenu("text")},_init:function(){function i(){n._drawTextIfNotEmpty(),n.$textInput.hide(),n.$canvasTemp.hide()}var n=this;for(var e in this.menus.all)this.menus.all[e].$menu.on("click",i).on("mousedown",this._stopPropagation);t(document).on("mousedown",i)},setFillStyle:function(t){this.$textInput.css("color",t)},setFontSize:function(t){this.options.fontSize=parseInt(t,10),this._setFont({fontSize:t+"px",lineHeight:t+"px"}),this.menus.all.text._setSelectValue("fontSize",t)},setFontFamily:function(t){this.options.fontFamily=t,this._setFont({fontFamily:t}),this.menus.all.text._setSelectValue("fontFamily",t)},setFontBold:function(t){this.options.fontBold=t,this._setFont({fontWeight:t?"bold":""})},setFontItalic:function(t){this.options.fontItalic=t,this._setFont({fontStyle:t?"italic":""})},setFontUnderline:function(t){this.options.fontUnderline=t,this._setFont({fontWeight:t?"underline":""})},_setFont:function(t){this.$textInput.css(t),this.$textCalc.css(t)},_drawTextDown:function(t){this._drawTextIfNotEmpty(),this._drawShapeDown(t,1),this.$textInput.css({left:t.pageX-1,top:t.pageY-1,width:0,height:0}).show().focus()},_drawTextMove:function(t){this._drawShapeMove(t,1),this.$textInput.css({left:t.left-1,top:t.top-1,width:t.width,height:t.height})},_drawTextIfNotEmpty:function(){""!==this.$textInput.val()&&this._drawText()},_drawText:function(){var t,i,n,e,o="",s=this.$textInput.val().split("\n"),l=[],a=this.$textInput.width()-2,h=0,c=this.$textInput.position(),f=c.left+1,u=c.top+1;for(this.options.fontItalic&&(o+="italic "),this.options.fontBold&&(o+="bold "),o+=this.options.fontSize+"px "+this.options.fontFamily,t=0,i=s.length;ta&&(l.push(s[t].substring(h,n)),h=n,this.$textCalc.html(s[t][n]));h!==n&&l.push(s[t].substring(h,n))}for(t=0,i=(s=this.$textInput.val(l.join("\n")).val().split("\n")).length;tb;b++)this.$el.addClass("wPaint-theme-"+a[b])},setMode:function(a){this.setCursor(a),this.previousMode=this.options.mode,this.options.mode=a},setImage:function(b,c,d,e){function f(){var a=1,b=0,f=0,j=0,k=0,l=h.width,m=h.height;d||((h.width>g.width||h.height>g.height||g.options.imageStretch)&&(b=g.width/h.width,f=g.height/h.height,a=f>b?b:f,l=h.width*a,m=h.height*a),j=(g.width-l)/2,k=(g.height-m)/2),i.clearRect(0,0,g.width,g.height),i.drawImage(h,j,k,l,m),g[c+"Resize"]=!1,e||g._addUndo()}if(!b)return!0;var g=this,h=null,i="";c="ctx"+(c||"").capitalize(),i=this[c],window.rgbHex(b)?(i.clearRect(0,0,this.width,this.height),i.fillStyle=b,i.rect(0,0,this.width,this.height),i.fill()):(h=new Image,h.src=b.toString(),a(h).load(f))},setBg:function(a,b){return a?void this.setImage(a,"bg",b,!0):!0},setCursor:function(b){b=a.fn.wPaint.cursors[b]||a.fn.wPaint.cursors["default"],this.$el.css("cursor",'url("'+this.options.path+b.path+'") '+b.left+" "+b.top+", default")},setMenuOrientation:function(b){a.each(this.menus.all,function(a,c){c.options.aligment=b,c.setAlignment(b)})},getImage:function(b){var c=document.createElement("canvas"),d=c.getContext("2d");return b=b===!1?!1:!0,a(c).css({display:"none",position:"absolute",left:0,top:0}).attr("width",this.width).attr("height",this.height),b&&d.drawImage(this.canvasBg,0,0),d.drawImage(this.canvas,0,0),c.toDataURL()},getBg:function(){return this.canvasBg.toDataURL()},_displayStatus:function(b){var c=this;this.$status||(this.$status=a('
'),this.$el.append(this.$status)),this.$status.html(b),clearTimeout(this.displayStatusTimer),this.$status.fadeIn(500,function(){c.displayStatusTimer=setTimeout(function(){c.$status.fadeOut(500)},1500)})},_showModal:function(a){function b(){d.remove(),e.remove(),c._createModal(a)}var c=this,d=this.$el.children(".wPaint-modal-bg"),e=this.$el.children(".wPaint-modal");d.length?e.fadeOut(500,b):this._createModal(a)},_createModal:function(b){function c(){f.fadeOut(500,d)}function d(){e.remove(),f.remove()}b=a('
').append(b.children());var e=a('
'),f=a('
'),g=a('
'),h=a('
X
');h.on("click",c),f.append(g.append(b)).append(h),this.$el.append(e).append(f),f.css({left:this.$el.outerWidth()/2-f.outerWidth(!0)/2,top:this.$el.outerHeight()/2-f.outerHeight(!0)/2}),f.fadeIn(500)},_createMenu:function(a,b){return b=b||{},b.alignment=this.options.menuOrientation,b.handle=this.options.menuHandle,new c(this,a,b)},_fixMenus:function(){function b(b,d){var e=a(d),f=e.clone();f.appendTo(c.$el),f.outerHeight()===f.get(0).scrollHeight&&e.css({overflowY:"auto"}),f.remove()}var c=this,d=null;for(var e in this.menus.all)d=c.menus.all[e].$menu.find(".wPaint-menu-select-holder"),d.length&&d.children().each(b)},_closeSelectBoxes:function(a){var b,c;for(b in this.menus.all)c=this.menus.all[b].$menuHolder.children(".wPaint-menu-icon-select"),a&&(c=c.not(".wPaint-menu-icon-name-"+a.name)),c.children(".wPaint-menu-select-holder").hide()},_callShapeFunc:function(a){var b=this.$canvas.offset(),c=a.canvasEvent.capitalize(),d="_draw"+this.options.mode.capitalize()+c;a.pageX=Math.floor(a.pageX-b.left),a.pageY=Math.floor(a.pageY-b.top),this[d]&&this[d].apply(this,[a]),this.options["draw"+c]&&this.options["_draw"+c].apply(this,[a]),"Down"===c&&this.options.onShapeDown?this.options.onShapeDown.apply(this,[a]):"Move"===c&&this.options.onShapeMove?this.options.onShapeMove.apply(this,[a]):"Up"===c&&this.options.onShapeUp&&this.options.onShapeUp.apply(this,[a])},_stopPropagation:function(a){a.stopPropagation()},_drawShapeDown:function(a){this.$canvasTemp.css({left:a.PageX,top:a.PageY}).attr("width",0).attr("height",0).show(),this.canvasTempLeftOriginal=a.pageX,this.canvasTempTopOriginal=a.pageY},_drawShapeMove:function(b,c){var d=this.canvasTempLeftOriginal,e=this.canvasTempTopOriginal;c=c||2,b.left=b.pageX'),this.$menuHolder=a('
'),this.options.handle?this.$menuHandle=this._createHandle():this.$menu.addClass("wPaint-menu-nohandle"),"primary"===this.type?(this.wPaint.menus.primary=this,this.setOffsetLeft(this.options.offsetLeft),this.setOffsetTop(this.options.offsetTop)):"secondary"===this.type&&this.$menu.hide(),this.$menu.append(this.$menuHolder.append(this.$menuHandle)),this.reset(),this.wPaint.$el.append(this.$menu),this.setAlignment(this.options.alignment)},reset:function(){function b(a){d._appendItem(a)}var c,d=this,e=a.fn.wPaint.menus[this.name];for(c in e.items)this.$menuHolder.children(".wPaint-menu-icon-name-"+c).length||(e.items[c].name=c,e.items[c].img=d.wPaint.options.path+(e.items[c].img||e.img),b(e.items[c]))},_appendItem:function(a){var b=this["_createIcon"+a.icon.capitalize()](a);a.after?this.$menuHolder.children(".wPaint-menu-icon-name-"+a.after).after(b):this.$menuHolder.append(b)},setOffsetLeft:function(a){this.$menu.css({left:a})},setOffsetTop:function(a){this.$menu.css({top:a})},setAlignment:function(a){var b=this.$menu.css("left");this.$menu.attr("class",this.$menu.attr("class").replace(/wPaint-menu-alignment-.+\s|wPaint-menu-alignment-.+$/,"")),this.$menu.addClass("wPaint-menu-alignment-"+a),this.$menu.width("auto").css("left",-1e4),this.$menu.width(this.$menu.width()).css("left",b),"secondary"===this.type&&("horizontal"===this.options.alignment?this.dockOffset.top=this.wPaint.menus.primary.$menu.outerHeight(!0):this.dockOffset.left=this.wPaint.menus.primary.$menu.outerWidth(!0))},_createHandle:function(){function b(){e.docked=!1,e._setDrag()}function c(){a.each(e.$menu.data("ui-draggable").snapElements,function(a,b){var c=e.$menu.offset(),d=e.wPaint.menus.primary.$menu.offset();e.dockOffset.left=c.left-d.left,e.dockOffset.top=c.top-d.top,e.docked=b.snapping}),e._setDrag()}function d(){e._setIndex()}var e=this,f=a('
');return this.$menu.draggable({handle:f}),"secondary"===this.type&&(this.$menu.draggable("option","snap",this.wPaint.menus.primary.$menu),this.$menu.draggable("option","start",b),this.$menu.draggable("option","stop",c),this.$menu.draggable("option","drag",d)),f.bindMobileEvents(),f},_createIconBase:function(b){function c(b){var c=a(b.currentTarget);c.siblings(".hover").removeClass("hover"),c.hasClass("disabled")||c.addClass("hover")}function d(b){a(b.currentTarget).removeClass("hover")}function e(){f.wPaint.menus.active=f}var f=this,g=a('
'),h=a('
'),i=h.realWidth(null,null,this.wPaint.$el);return g.attr("title",b.title).on("mousedown",a.proxy(this.wPaint._closeSelectBoxes,this.wPaint,b)).on("mouseenter",c).on("mouseleave",d).on("click",e),a.isNumeric(b.index)&&h.css({backgroundImage:"url("+b.img+")",backgroundPosition:-i*b.index+"px 0px"}),g.append(h)},_createIconGroup:function(b){function c(){h.children(".wPaint-menu-select-holder").is(":visible")||b.callback.apply(f.wPaint,[])}function d(){h.addClass("active").siblings(".active").removeClass("active")}function e(){h.attr("title",b.title).off("click.setIcon").on("click.setIcon",c),h.children(".wPaint-menu-icon-img").css(g),b.callback.apply(f.wPaint,[])}var f=this,g={backgroundImage:"url("+b.img+")"},h=this.$menuHolder.children(".wPaint-menu-icon-group-"+b.group),i=h.length,j=null,k=null,l=null,m=0;return i||(h=this._createIconBase(b).addClass("wPaint-menu-icon-group wPaint-menu-icon-group-"+b.group).on("click.setIcon",c).on("mousedown",a.proxy(this._iconClick,this))),m=h.children(".wPaint-menu-icon-img").realWidth(null,null,this.wPaint.$el),g.backgroundPosition=-m*b.index+"px center",j=h.children(".wPaint-menu-select-holder"),j.length||(j=this._createSelectBox(h),j.children().on("click",d)),l=a('
').attr("title",b.title).css(g),k=this._createSelectOption(j,l).addClass("wPaint-menu-icon-name-"+b.name).on("click",e),b.after&&j.children(".wPaint-menu-select").children(".wPaint-menu-icon-name-"+b.after).after(k),i?void 0:h},_createIconGeneric:function(a){return this._createIconActivate(a)},_createIconActivate:function(a){function b(b){"generic"!==a.icon&&c._iconClick(b),a.callback.apply(c.wPaint,[b])}if(a.group)return this._createIconGroup(a);var c=this,d=this._createIconBase(a);return d.on("click",b),d},_isIconDisabled:function(a){return this.$menuHolder.children(".wPaint-menu-icon-name-"+a).hasClass("disabled")},_setIconDisabled:function(a,b){var c=this.$menuHolder.children(".wPaint-menu-icon-name-"+a);b?c.addClass("disabled").removeClass("hover"):c.removeClass("disabled")},_getIcon:function(a){return this.$menuHolder.children(".wPaint-menu-icon-name-"+a)},_iconClick:function(b){var c=a(b.currentTarget),d=this.wPaint.menus.all;for(var e in d)d[e]&&"secondary"===d[e].type&&d[e].$menu.hide();c.siblings(".active").removeClass("active"),c.hasClass("disabled")||c.addClass("active")},_createIconToggle:function(a){function b(){d.toggleClass("active"),a.callback.apply(c.wPaint,[d.hasClass("active")])}var c=this,d=this._createIconBase(a);return d.on("click",b),d},_createIconSelect:function(b){function c(c){h.children(".wPaint-menu-icon-img").html(a(c.currentTarget).html()),b.callback.apply(g.wPaint,[a(c.currentTarget).html()])}var d,e,f,g=this,h=this._createIconBase(b),i=this._createSelectBox(h);for(d=0,e=b.range.length;e>d;d++)f=this._createSelectOption(i,b.range[d]),f.on("click",c),b.useRange&&f.css(b.name,b.range[d]);return h},_createSelectBox:function(b){function c(a){a.stopPropagation(),g.hide()}function d(){i=setTimeout(function(){g.toggle()},200)}function e(){clearTimeout(i)}function f(){g.toggle()}var g=a('
'),h=a('
'),i=null;return g.on("mousedown mouseup",this.wPaint._stopPropagation).on("click",c).hide(),g.css("horizontal"===this.options.alignment?{left:0,top:b.children(".wPaint-menu-icon-img").realHeight("outer",!0,this.wPaint.$el)}:{left:b.children(".wPaint-menu-icon-img").realWidth("outer",!0,this.wPaint.$el),top:0}),b.addClass("wPaint-menu-icon-select").append('
').append(g.append(h)),b.hasClass("wPaint-menu-icon-group")?b.on("mousedown",d).on("mouseup",e):b.on("click",f),g},_createSelectOption:function(b,c){var d=b.children(".wPaint-menu-select"),e=a('
').append(c);return d.children().length||e.addClass("first"),d.append(e),e},_setSelectValue:function(a,b){this._getIcon(a).children(".wPaint-menu-icon-img").html(b)},_createIconColorPicker:function(a){function b(){"dropper"===e.wPaint.options.mode&&e.wPaint.setMode(e.wPaint.previousMode)}function c(b){a.callback.apply(e.wPaint,[b])}function d(){f.trigger("click"),e.wPaint.dropper=a.name,e.wPaint.setMode("dropper")}var e=this,f=this._createIconBase(a);return f.on("click",b).addClass("wPaint-menu-colorpicker").wColorPicker({mode:"click",generateButton:!1,dropperButton:!0,onSelect:c,onDropper:d}),f},_setColorPickerValue:function(a,b){this._getIcon(a).children(".wPaint-menu-icon-img").css("backgroundColor",b)},_createIconMenu:function(a){function b(){c.wPaint.setCursor(a.name);var b=c.wPaint.menus.all[a.name];b.$menu.toggle(),c.handle?b._setDrag():b._setPosition()}var c=this,d=this._createIconActivate(a);return d.on("click",b),d},_setDrag:function(){var b=this.$menu,c=null,d=null;b.is(":visible")&&(this.docked&&(c=d=a.proxy(this._setPosition,this),this._setPosition()),this.wPaint.menus.primary.$menu.draggable("option","drag",c),this.wPaint.menus.primary.$menu.draggable("option","stop",d))},_setPosition:function(){var a=this.wPaint.menus.primary.$menu.position();this.$menu.css({left:a.left+this.dockOffset.left,top:a.top+this.dockOffset.top})},_setIndex:function(){var a=this.wPaint.menus.primary.$menu.offset(),b=this.$menu.offset();b.topa.width||o.height>a.height||a.options.imageStretch)&&(t=(e=a.width/o.width)<(c=a.height/o.height)?e:c,u=o.width*t,p=o.height*t),r=(a.width-u)/2,l=(a.height-p)/2),h.clearRect(0,0,a.width,a.height),h.drawImage(o,r,l,u,p),a[n+"Resize"]=!1,s||a._addUndo()}))},setBg:function(t,e){if(!t)return!0;this.setImage(t,"bg",e,!0)},setCursor:function(e){e=t.fn.wPaint.cursors[e]||t.fn.wPaint.cursors.default,this.$el.css("cursor",'url("'+this.options.path+e.path+'") '+e.left+" "+e.top+", default")},setMenuOrientation:function(e){t.each(this.menus.all,function(t,n){n.options.aligment=e,n.setAlignment(e)})},getImage:function(e){var n=document.createElement("canvas"),i=n.getContext("2d");return e=!1!==e,t(n).css({display:"none",position:"absolute",left:0,top:0}).attr("width",this.width).attr("height",this.height),e&&i.drawImage(this.canvasBg,0,0),i.drawImage(this.canvas,0,0),n.toDataURL()},getBg:function(){return this.canvasBg.toDataURL()},_displayStatus:function(e){var n=this;this.$status||(this.$status=t('
'),this.$el.append(this.$status)),this.$status.html(e),clearTimeout(this.displayStatusTimer),this.$status.fadeIn(500,function(){n.displayStatusTimer=setTimeout(function(){n.$status.fadeOut(500)},1500)})},_showModal:function(t){var e=this,n=this.$el.children(".wPaint-modal-bg"),i=this.$el.children(".wPaint-modal");n.length?i.fadeOut(500,function(){n.remove(),i.remove(),e._createModal(t)}):this._createModal(t)},_createModal:function(e){function n(){i.remove(),s.remove()}e=t('
').append(e.children());var i=t('
'),s=t('
'),a=t('
'),o=t('
X
');o.on("click",function(){s.fadeOut(500,n)}),s.append(a.append(e)).append(o),this.$el.append(i).append(s),s.css({left:this.$el.outerWidth()/2-s.outerWidth(!0)/2,top:this.$el.outerHeight()/2-s.outerHeight(!0)/2}),s.fadeIn(500)},_createMenu:function(t,e){return e=e||{},e.alignment=this.options.menuOrientation,e.handle=this.options.menuHandle,new n(this,t,e)},_fixMenus:function(){function e(e,i){var s=t(i),a=s.clone();a.appendTo(n.$el),a.outerHeight()===a.get(0).scrollHeight&&s.css({overflowY:"auto"}),a.remove()}var n=this,i=null;for(var s in this.menus.all)(i=n.menus.all[s].$menu.find(".wPaint-menu-select-holder")).length&&i.children().each(e)},_closeSelectBoxes:function(t){var e,n;for(e in this.menus.all)n=this.menus.all[e].$menuHolder.children(".wPaint-menu-icon-select"),t&&(n=n.not(".wPaint-menu-icon-name-"+t.name)),n.children(".wPaint-menu-select-holder").hide()},_callShapeFunc:function(t){var e=this.$canvas.offset(),n=t.canvasEvent.capitalize(),i="_draw"+this.options.mode.capitalize()+n;t.pageX=Math.floor(t.pageX-e.left),t.pageY=Math.floor(t.pageY-e.top),this[i]&&this[i].apply(this,[t]),this.options["draw"+n]&&this.options["_draw"+n].apply(this,[t]),"Down"===n&&this.options.onShapeDown?this.options.onShapeDown.apply(this,[t]):"Move"===n&&this.options.onShapeMove?this.options.onShapeMove.apply(this,[t]):"Up"===n&&this.options.onShapeUp&&this.options.onShapeUp.apply(this,[t])},_stopPropagation:function(t){t.stopPropagation()},_drawShapeDown:function(t){this.$canvasTemp.css({left:t.PageX,top:t.PageY}).attr("width",0).attr("height",0).show(),this.canvasTempLeftOriginal=t.pageX,this.canvasTempTopOriginal=t.pageY},_drawShapeMove:function(e,n){var i=this.canvasTempLeftOriginal,s=this.canvasTempTopOriginal;n=n||2,e.left=e.pageX'),this.$menuHolder=t('
'),this.options.handle?this.$menuHandle=this._createHandle():this.$menu.addClass("wPaint-menu-nohandle"),"primary"===this.type?(this.wPaint.menus.primary=this,this.setOffsetLeft(this.options.offsetLeft),this.setOffsetTop(this.options.offsetTop)):"secondary"===this.type&&this.$menu.hide(),this.$menu.append(this.$menuHolder.append(this.$menuHandle)),this.reset(),this.wPaint.$el.append(this.$menu),this.setAlignment(this.options.alignment)},reset:function(){function e(t){i._appendItem(t)}var n,i=this,s=t.fn.wPaint.menus[this.name];for(n in s.items)this.$menuHolder.children(".wPaint-menu-icon-name-"+n).length||(s.items[n].name=n,s.items[n].img=i.wPaint.options.path+(s.items[n].img||s.img),e(s.items[n]))},_appendItem:function(t){var e=this["_createIcon"+t.icon.capitalize()](t);t.after?this.$menuHolder.children(".wPaint-menu-icon-name-"+t.after).after(e):this.$menuHolder.append(e)},setOffsetLeft:function(t){this.$menu.css({left:t})},setOffsetTop:function(t){this.$menu.css({top:t})},setAlignment:function(t){var e=this.$menu.css("left");this.$menu.attr("class",this.$menu.attr("class").replace(/wPaint-menu-alignment-.+\s|wPaint-menu-alignment-.+$/,"")),this.$menu.addClass("wPaint-menu-alignment-"+t),this.$menu.width("auto").css("left",-1e4),this.$menu.width(this.$menu.width()).css("left",e),"secondary"===this.type&&("horizontal"===this.options.alignment?this.dockOffset.top=this.wPaint.menus.primary.$menu.outerHeight(!0):this.dockOffset.left=this.wPaint.menus.primary.$menu.outerWidth(!0))},_createHandle:function(){var e=this,n=t('
');return this.$menu.draggable({handle:n}),"secondary"===this.type&&(this.$menu.draggable("option","snap",this.wPaint.menus.primary.$menu),this.$menu.draggable("option","start",function(){e.docked=!1,e._setDrag()}),this.$menu.draggable("option","stop",function(){t.each(e.$menu.data("ui-draggable").snapElements,function(t,n){var i=e.$menu.offset(),s=e.wPaint.menus.primary.$menu.offset();e.dockOffset.left=i.left-s.left,e.dockOffset.top=i.top-s.top,e.docked=n.snapping}),e._setDrag()}),this.$menu.draggable("option","drag",function(){e._setIndex()})),n.bindMobileEvents(),n},_createIconBase:function(e){var n=this,i=t('
'),s=t('
'),a=s.realWidth(null,null,this.wPaint.$el);return i.attr("title",e.title).on("mousedown",t.proxy(this.wPaint._closeSelectBoxes,this.wPaint,e)).on("mouseenter",function(e){var n=t(e.currentTarget);n.siblings(".hover").removeClass("hover"),n.hasClass("disabled")||n.addClass("hover")}).on("mouseleave",function(e){t(e.currentTarget).removeClass("hover")}).on("click",function(){n.wPaint.menus.active=n}),t.isNumeric(e.index)&&s.css({backgroundImage:"url("+e.img+")",backgroundPosition:-a*e.index+"px 0px"}),i.append(s)},_createIconGroup:function(e){function n(){a.children(".wPaint-menu-select-holder").is(":visible")||e.callback.apply(i.wPaint,[])}var i=this,s={backgroundImage:"url("+e.img+")"},a=this.$menuHolder.children(".wPaint-menu-icon-group-"+e.group),o=a.length,h=null,c=null,r=null,l=0;if(o||(a=this._createIconBase(e).addClass("wPaint-menu-icon-group wPaint-menu-icon-group-"+e.group).on("click.setIcon",n).on("mousedown",t.proxy(this._iconClick,this))),l=a.children(".wPaint-menu-icon-img").realWidth(null,null,this.wPaint.$el),s.backgroundPosition=-l*e.index+"px center",(h=a.children(".wPaint-menu-select-holder")).length||(h=this._createSelectBox(a)).children().on("click",function(){a.addClass("active").siblings(".active").removeClass("active")}),r=t('
').attr("title",e.title).css(s),c=this._createSelectOption(h,r).addClass("wPaint-menu-icon-name-"+e.name).on("click",function(){a.attr("title",e.title).off("click.setIcon").on("click.setIcon",n),a.children(".wPaint-menu-icon-img").css(s),e.callback.apply(i.wPaint,[])}),e.after&&h.children(".wPaint-menu-select").children(".wPaint-menu-icon-name-"+e.after).after(c),!o)return a},_createIconGeneric:function(t){return this._createIconActivate(t)},_createIconActivate:function(t){if(t.group)return this._createIconGroup(t);var e=this,n=this._createIconBase(t);return n.on("click",function(n){"generic"!==t.icon&&e._iconClick(n),t.callback.apply(e.wPaint,[n])}),n},_isIconDisabled:function(t){return this.$menuHolder.children(".wPaint-menu-icon-name-"+t).hasClass("disabled")},_setIconDisabled:function(t,e){var n=this.$menuHolder.children(".wPaint-menu-icon-name-"+t);e?n.addClass("disabled").removeClass("hover"):n.removeClass("disabled")},_getIcon:function(t){return this.$menuHolder.children(".wPaint-menu-icon-name-"+t)},_iconClick:function(e){var n=t(e.currentTarget),i=this.wPaint.menus.all;for(var s in i)i[s]&&"secondary"===i[s].type&&i[s].$menu.hide();n.siblings(".active").removeClass("active"),n.hasClass("disabled")||n.addClass("active")},_createIconToggle:function(t){var e=this,n=this._createIconBase(t);return n.on("click",function(){n.toggleClass("active"),t.callback.apply(e.wPaint,[n.hasClass("active")])}),n},_createIconSelect:function(e){function n(n){h.children(".wPaint-menu-icon-img").html(t(n.currentTarget).html()),e.callback.apply(o.wPaint,[t(n.currentTarget).html()])}var i,s,a,o=this,h=this._createIconBase(e),c=this._createSelectBox(h);for(i=0,s=e.range.length;i'),i=t('
'),s=null;return n.on("mousedown mouseup",this.wPaint._stopPropagation).on("click",function(t){t.stopPropagation(),n.hide()}).hide(),"horizontal"===this.options.alignment?n.css({left:0,top:e.children(".wPaint-menu-icon-img").realHeight("outer",!0,this.wPaint.$el)}):n.css({left:e.children(".wPaint-menu-icon-img").realWidth("outer",!0,this.wPaint.$el),top:0}),e.addClass("wPaint-menu-icon-select").append('
').append(n.append(i)),e.hasClass("wPaint-menu-icon-group")?e.on("mousedown",function(){s=setTimeout(function(){n.toggle()},200)}).on("mouseup",function(){clearTimeout(s)}):e.on("click",function(){n.toggle()}),n},_createSelectOption:function(e,n){var i=e.children(".wPaint-menu-select"),s=t('
').append(n);return i.children().length||s.addClass("first"),i.append(s),s},_setSelectValue:function(t,e){this._getIcon(t).children(".wPaint-menu-icon-img").html(e)},_createIconColorPicker:function(t){var e=this,n=this._createIconBase(t);return n.on("click",function(){"dropper"===e.wPaint.options.mode&&e.wPaint.setMode(e.wPaint.previousMode)}).addClass("wPaint-menu-colorpicker").wColorPicker({mode:"click",generateButton:!1,dropperButton:!0,onSelect:function(n){t.callback.apply(e.wPaint,[n])},onDropper:function(){n.trigger("click"),e.wPaint.dropper=t.name,e.wPaint.setMode("dropper")}}),n},_setColorPickerValue:function(t,e){this._getIcon(t).children(".wPaint-menu-icon-img").css("backgroundColor",e)},_createIconMenu:function(t){var e=this,n=this._createIconActivate(t);return n.on("click",function(){e.wPaint.setCursor(t.name);var n=e.wPaint.menus.all[t.name];n.$menu.toggle(),e.handle?n._setDrag():n._setPosition()}),n},_setDrag:function(){var e=null,n=null;this.$menu.is(":visible")&&(this.docked&&(e=n=t.proxy(this._setPosition,this),this._setPosition()),this.wPaint.menus.primary.$menu.draggable("option","drag",e),this.wPaint.menus.primary.$menu.draggable("option","stop",n))},_setPosition:function(){var t=this.wPaint.menus.primary.$menu.position();this.$menu.css({left:t.left+this.dockOffset.left,top:t.top+this.dockOffset.top})},_setIndex:function(){var t=this.wPaint.menus.primary.$menu.offset(),e=this.$menu.offset();e.top