initial commit
[home-automation.git] / RGraph / examples / meter.html
1 <?php ob_start('ob_gzhandler') ?>
2 <!DOCTYPE html>
3 <html>
4 <head>
5     <meta http-equiv="X-UA-Compatible" content="chrome=1">
6     <!--
7         /**
8         * o------------------------------------------------------------------------------o
9         * | This file is part of the RGraph package - you can learn more at:             |
10         * |                                                                              |
11         * |                          http://www.rgraph.net                               |
12         * |                                                                              |
13         * | This package is licensed under the RGraph license. For all kinds of business |
14         * | purposes there is a small one-time licensing fee to pay and for non          |
15         * | commercial  purposes it is free to use. You can read the full license here:  |
16         * |                                                                              |
17         * |                      http://www.rgraph.net/LICENSE.txt                       |
18         * o------------------------------------------------------------------------------o
19         */
20     -->
21     <title>RGraph: HTML5 canvas graph library - meter</title>
22     
23     <meta name="keywords" content="rgraph html5 canvas example meter chart" />
24     <meta name="description" content="RGraph: Meter chart example" />
25
26     <link rel="stylesheet" href="../css/website.css" type="text/css" media="screen" />
27     <link rel="icon" type="image/png" href="../images/favicon.png">
28
29     <script src="../libraries/RGraph.common.core.js" ></script>
30     <script src="../libraries/RGraph.common.context.js" ></script>
31     <script src="../libraries/RGraph.common.annotate.js" ></script>
32     <script src="../libraries/RGraph.common.tooltips.js" ></script>
33     <script src="../libraries/RGraph.common.zoom.js" ></script>
34     <script src="../libraries/RGraph.common.resizing.js" ></script>
35     <script src="../libraries/RGraph.meter.js" ></script>
36     <!--[if IE 8]><script src="../excanvas/excanvas.compressed.js"></script><![endif]-->
37
38     <script>
39         window.onload = function ()
40         {
41             var meter1 = new RGraph.Meter('meter1', 50, 100, 58);
42             
43             var grad1 = meter1.context.createRadialGradient(meter1.canvas.width / 2,meter1.canvas.height - 25,0,meter1.canvas.width / 2,meter1.canvas.height - 25,200);
44             grad1.addColorStop(0, 'green');
45             grad1.addColorStop(1, 'white');
46             
47             var grad2 = meter1.context.createRadialGradient(meter1.canvas.width / 2, meter1.canvas.height - 25,0,meter1.canvas.width / 2, meter1.canvas.height - 25,200);
48             grad2.addColorStop(0, 'yellow');
49             grad2.addColorStop(1, 'white');
50             
51             var grad3 = meter1.context.createRadialGradient(meter1.canvas.width / 2, meter1.canvas.height - 25,0,meter1.canvas.width / 2, meter1.canvas.height - 25,200);
52             grad3.addColorStop(0, 'red');
53             grad3.addColorStop(1, 'white');
54             
55             //meter1.Set('chart.contextmenu', [['Zoom in', RGraph.Zoom], ['Show palette', RGraph.Showpalette], ['Clear annotations', function () {RGraph.Clear(meter1.canvas); meter1.Draw();}], null, ['Cancel', function () {}]]);
56             meter1.Set('chart.annotatable', true);
57             meter1.Set('chart.labels.position', 'inside');
58             meter1.Set('chart.title', 'A sample measurement (annotatable)');
59             meter1.Set('chart.title.vpos', 0.5);
60             meter1.Set('chart.title.color', 'black');
61             meter1.Set('chart.green.color', grad1);
62             meter1.Set('chart.yellow.color', grad2);
63             meter1.Set('chart.red.color', grad3);
64             meter1.Set('chart.shadow', true);
65             meter1.Set('chart.shadow.color', 'gray');
66             meter1.Set('chart.shadow.offsetx', 0);
67             meter1.Set('chart.shadow.offsety', 0);
68             meter1.Set('chart.shadow.blur', 15);
69             meter1.Set('chart.zoom.hdir', 'center');
70             meter1.Set('chart.zoom.vdir', 'center');
71             meter1.Set('chart.contextmenu', [['Clear', function () {RGraph.Clear(meter1.canvas); meter1.Draw();}]]);
72             meter1.Draw();
73
74             var meter2 = new RGraph.Meter('meter2', 0, 10, 5);
75             meter2.Set('chart.units.post', 'k');
76             meter2.Set('chart.red.start', 0);
77             meter2.Set('chart.red.end', 3);
78             meter2.Set('chart.yellow.start', 3);
79             meter2.Set('chart.yellow.end', 6);
80             meter2.Set('chart.green.start', 6);
81             meter2.Set('chart.green.end', 10);
82             meter2.Set('chart.resizable', true);
83             meter2.Draw();
84
85             var meter3 = new RGraph.Meter('meter3', 0, 500, 210);
86             //meter3.Set('chart.units.post', 'pt');
87             meter3.Set('chart.red.start', 0);
88             meter3.Set('chart.red.end', 100);
89             meter3.Set('chart.yellow.start', 100);
90             meter3.Set('chart.yellow.end', 200);
91             meter3.Set('chart.green.start', 200);
92             meter3.Set('chart.green.end', 500);
93             meter3.Draw();
94         }
95     </script>
96 </head>
97 <body>
98
99     <!-- Social networking buttons -->
100     
101     <script>
102         function HideTwitterDIV ()
103         {
104             document.getElementById("twitter_div").style.opacity = 0;
105             document.getElementById("twitter_div").style.display = 'none';
106         }
107
108
109         function ShowTwitterDIV (e)
110         {
111             var e   = RGraph.FixEventObject(document.all ? event : e);
112             var div = document.getElementById("twitter_div");
113             var img = document.getElementById("twitter_icon");
114
115             div.style.display = 'block';
116             div.style.left    = (RGraph.getCanvasXY(img)[0] + img.offsetWidth - div.offsetWidth + 110) + 'px';
117             div.style.top     = (RGraph.getCanvasXY(img)[1] - 1) + 'px';
118
119             /**
120             * Fade it in
121             */
122             setTimeout('document.getElementById("twitter_div").style.opacity = 0.2;', 25);
123             setTimeout('document.getElementById("twitter_div").style.opacity = 0.4;', 50);
124             setTimeout('document.getElementById("twitter_div").style.opacity = 0.6;', 100);
125             setTimeout('document.getElementById("twitter_div").style.opacity = 0.8;', 125);
126             setTimeout('document.getElementById("twitter_div").style.opacity = 1.0;', 150);
127
128             e.stopPropagation();
129
130             return false;
131         }
132
133         /**
134         * This code installs the event handler that hides the Twitter DIV
135         */
136         if (RGraph.isIE8()) {
137              window.attachEvent('onload', function () {document.body.attachEvent('onclick', HideTwitterDIV);});
138         } else {
139             window.addEventListener('click', HideTwitterDIV, false);
140         }
141     </script>
142
143     <!-- The twitter DIV --> 
144     <div id="twitter_div" style="position: absolute;top: 0;left: 0;background-color: #eee;border: 2px dashed black;box-shadow: 0 0 15px #aaa;-moz-box-shadow: 0 0 15px #aaa;-webkit-box-shadow: 0 0 15px #aaa;padding: 3px;display: none;opacity: 0;z-index: 99;"> 
145         <a href="http://twitter.com/home/?status=RGraph%3A+HTML5+canvas+graph+library+based+on+the+HTML5+canvas+tag+http%3A%2F%2Fwww.rgraph.net+%23rgraph+%23html5+%23canvas" target="_blank" title="Share on Twitter" rel="nofollow" style="text-decoration: none">Tweet&nbsp;about&nbsp;RGraph</a><br>
146         <a href="http://twitter.com/_rgraph" style="text-decoration: none" rel="nofollow" target="_blank">Follow for HTML5 news</a> 
147     </div>
148
149     <div id="social_icons" class="warning" style="top: 0; left: 5px; position: absolute">
150         <script>
151             // Opera fix
152             if (navigator.userAgent.indexOf('Opera') == -1) {
153               document.getElementById("social_icons").style.position = 'fixed';
154               document.getElementById("twitter_div").style.position = 'fixed';
155     
156             }
157         </script>
158     
159         <b style="display: inline-block; position: relative; top: 1px">Bookmark and share:</b>
160     
161     
162             <div id="social">
163                 <a title="Bookmark with delicious" href="http://delicious.com/save?jump=close&v=4&noui&jump=close&url=http://www.rgraph.net&notes=RGraph%20is%20a%20HTML5%20based%20graph%20library%20supporting%20a%20wide%20range%20of%20different%20graph%20types:Bar,%20Bipolar,%20Donut,%20Funnel,%20Gantt,%20Horizontal%20Bar,%20LED,%20Line,%20Meter,%20Odometer,%20Pie,%20Progress%20Bar,%20Rose,%20RScatter,%20Scatter%20and%20Traditional%20Radar&title=RGraph:%20HTML5%20canvas%20graph%20library%20based%20on%20the%20HTML5%20canvas%20tag" target="_blank">
164                     <img src="../images/delicious.png" alt="Bookmark with delicious" width="22" height="22" border="0" align="absmiddle" /> 
165                 </a> 
166      
167                 <a href="" target="_blank" onmouseover="if (document.getElementById('twitter_div').style.display == 'none') ShowTwitterDIV(event);" onclick="event.stopPropagation(); event.cancelBubble = true; return false">
168                     <img src="../images/twitter.png" id="twitter_icon" alt="tweet this site" width="22" height="22" border="0" align="absmiddle" />
169                 </a>
170     
171     
172 <!--
173                 <a title="Post to Google Buzz!" href="" onclick="window.open('http://www.google.com/buzz/post?url=http://www.rgraph.net&imageurl=http://www.rgraph.net/images/logo.png', 'google_buzz_window', 'width=800,height=400,top=100,left=100'); return false">
174                     <img src="../images/buzz.png" width="22" height="22" alt="Post to Google Buzz!" align="absmiddle" style="position: relative; top: -2px; border: 0" border="0"/>
175                 </a>
176     
177     
178                 <a title="Share RGraph on Facebook" href="" onclick="window.open('http://www.facebook.com/sharer.php?u=http://www.rgraph.net&t=RGraph:%20HTML5%20canvas%20graph%20library', 'facebook_window', 'width=500,height=300,top=100,left=100'); return false">
179                     <img src="../images/facebook.png" width="22" height="22" alt="Post to Facebook" align="absmiddle" style="position: relative; top: -2px; border: 0" border="0"/>
180                 </a>
181     
182                 <a href="mailto:share@friendfeed.com" title="Share on FriendFeed"> 
183                     <img src="../images/friendfeed.png" width="22" height="22" alt="Share on FriendFeed" border="0" align="absmiddle" /> 
184                 </a>
185     
186                 <a href="http://www.stumbleupon.com/submit?url=http://www.rgraph.net" target="_blank" title="Share on StumbleUpon" >
187                     <img src="../images/stumble.png" alt="Stumble! this site" width="22" height="22" border="0" align="absmiddle" /> 
188                 </a>
189 -->
190             </div>
191     </div>
192     <!-- /Social networking buttons -->
193
194
195 <h1>RGraph: HTML5 canvas graph library - Meter</h1>
196     <script>
197         if (RGraph.isIE8()) {
198             document.write('<div style="background-color: #fee; border: 2px dashed red; padding: 5px"><b>Important</b><br /><br /> Internet Explorer 8 does not natively support the HTML5 canvas tag, so if you want to see the graphs, you can either:<ul><li>Install <a href="http://code.google.com/chrome/chromeframe/">Google Chrome Frame</a></li><li>Use ExCanvas. This is provided in the RGraph Archive.</li><li>Use another browser entirely. Your choices are Firefox 3.5+, Chrome 2+, Safari 4+ or Opera 10.5+. </li></ul> <b>Note:</b> Internet Explorer 9 fully supports the canvas tag. Click <a href="http://groups.google.com/group/rgraph/browse_thread/thread/c5651ff8c56b8f3c#" target="_blank">here</a> to see some screenshots.</div>');
199         }
200     </script>
201
202
203     <div id="breadcrumb">
204         <a href="../index.html">RGraph: HTML5 canvas graph library</a>
205         >
206         <a href="./index.html">Examples</a>
207         >
208         Meter
209     </div>
210     
211     <div>
212         <p>
213             The Meter is similar to the Odometer albeit only a semi-circle and not a full circle. It can be better when trying illustrate
214             a particular level, but only have a limited amount of space. It could also be quite effective as part of a control panel.
215         </p>
216         
217         <p></p>
218     </div>
219
220     <div>
221         <ul>
222             <li><a href="../docs/meter.html">Meter API documentation</a></li>
223         </ul>
224     </div>
225     
226     <div style="text-align: center">
227         <canvas id="meter1" width="600" height="300"><div class="canvasfallback">[No canvas support]</div></canvas>
228         <canvas id="meter2" width="600" height="300"><div class="canvasfallback">[No canvas support]</div></canvas>
229         <canvas id="meter3" width="600" height="300"><div class="canvasfallback">[No canvas support]</div></canvas>
230     </div>
231
232 </body>
233 </html>