Mega Code Archive

 
Categories / JavaScript DHTML / Smartclient
 

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>