Use slider to create a color mixer
<!--
Isomorphic SmartClient
Copyright(c) 1998 and beyond Isomorphic Software, Inc.
"SmartClient" is a trademark of Isomorphic Software, Inc.
All rights reserved.
Open Source License
SmartClient source code, located under the source/ directory, and the resulting assembled modules
in isomorphic/system/modules/, as well as JavaScript and CSS files under the isomorphic/skins directory are
licensed under the terms of the GNU Lesser General Public License, version 3.
The text of the LGPLv3 license is available online at http://www.gnu.org/licenses/lgpl-3.0.html
If your project precludes the use of this license, or if you'd like to support SmartClient LGPL,
we encourage you to buy a commercial license.
Icon Experience Collection
Selected 16x16 icons within the isomorphic/skins directory are part of the Icon Experience collection
(http://www.iconexperience.com) and may be freely used with any SmartClient components without charge,
but may not be used as part of screen designs separate from SmartClient components without a purchase
of a license from Icon Experience. We are working to replace these icons as soon as possible.
All other media found under the isomorphic/skins directory may be used under the LGPLv3.
Commercial Licenses
A number of commercial licenses are available for purchase. Please see http://smartclient.com/license.
Warranty Disclaimer
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
Public License for more details.
Copyright 2001 and beyond Isomorphic Software, Inc. Last revised July 20, 2008.
-->
<!-- The following code is revised from SmartClient demo code(SmartClient_70rc2_LGPL.zip).-->
<HTML><HEAD>
<SCRIPT>var isomorphicDir="isomorphic/";</SCRIPT>
<SCRIPT SRC=isomorphic/system/modules/ISC_Core.js></SCRIPT>
<SCRIPT SRC=isomorphic/system/modules/ISC_Foundation.js></SCRIPT>
<SCRIPT SRC=isomorphic/system/modules/ISC_Containers.js></SCRIPT>
<SCRIPT SRC=isomorphic/system/modules/ISC_Grids.js></SCRIPT>
<SCRIPT SRC=isomorphic/system/modules/ISC_Forms.js></SCRIPT>
<SCRIPT SRC=isomorphic/system/modules/ISC_DataBinding.js></SCRIPT>
<SCRIPT SRC=isomorphic/skins/SmartClient/load_skin.js></SCRIPT>
</HEAD><BODY BGCOLOR='powderblue' MARGINHEIGHT=0 MARGINWIDTH=0 LEFTMARGIN=0 TOPMARGIN=0>
<TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=5 BORDER=0><TR><TD CLASS=pageHeader BGCOLOR=WHITE>
Slider color mixer example
</TD><TD CLASS=pageHeader ALIGN=RIGHT BGCOLOR=WHITE>
Isomorphic SmartClient SDK
</TD></TR></TABLE><TABLE WIDTH=100% CELLSPACING=0 CELLPADDING=0 BORDER=0><TR>
<TD BGCOLOR=336666><IMG SRC=images/blank.gif WIDTH=1 HEIGHT=4></TD></TR></TABLE>
<!--------------------------
Example code starts here
---------------------------->
<SCRIPT>
function num2hex(num) {
var lowWord = num%16,
highWord = (num-lowWord)/16;
return num2hexdigit(highWord)+""+num2hexdigit(lowWord);
}
function num2hexdigit(num) {
if (num == 10) return "A";
else if (num == 11) return "B";
else if (num == 12) return "C";
else if (num == 13) return "D";
else if (num == 14) return "E";
else if (num == 15) return "F";
else return ""+num;
}
var colorBox = Canvas.newInstance({
left:400,
top:115,
width:200,
height:200,
red:"77",
green:"77",
blue:"77",
backgroundColor:"777777",
sliderMove:function(event,slider){
var newColor = num2hex(Math.round(slider.value));
if (slider.ID == "sliderRed") this.red = newColor;
else if (slider.ID == "sliderGreen") this.green = newColor;
else if (slider.ID == "sliderBlue") this.blue = newColor;
this.setBackgroundColor(this.red+""+this.green+""+this.blue);
return false;
}
});
Slider.newInstance({
ID:"sliderRed",
title:"Red",
left:60,
top:90,
sliderTarget:colorBox,
value:128,
minValue:0,
maxValue:255
});
Slider.newInstance({
ID:"sliderGreen",
title:"Green",
left:155,
top:90,
//sliderTarget:colorBox,
value:128,
minValue:0,
maxValue:255
});
Slider.newInstance({
ID:"sliderBlue",
title:"Blue",
left:250,
top:90,
//sliderTarget:colorBox,
value:128,
minValue:0,
maxValue:255
});
Slider.newInstance({
ID:"sliderSize",
title:"Size",
left:350,
top:330,
vertical:false,
value:200,
minValue:20,
minValueLabel:"Small",
maxValue:200,
maxValueLabel:"Big",
numValues:10
});
//colorBox.observe(sliderRed, "valueChanged", "observer.sliderMove(null,observed)");
colorBox.observe(sliderGreen, "valueChanged", "observer.sliderMove(null,observed)");
colorBox.observe(sliderBlue, "valueChanged", "observer.sliderMove(null,observed)");
colorBox.observe(sliderSize, "valueChanged", "observer.resizeTo(observed.value,observed.value)");
</SCRIPT>
</BODY>
</HTML>
Related examples in the same category