blob: df719d4d12bc50807df4fc08ccbda7e1d6b1cdb3 [file] [log] [blame]
<!---
changed by swagner
-->
<library>
<class name="colorSlider" extends="slider" x="4"
minvalue="1" maxvalue="240"
trackheight="4" thumbheight="12"
showrange="false" showvalue="true">
<attribute name="doSendValueEvent" value="false" type="boolean" />
<handler name="onvalue">
if (this.doSendValueEvent) {
classroot.updateColor();
} else {
this.doSendValueEvent=true;
}
</handler>
</class>
<class name="colorPot" width="13" height="13"
onmouseout="">
<handler name="onmouseover">
var t = _root.createEmptyMovieClip('hans2',20);
var myColorTZ = new Color(t);
myColorTZ.setRGB(this.mycolor);
this.setAttribute('mycolorString',this.parent.parent.parent.numberToRGB(myColorTZ));
</handler>
<attribute name="mycolor" type="color" value="0x000000"/>
<attribute name="mycolorString" type="string" value="0x000000"/>
<attribute name="listener" type="expression"/>
<handler name="onclick">
listener.changeColor(this.mycolor);
listener.close();
</handler>
<handler name="ondblclick">
listener.changeColor(this.mycolor);
listener.close();
</handler>
<labelTooltip text="${ parent.mycolorString }" />
<view bgcolor="#444444" width="13" height="13" >
<view bgcolor="${classroot.mycolor}" x="1" y="1" width="11" height="11"/>
</view>
</class>
<class name="colorRow" layout="axis:x;spacing:-1" />
<class name="colorpicker" extends="guiPresenter" labelid="425" isdragable="false"
minimizable="false" maximizable="false" fullToolBar="true"
resizeable="false" width="250" height="154" >
<attribute name="btnRef" value="null" />
<attribute name="selectedColor" type="number" value="0x00aeef"/>
<handler name="onclose">
lz.ModeManager.release(this);
this.btnRef.closedColorPicker();
this.btnRef.setAttribute('selectedColor', this.selectedColor);
this.btnRef.setTransformedStringColor();
</handler>
<!--- @keywords private -->
<method name="passModeEvent" args="eventStr,view" >
<![CDATA[
if ( eventStr == "onmousedown" ){
if ( view != null ) {
if ( !view.childOf(this) ) {
this.close();
}
} else {
this.close();
}
}
if (view && view.childOf(this)) {
if (view[ eventStr ]) {
view[ eventStr ].sendEvent( view );
}
return false;
}
return true;
]]>
</method>
<method name="doDefaultColor" args="thisC">
<![CDATA[
var c = thisC.getRGB();
var r = (c >> 16) & 0xff;
var g = (c >> 8) & 0xff;
var b = c & 0xff;
////Debug.write("r g b: ",r,g,b);
var hsl = RGBtoHLS(r,g,b);
////Debug.write("doDefaultColor ",hsl);
this.updateSlidersByValue(hsl);
var rgb = HLStoRGB(s_hue.value, s_bri.value, s_sat.value);
var c = rgb.r << 16 | rgb.g << 8 | rgb.b
this.setAttribute('selectedColor', c);
]]>
</method>
<method name="updateColor" >
<![CDATA[
////Debug.write("updateColor ");
var rgb = HLStoRGB(s_hue.value, s_bri.value, s_sat.value);
var c = rgb.r << 16 | rgb.g << 8 | rgb.b
this.setAttribute('selectedColor', c);
]]>
</method>
<method name="changeColor" args="c">
<![CDATA[
////Debug.write("changeColor ");
this.setAttribute('selectedColor', c);
var r = (c >> 16) & 0xff;
var g = (c >> 8) & 0xff;
var b = c & 0xff;
var hsl = RGBtoHLS(r,g,b);
this.updateSlidersByValue(hsl);
]]>
</method>
<method name="updateSlidersByValue" args="hsl">
s_hue.doSendValueEvent=false;
s_hue.setValue(hsl.h);
s_bri.doSendValueEvent=false;
s_bri.setValue(hsl.l);
s_sat.doSendValueEvent=false;
s_sat.setValue(hsl.s);
</method>
<method name="numberToRGB" args="thisC">
<![CDATA[
var c = thisC.getRGB();
var r = (c >> 16) & 0xff;
var g = (c >> 8) & 0xff;
var b = c & 0xff;
////Debug.write("r g b: ",r,g,b);
HEX_R = r.toString(16).toUpperCase();
HEX_G = g.toString(16).toUpperCase();
HEX_B = b.toString(16).toUpperCase();
if (HEX_R.length < 2) {
HEX_R = "0"+HEX_R;
}
if (HEX_G.length < 2) {
HEX_G = "0"+HEX_G;
}
if (HEX_B.length < 2) {
HEX_B = "0"+HEX_B;
}
var hex = "0x"+HEX_R + HEX_G + HEX_B;
return hex;
]]>
</method>
<method name="RGBtoHLS" args="r,g,b">
<![CDATA[
var h,l,s;
var max = (Math.max(Math.max(r, g), b))/255;
var min = (Math.min(Math.min(r, g), b))/255;
var delta = max-min;
l = (max+min)/2;
s = (max == min) ? 0 : ((l <= 0.5) ? delta/l/2 : delta/(2-l*2));
if(r/255 == max) h = (g-b)/delta/255;
else if(g/255 == max) h = 2+(b-r)/delta/255;
else if(b/255 == max) h = 4+(r-g)/delta/255;
h *= 40;
if(h < 0) h += 240;
h = Math.round(h);
return {h:((isNaN(h)) ? 0 : h), l:Math.round(l*240), s:Math.round(s*240)};
]]>
</method>
<method name="HLStoRGB" args="h,l,s">
<![CDATA[
var r,g,b;
if(s == 0) {
r = g = b = Math.round(l/240*255);
} else {
h /= 240; l /= 240; s /= 240;
var temp4,temp3;
var temp2 = (l < 0.5) ? l*(s+1) : l+s-l*s;
var temp1 = l*2 - temp2;
for(var i=0; i<3; i++) {
switch(i) {
case 0: temp3 = h+1/3; break;
case 1: temp3 = h; break;
case 2: temp3 = h-1/3; break;
}
if(temp3 < 0) temp3++;
else if(temp3 > 1) temp3--;
if(temp3*6 < 1) temp4 = temp1+(temp2-temp1)*6*temp3;
else if(temp3*2 < 1) temp4 = temp2;
else if(temp3*3 < 2) temp4 = temp1+(temp2-temp1)*((2/3)-temp3)*6;
else temp4 = temp1;
switch(i) {
case 0: r = Math.round(temp4*255); break;
case 1: g = Math.round(temp4*255); break;
case 2: b = Math.round(temp4*255); break;
}
}
}
return {r:r, g:g, b:b};
]]>
</method>
<text fontsize="8" x="$once{classroot.s_hue.width + classroot.s_hue.x}"
y="$once{classroot.s_hue.y - 4}" text="HUE" width="26"/>
<colorSlider name="s_hue" y="102" />
<text fontsize="8" x="$once{classroot.s_bri.width + classroot.s_bri.x}"
y="$once{classroot.s_bri.y - 4}" text="BRI" />
<colorSlider name="s_bri" y="120" />
<text fontsize="8" x="$once{classroot.s_sat.width + classroot.s_sat.x}"
y="$once{classroot.s_sat.y - 4}" text="SAT" />
<colorSlider name="s_sat" y="138" />
<!-- current color -->
<view name="c2" bgcolor="black" width="30" height="66" y="24" x="206">
<view name="current" x="1" y="1" bgcolor="${classroot.selectedColor}"
width="$once{parent.width -2}" height="$once{parent.height -2}" />
</view>
<!-- default colors -->
<view x="4" y="26" layout="axis:y;spacing:-1" >
<colorRow>
<colorPot listener="$once{classroot}" mycolor="#ff0000" mycolorString="0xFF0000" />
<colorPot listener="$once{classroot}" mycolor="#ffff00" mycolorString="0xFFFF00" />
<colorPot listener="$once{classroot}" mycolor="#00ff00" mycolorString="0x00FF00" />
<colorPot listener="$once{classroot}" mycolor="#00ffff" mycolorString="0x00FFFF" />
<colorPot listener="$once{classroot}" mycolor="#0000ff" mycolorString="0x0000FF" />
<colorPot listener="$once{classroot}" mycolor="#ff00ff" mycolorString="0xFF00Ff" />
<colorPot listener="$once{classroot}" mycolor="#ffffff" mycolorString="0xFFFFFF" />
<colorPot listener="$once{classroot}" mycolor="#ebebeb" mycolorString="0xEBEBEB" />
<colorPot listener="$once{classroot}" mycolor="#e1e1e1" mycolorString="0xE1E1E1" />
<colorPot listener="$once{classroot}" mycolor="#d7d7d7" mycolorString="0xD7D7D7" />
<colorPot listener="$once{classroot}" mycolor="#cccccc" mycolorString="0xCCCCCC" />
<colorPot listener="$once{classroot}" mycolor="#c2c2c2" mycolorString="0xC2C2C2" />
<colorPot listener="$once{classroot}" mycolor="#b7b7b7" mycolorString="0xB7B7B7" />
<colorPot listener="$once{classroot}" mycolor="#acacac" mycolorString="0xACACAC" />
<colorPot listener="$once{classroot}" mycolor="#a0a0a0" mycolorString="0xA0A0A0" />
<colorPot listener="$once{classroot}" mycolor="#959595" mycolorString="0x959595" />
</colorRow>
<colorRow>
<colorPot listener="$once{classroot}" mycolor="#ee1d24" mycolorString="0xEE1D24" />
<colorPot listener="$once{classroot}" mycolor="#fff100" mycolorString="0xFFF100" />
<colorPot listener="$once{classroot}" mycolor="#00a650" mycolorString="0x00A650" />
<colorPot listener="$once{classroot}" mycolor="#00aeef" mycolorString="0x00AEEF" />
<colorPot listener="$once{classroot}" mycolor="#2f3192" mycolorString="0x2F3192" />
<colorPot listener="$once{classroot}" mycolor="#ed008c" mycolorString="0xED008C" />
<colorPot listener="$once{classroot}" mycolor="#898989" mycolorString="0x898989" />
<colorPot listener="$once{classroot}" mycolor="#7d7d7d" mycolorString="0x7D7D7D" />
<colorPot listener="$once{classroot}" mycolor="#707070" mycolorString="0x707070" />
<colorPot listener="$once{classroot}" mycolor="#626262" mycolorString="0x626262" />
<colorPot listener="$once{classroot}" mycolor="#555555" mycolorString="0x555555" />
<colorPot listener="$once{classroot}" mycolor="#464646" mycolorString="0x464646" />
<colorPot listener="$once{classroot}" mycolor="#363636" mycolorString="0x363636" />
<colorPot listener="$once{classroot}" mycolor="#262626" mycolorString="0x262626" />
<colorPot listener="$once{classroot}" mycolor="#111111" mycolorString="0x111111" />
<colorPot listener="$once{classroot}" mycolor="#000000" mycolorString="0x000000" />
</colorRow>
<colorRow>
<colorPot listener="$once{classroot}" mycolor="#f7977a" mycolorString="0xF7977A" />
<colorPot listener="$once{classroot}" mycolor="#fbad82" mycolorString="0xFBAD82" />
<colorPot listener="$once{classroot}" mycolor="#fdc68c" mycolorString="0xFDC68C" />
<colorPot listener="$once{classroot}" mycolor="#fff799" mycolorString="0xFFF799" />
<colorPot listener="$once{classroot}" mycolor="#c6df9c" mycolorString="0xC6DF9C" />
<colorPot listener="$once{classroot}" mycolor="#a4d49d" mycolorString="0xA4D49D" />
<colorPot listener="$once{classroot}" mycolor="#81ca9d" mycolorString="0x81CA9D" />
<colorPot listener="$once{classroot}" mycolor="#7bcdc9" mycolorString="0x7bcdc9" />
<colorPot listener="$once{classroot}" mycolor="#6ccff7" mycolorString="0x6CCFF7" />
<colorPot listener="$once{classroot}" mycolor="#7ca6d8" mycolorString="0x7CA6D8" />
<colorPot listener="$once{classroot}" mycolor="#8293ca" mycolorString="0x8293CA" />
<colorPot listener="$once{classroot}" mycolor="#8881be" mycolorString="0x8881BE" />
<colorPot listener="$once{classroot}" mycolor="#a286bd" mycolorString="0xA286BD" />
<colorPot listener="$once{classroot}" mycolor="#bc8cbf" mycolorString="0xBC8CBf" />
<colorPot listener="$once{classroot}" mycolor="#f49bc1" mycolorString="0xF49BC1" />
<colorPot listener="$once{classroot}" mycolor="#f5999d" mycolorString="0xf5999d" />
</colorRow>
<colorRow>
<colorPot listener="$once{classroot}" mycolor="#f16c4d" mycolorString="0xF16C4D" />
<colorPot listener="$once{classroot}" mycolor="#f68e54" mycolorString="0xF68E54" />
<colorPot listener="$once{classroot}" mycolor="#fbaf5a" mycolorString="0xFBAF5A" />
<colorPot listener="$once{classroot}" mycolor="#fff467" mycolorString="0xFFF467" />
<colorPot listener="$once{classroot}" mycolor="#acd372" mycolorString="0xACD372" />
<colorPot listener="$once{classroot}" mycolor="#7dc473" mycolorString="0x7DC473" />
<colorPot listener="$once{classroot}" mycolor="#39b778" mycolorString="0x39B778" />
<colorPot listener="$once{classroot}" mycolor="#16bcb4" mycolorString="0x16BCB4" />
<colorPot listener="$once{classroot}" mycolor="#00bff3" mycolorString="0x00BFF3" />
<colorPot listener="$once{classroot}" mycolor="#438ccb" mycolorString="0x438CCB" />
<colorPot listener="$once{classroot}" mycolor="#5573b7" mycolorString="0x5573B7" />
<colorPot listener="$once{classroot}" mycolor="#5e5ca7" mycolorString="0x5E5CA7" />
<colorPot listener="$once{classroot}" mycolor="#855FA8" mycolorString="0x855FA8" />
<colorPot listener="$once{classroot}" mycolor="#a763a9" mycolorString="0xA763A9" />
<colorPot listener="$once{classroot}" mycolor="#ef6ea8" mycolorString="0xEf6EA8" />
<colorPot listener="$once{classroot}" mycolor="#f16d7e" mycolorString="0xF16D7E" />
</colorRow>
<colorRow>
<colorPot listener="$once{classroot}" mycolor="#9a8575" mycolorString="0x9A8575" />
<colorPot listener="$once{classroot}" mycolor="#726357" mycolorString="0x726357" />
<colorPot listener="$once{classroot}" mycolor="#524842" mycolorString="0x524842" />
<colorPot listener="$once{classroot}" mycolor="#362f2c" mycolorString="0x362F2C" />
<colorPot listener="$once{classroot}" mycolor="#c69c6d" mycolorString="0xC69C6D" />
<colorPot listener="$once{classroot}" mycolor="#a77c50" mycolorString="0xA77C50" />
<colorPot listener="$once{classroot}" mycolor="#8c623a" mycolorString="0x8C623A" />
<colorPot listener="$once{classroot}" mycolor="#744b24" mycolorString="0x744B24" />
<colorPot listener="$once{classroot}" mycolor="#613813" mycolorString="0x613813" />
</colorRow>
</view>
</class>
</library>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
* Copyright 2005-2007 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
<!-- @LZX_VERSION@ -->