| <?xml version="1.0" encoding="iso-8859-1" standalone="no"?> |
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ |
| <!ATTLIST svg |
| xmlns:a3 CDATA #IMPLIED |
| a3:scriptImplementation CDATA #IMPLIED> |
| <!ATTLIST script |
| a3:scriptImplementation CDATA #IMPLIED> |
| ]> |
| <?AdobeSVGViewer save="snapshot"?> |
| <svg width="100%" height="100%" viewBox="0 0 1024 768" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="init(evt);"> |
| <script type="text/ecmascript" xlink:href="resources/helper_functions.js" /> |
| <script type="text/ecmascript" xlink:href="resources/timer.js" /> |
| <script type="text/ecmascript" xlink:href="resources/mapApp.js" /> |
| <script type="text/ecmascript" xlink:href="resources/slider.js" /> |
| <script type="text/ecmascript" xlink:href="resources/button.js" /> |
| <script type="text/ecmascript" xlink:href="resources/colourPicker.js" /> |
| <script type="text/ecmascript"><![CDATA[ |
| var myMapApp; |
| var cpTransBgRect; |
| |
| function init(evt) { |
| //initialize mapApp |
| myMapApp = new mapApp(false,undefined); |
| //first some colour picker styles |
| var cpBgStyles = {"fill":"gainsboro"}; |
| var cpTextStyles = {"font-family":"Arial,Helvetica","font-size":12,"fill":"dimgray"}; |
| //button styles |
| var buttonTextStyles = {"font-family":"Arial,Helvetica","fill":"dimgray","font-size":12}; |
| var buttonStyles = {"fill":"gainsboro"}; |
| var shadeLightStyles = {"fill":"white"}; |
| var shadeDarkStyles = {"fill":"dimgray"}; |
| //colourPicker(id,parentNode,x,y,width,height,bgstyles,textstyles,sliderSymbId,satSliderVisible,valSliderVisible,alphaSliderVisible,colValTextVisible,fillVisible,strokeVisible,startHue,endHue,nrStopVals,fillStartColor,strokeStartColor,functionToCall) |
| myMapApp.colourPickers["myColourPicker1"] = new colourPicker("colourPicker1","colourPickers",200,400,300,120,cpBgStyles,cpTextStyles,"sliderSymbol",true,true,true,true,true,true,0,360,7,"0,255,0,1","0,0,0,0.7",undefined); |
| myMapApp.colourPickers["myColourPicker2"] = new colourPicker("colourPicker2","colourPickerTransformed",500,200,300,90,cpBgStyles,cpTextStyles,"sliderSymbol",true,false,true,true,true,false,90,240,6,"0,255,255,0.5","0,0,0,1",changeBgColor); |
| myMapApp.colourPickers["myColourPicker3"] = new colourPicker("colourPicker3","colourPickers",500,200,300,100,cpBgStyles,cpTextStyles,"sliderSymbol",true,true,false,true,true,true,0,180,7,"255,0,0,1","120,120,120,1",undefined); |
| myMapApp.colourPickers["myColourPicker4"] = new colourPicker("colourPicker4","colourPickers",700,500,300,120,cpBgStyles,cpTextStyles,"sliderSymbol",true,true,true,true,false,true,0,360,7,"255,0,0,1","120,120,120,1",undefined); |
| |
| //create ok button |
| myMapApp.buttons["okbutton"] = new button("okbutton","textbuttons",alertColorValues,"rect","OK",undefined,460,499,25,16,buttonTextStyles,buttonStyles,shadeLightStyles,shadeDarkStyles,1); |
| //create hide/show buttons |
| myMapApp.buttons["showHideButton"] = new button("showHideButton","buttons",showHideCP,"rect","Hide ColourPicker",undefined,510,442,110,20,buttonTextStyles,buttonStyles,shadeLightStyles,shadeDarkStyles,1); |
| //create set random fill button |
| myMapApp.buttons["fullbutton"] = new button("fullbutton","buttons",setRandomCol,"rect","Set Random Fill",undefined,510,470,110,20,buttonTextStyles,buttonStyles,shadeLightStyles,shadeDarkStyles,1); |
| //create set random stroke button |
| myMapApp.buttons["strokebutton"] = new button("strokebutton","buttons",setRandomCol,"rect","Set Random Stroke",undefined,510,498,110,20,buttonTextStyles,buttonStyles,shadeLightStyles,shadeDarkStyles,1); |
| //create resize and moveTo buttons |
| myMapApp.buttons["resizebutton"] = new button("resizebutton","buttons",resizeColourPicker,"rect","Randomly Resize Colour Picker",undefined,500,170,180,20,buttonTextStyles,buttonStyles,shadeLightStyles,shadeDarkStyles,1); |
| myMapApp.buttons["movetobutton"] = new button("movetobutton","buttons",moveColourPicker,"rect","Randomly Move Colour Picker",undefined,685,170,180,20,buttonTextStyles,buttonStyles,shadeLightStyles,shadeDarkStyles,1); |
| |
| cpTransBgRect = document.getElementById("cpTransBgRect"); |
| |
| } |
| |
| function alertColorValues() { |
| values = myMapApp.colourPickers["myColourPicker1"].getValues(); |
| alert("Fill RGBA: "+values.fill.red+","+values.fill.green+","+values.fill.blue+","+values.fill.alpha+", Stroke RGBA: "+values.stroke.red+","+values.stroke.blue+","+values.stroke.green+","+values.stroke.alpha); |
| } |
| |
| function changeBgColor(id,values) { |
| cpTransBgRect.setAttributeNS(null,"fill-opacity",values.fill.alpha); |
| cpTransBgRect.setAttributeNS(null,"fill","rgb("+values.fill.red+","+values.fill.green+","+values.fill.blue+")"); |
| } |
| |
| function showHideCP(id,evt,buttonText) { |
| if (buttonText == "Hide ColourPicker") { |
| myMapApp.colourPickers["myColourPicker1"].hide(); |
| myMapApp.buttons["okbutton"].hideButton(); |
| myMapApp.buttons["showHideButton"].setTextValue("Show ColourPicker"); |
| } |
| else { |
| myMapApp.colourPickers["myColourPicker1"].show(); |
| myMapApp.buttons["okbutton"].showButton(); |
| myMapApp.buttons["showHideButton"].setTextValue("Hide ColourPicker"); |
| } |
| } |
| |
| function resizeColourPicker(id,evt,buttonText) { |
| var width = 300 + Math.round(Math.random()*60); |
| var height = 100 + Math.round(Math.random()*30); |
| myMapApp.colourPickers["myColourPicker3"].resize(width,height); |
| } |
| |
| function moveColourPicker(id,evt,buttonText) { |
| var x = 470 + Math.round(Math.random()*60); |
| var y = 200 + Math.round(Math.random()*50); |
| myMapApp.colourPickers["myColourPicker3"].moveTo(x,y); |
| } |
| |
| function setRandomCol(id,evt,buttonText) { |
| var colType = "fill"; |
| if (id == "strokebutton") { |
| colType = "stroke"; |
| } |
| var red = Math.round(Math.random()*255); |
| var green = Math.round(Math.random()*255); |
| var blue = Math.round(Math.random()*255); |
| myMapApp.colourPickers["myColourPicker1"].setRGBAColour(colType,red,green,blue,1,false); |
| } |
| |
| ]]></script> |
| <defs> |
| <!-- Symbol for Slider --> |
| <symbol id="sliderSymbol" overflow="visible"> |
| <line x1="0" y1="-10" x2="0" y2="10" stroke="dimgray" stroke-width="5" pointer-events="none"/> |
| </symbol> |
| </defs> |
| <rect x="-2000" y="-2000" width="6000" height="6000" fill="white" stroke="none" /> |
| <!-- group for colourPickers --> |
| <g id="colourPickers" /> |
| <!-- group for transformed colour picker --> |
| <g id="colourPickerTransformed" transform="translate(0,-400),rotate(45)"> |
| <rect id="cpTransBgRect" x="490" y="190" width="320" height="110" fill="rgb(0,255,255)" fill-opacity="0.5" /> |
| <text x="500" y="320" font-family="Arial,Helvetica">This colourPicker has a callBack function<tspan x="500" dy="1.2em">attached that changes the background color</tspan></text> |
| </g> |
| <g id="buttons" /> |
| </svg> |