initial commit
[home-automation.git] / RGraph / docs / resizing.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 - Resizing your graphs</title>
22     <link rel="stylesheet" href="../css/website.css" type="text/css" media="screen" />
23     <link rel="icon" type="image/png" href="../favicon.png">
24     
25     <script src="../libraries/RGraph.common.core.js" ></script>
26     <script src="../libraries/RGraph.common.context.js" ></script>
27     <script src="../libraries/RGraph.common.resizing.js" ></script>
28     <script src="../libraries/RGraph.common.tooltips.js" ></script>
29     <script src="../libraries/RGraph.line.js" ></script>
30     <!--[if IE 8]><script src="../excanvas/excanvas.compressed.js"></script><![endif]-->
31     
32     <script>
33         window.onload = function ()
34         {
35             /**
36             * Draw the line chart
37             */
38             var line = new RGraph.Line('myLine', [4,6,3,7,8,4,9,5,6,4,8,5] );
39             line.Set('chart.labels', ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']);
40             line.Set('chart.hmargin', 5);
41             line.Set('chart.title', 'A resizable line chart (tooltips)');
42             line.Set('chart.colors', ['red']);
43             line.Set('chart.resizable', true);
44             line.Set('chart.hmargin', 5);
45             line.Set('chart.shadow', true);
46             line.Set('chart.shadow.blur', 5);
47             line.Set('chart.shadow.offsetx', 1);
48             line.Set('chart.shadow.offsety', 1);
49             line.Set('chart.contextmenu', [['Sample!', function () {alert('A sample item');}]]);
50             line.Set('chart.background.grid.autofit', true);
51             line.Set('chart.background.grid.autofit.numhlines', 10);
52             line.Set('chart.linewidth', 3);
53             //line.Set('chart.tooltips', ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']);
54             line.Draw();
55         }
56     </script>
57 </head>
58 <body>
59
60     <!-- Social networking buttons -->
61     <script src="../libraries/RGraph.common.core.js" ></script>
62     
63     <script>
64         function HideTwitterDIV ()
65         {
66             document.getElementById("twitter_div").style.opacity = 0;
67             document.getElementById("twitter_div").style.display = 'none';
68         }
69
70
71         function ShowTwitterDIV (e)
72         {
73             var e   = RGraph.FixEventObject(document.all ? event : e);
74             var div = document.getElementById("twitter_div");
75             var img = document.getElementById("twitter_icon");
76
77             div.style.display = 'block';
78             div.style.left    = (RGraph.getCanvasXY(img)[0] + img.offsetWidth - div.offsetWidth + 110) + 'px';
79             div.style.top     = (RGraph.getCanvasXY(img)[1] - 1) + 'px';
80
81             /**
82             * Fade it in
83             */
84             setTimeout('document.getElementById("twitter_div").style.opacity = 0.2;', 25);
85             setTimeout('document.getElementById("twitter_div").style.opacity = 0.4;', 50);
86             setTimeout('document.getElementById("twitter_div").style.opacity = 0.6;', 100);
87             setTimeout('document.getElementById("twitter_div").style.opacity = 0.8;', 125);
88             setTimeout('document.getElementById("twitter_div").style.opacity = 1.0;', 150);
89
90             e.stopPropagation();
91
92             return false;
93         }
94
95         /**
96         * This code installs the event handler that hides the Twitter DIV
97         */
98         if (RGraph.isIE8()) {
99              window.attachEvent('onload', function () {document.body.attachEvent('onclick', HideTwitterDIV);});
100         } else {
101             window.addEventListener('click', HideTwitterDIV, false);
102         }
103     </script>
104
105     <!-- The twitter DIV --> 
106     <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;"> 
107         <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>
108         <a href="http://twitter.com/_rgraph" style="text-decoration: none" rel="nofollow" target="_blank">Follow for HTML5 news</a> 
109     </div>
110
111     <div id="social_icons" class="warning" style="top: 0; left: 5px; position: absolute">
112         <script>
113             // Opera fix
114             if (navigator.userAgent.indexOf('Opera') == -1) {
115               document.getElementById("social_icons").style.position = 'fixed';
116               document.getElementById("twitter_div").style.position = 'fixed';
117     
118             }
119         </script>
120     
121         <b style="display: inline-block; position: relative; top: 1px">Bookmark and share:</b>
122     
123     
124             <div id="social">
125                 <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">
126                     <img src="../images/delicious.png" alt="Bookmark with delicious" width="22" height="22" border="0" align="absmiddle" /> 
127                 </a> 
128      
129                 <a href="" target="_blank" onmouseover="if (document.getElementById('twitter_div').style.display == 'none') ShowTwitterDIV(event);" onclick="event.stopPropagation(); event.cancelBubble = true; return false">
130                     <img src="../images/twitter.png" id="twitter_icon" alt="tweet this site" width="22" height="22" border="0" align="absmiddle" />
131                 </a>
132     
133     
134 <!--
135                 <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">
136                     <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"/>
137                 </a>
138     
139     
140                 <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">
141                     <img src="../images/facebook.png" width="22" height="22" alt="Post to Facebook" align="absmiddle" style="position: relative; top: -2px; border: 0" border="0"/>
142                 </a>
143     
144                 <a href="mailto:share@friendfeed.com" title="Share on FriendFeed"> 
145                     <img src="../images/friendfeed.png" width="22" height="22" alt="Share on FriendFeed" border="0" align="absmiddle" /> 
146                 </a>
147     
148                 <a href="http://www.stumbleupon.com/submit?url=http://www.rgraph.net" target="_blank" title="Share on StumbleUpon" >
149                     <img src="../images/stumble.png" alt="Stumble! this site" width="22" height="22" border="0" align="absmiddle" /> 
150                 </a>
151 -->
152             </div>
153     </div>
154     <!-- /Social networking buttons -->
155
156     <div id="breadcrumb">
157         <a href="../index.html">RGraph: HTML5 canvas graph library</a>
158         >
159         <a href="index.html">Documentation</a>
160         >
161         Resizing your graphs
162     </div>
163
164     <h1>RGraph: HTML5 canvas graph library - Resizing your graphs</h1>
165
166     <script>
167         if (RGraph.isIE8()) {
168             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>');
169         }
170     </script>
171
172     <canvas id="myLine" width="400" height="200" style="float: left">[No canvas support]</canvas>
173     
174     <p>&nbsp;</p>
175     
176     <p>
177         RGraph has the facility to allow you to resize your graphs. This is new as of 10th April 2010. Because of the
178         numerous events it has to install code on, it is unlikely to work with other dynamic features. The context
179         menu does though, and now that tooltips use DOM2 events, so do they. It can be useful if you are,
180         for example, doing a presentation and need to enlarge the graph.
181     </p>
182     
183     <p>
184         All you need to do to enable it is set <i>chart.resizable</i> to true. There are certain caveats that you should be aware of though:
185     </p>
186     
187     <br clear="all" />
188     
189     <ul>
190         <li>
191             Graphs can only be enlarged down and to the right, so you will get better results if your graph is not placed at the
192             right of the page.
193         </li>
194         
195         <li>
196             The minimum you can resize your graphs to is 50% of the original graph width/height.
197         </li>
198         
199         <li>
200             <b>Note:</b> Resizing can change the layout of your page (reflows). As such you will need to be careful when laying out your
201             page, and you may need to experiment with things like CSS float:, width, height etc so that the effect is either not apparent
202             or is minimal.
203         </li>
204         
205         <li>
206             If your canvas is nested within a table, resizing can result in very minor (1-2px for example) positioning changes. These
207             can be mitigated by turning off table borders, setting the cellspacing to 0 and also setting the cellpadding to 0.
208         </li>
209     </ul>
210
211 </body>
212 </html>