macoslinuxwindowsinboxwhatsappicloudtweetdeckhipchattelegramhangoutsslackgmailskypefacebook-workplaceoutlookemailmicrosoft-teamsdiscordmessengercustom-services
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
34 KiB
1 line
34 KiB
9 years ago
|
Ext.define("Ext.ux.colorpick.Selection",{mixinId:"colorselection",config:{format:"hex6",value:"FF0000",color:null,previousColor:null},applyColor:function(a){var b=a;if(Ext.isString(b)){b=Ext.ux.colorpick.ColorUtils.parseColor(a)}return b},applyValue:function(a){var b=Ext.ux.colorpick.ColorUtils.parseColor(a);return this.formatColor(b)},formatColor:function(a){return Ext.ux.colorpick.ColorUtils.formats[this.getFormat()](a)},updateColor:function(a){var b=this;if(!b.syncing){b.syncing=true;b.setValue(b.formatColor(a));b.syncing=false}},updateValue:function(c,a){var b=this;if(!b.syncing){b.syncing=true;b.setColor(c);b.syncing=false}this.fireEvent("change",b,c,a)}});Ext.define("Ext.ux.colorpick.ColorUtils",function(a){var b=Ext.isIE&&Ext.ieVersion<10;return{singleton:true,constructor:function(){a=this},backgroundTpl:b?"filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#{alpha}{hex}', endColorstr='#{alpha}{hex}');":"background: {rgba};",setBackground:b?function(e,c){if(e){var d=Ext.XTemplate.getTpl(a,"backgroundTpl"),f={hex:a.rgb2hex(c.r,c.g,c.b),alpha:Math.floor(c.a*255).toString(16)},g=d.apply(f);e.applyStyles(g)}}:function(e,c){if(e){var d=Ext.XTemplate.getTpl(a,"backgroundTpl"),f={rgba:a.getRGBAString(c)},g=d.apply(f);e.applyStyles(g)}},formats:{HEX6:function(c){return a.rgb2hex(c.r,c.g,c.b)},HEX8:function(c){var e=a.rgb2hex(c.r,c.g,c.b),d=Math.round(c.a*255).toString(16);if(d.length<2){e+="0"}e+=d.toUpperCase();return e}},hexRe:/#?([0-9a-f]{3,8})/i,rgbaAltRe:/rgba\(\s*([\w#\d]+)\s*,\s*([\d\.]+)\s*\)/,rgbaRe:/rgba\(\s*([\d\.]+)\s*,\s*([\d\.]+)\s*,\s*([\d\.]+)\s*,\s*([\d\.]+)\s*\)/,rgbRe:/rgb\(\s*([\d\.]+)\s*,\s*([\d\.]+)\s*,\s*([\d\.]+)\s*\)/,parseColor:function(c){if(!c){return null}var h=this,g=h.colorMap[c],f,e,d;if(g){e={r:g[0],g:g[1],b:g[2],a:1}}else{if(c==="transparent"){e={r:0,g:0,b:0,a:0}}else{f=h.hexRe.exec(c);if(f){f=f[1];switch(f.length){default:return null;case 3:e={r:parseInt(f[0]+f[0],16),g:parseInt(f[1]+f[1],16),b:parseInt(f[2]+f[2],16),a:1};break;case 6:case 8:e={r:parseInt(f.substr(0,2),16),g:parseInt(f.substr(2,2),16),b:parseInt(f.substr(4,2),16),a:parseInt(f.substr(6,2)||"ff",16)/255};break}}else{f=h.rgbaRe.exec(c);if(f){e={r:parseFloat(f[1]),g:parseFloat(f[2]),b:parseFloat(f[3]),a:parseFloat(f[4])}}else{f=h.rgbaAltRe.exec(c);if(f){e=h.parseColor(f[1]);e.a=parseFloat(f[2]);return e}f=h.rgbRe.exec(c);if(f){e={r:parseFloat(f[1]),g:parseFloat(f[2]),b:parseFloat(f[3]),a:1}}else{return null}}}}}d=this.rgb2hsv(e.r,e.g,e.b);return Ext.apply(e,d)},getRGBAString:function(c){return"rgba("+c.r+","+c.g+","+c.b+","+c.a+")"},getRGBString:function(c){return"rgb("+c.r+","+c.g+","+c.b+")"},hsv2rgb:function(k,j,g){k=k*360;if(k===360){k=0}var l=g*j;var f=k/60;var e=l*(1-Math.abs(f%2-1));var i=[0,0,0];switch(Math.floor(f)){case 0:i=[l,e,0];break;case 1:i=[e,l,0];break;case 2:i=[0,l,e];break;case 3:i=[0,e,l];break;case 4:i=[e,0,l];break;case 5:i=[l,0,e];break;default:break}var d=g-l;i[0]+=d;i[1]+=d;i[2]+=d;i[0]=Math.round(i[0]*255);i[1]=Math.round(i[1]*255);i[2]=Math.round(i[2]*255);return{r:i[0],g:i[1],b:i[2]}},rgb2hsv:function(d,i,l){d=d/255;i=i/255;l=l/255;var j=Math.max(d,i,l);var e=Math.min(d,i,l);var k=j-e;var o=0;if(k!==0){if(j===d){o=((i-l)/k)%6}else{if(j===i){o=((l-d)/k)+2}else{if(j===l){o=((d-i)/k)+4}}}}var f=o*60;if(f===360){f=0}var n=j;var p=0;if(k!==0){p=k/n}f=f/360;if(f<0){f=f+1}return{h:f,s:p,v:n}},rgb2hex:function(e,d,c){e=e.toString(16);d=d.toString(16);c=c.toString(16);if(e.length<2){e="0"+e}if(d.length<2){d="0"+d}if(c.length<2){c="0"+c}return(e+d+c).toUpperCase()},colorMap:{aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:
|