Added small description of animate method
[raphael] / reference.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
2    "http://www.w3.org/TR/html4/strict.dtd">
3 <html lang="en">
4     <head>
5         <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
6         <title>Raphaël Reference</title>
7         <meta name="author" content="Dmitry Baranovskiy">
8         <meta name="description" content="Vector Graphics JavaScript™ Library">
9         <link rel="stylesheet" href="raphael.css" type="text/css" charset="utf-8" media="screen,projection">
10         <link rel="stylesheet" type="text/css" media="print" href="/dmitry-print.css">
11         <link rel="shortcut icon" href="/favicon16.png" type="image/x-icon">
12         <link rel="apple-touch-icon" href="/favicon.png">
13         <script src="../jquery.js" type="text/javascript" charset="utf-8"></script>
14         <script src="../dmitry.js" type="text/javascript" charset="utf-8"></script>
15     </head>
16     <body class="raphael" id="raphael.dmitry.baranovskiy.com">
17         <div id="header">
18             <a href="http://twitter.com/statuses/user_timeline/17180567.atom" id="rss" name="rss">rss</a>
19             <h1>
20                 Raphaël—JavaScript Library
21             </h1>
22         </div>
23         <div id="content">
24             <div>
25                 <div>
26                     <div id="column-1">
27                         <h2>Main Function</h2>
28                         <h3 id="Raphael">
29                             Raphael
30                         </h3>
31                         <p>
32                             Function that creates canvas for future drawing.
33                         </p>
34                         <h4>Parameters</h4>
35                         <ol>
36                             <li>container <em>HTMLElement</em> or <em>string</em></li>
37                             <li>width <em>number</em></li>
38                             <li>height <em>number</em></li>
39                         </ol>
40                         <p>or</p>
41                         <ol>
42                             <li>x <em>number</em></li>
43                             <li>y <em>number</em></li>
44                             <li>width <em>number</em></li>
45                             <li>height <em>number</em></li>
46                         </ol>
47                         <h4>Usage</h4>
48                         <pre class="javascript code"><code>
49 // Creates canvas 320&nbsp;×&nbsp;200 at 10, 50</code>
50 <code>var paper = Raphael(10, 50, 320, 200);</code>
51 <code>var paper = Raphael(document.getElementById("notepad"), 320, 200);</code>
52 <code>var paper = Raphael("notepad", 320, 200);</code></pre>
53                         <h2 id="Element">
54                             Element’s generic methods
55                         </h2>
56                         <p>
57                             Each object created on the canvas share the same generic methods:
58                         </p>
59                         <h3 id="node">
60                             node
61                         </h3>
62                         <p>
63                             Gives you reference to DOM object, so you can assign event handlers or just randomly mess around.
64                         </p>
65                         <h4>Usage</h4>
66                         <pre class="javascript code"><code>var c = paper.circle(10, 10, 10);</code>
67 <code>c.node.onclick = function () { c.attr("fill", "red"); };</code></pre>
68                         <h3 id="rotate">
69                             rotate
70                         </h3>
71                         <p>
72                             Rotates element by given degree around its center.
73                         </p>
74                         <h4>Parameters</h4>
75                         <ol>
76                             <li>degree <em>number</em> Degree of rotation (0 – 360°)</li>
77                             <li>isAbsolute <em>boolean</em> [optional] Will rotation be relative or absolute</li>
78                         </ol>
79                         <h4>Usage</h4>
80                         <pre class="javascript code"><code>var c = paper.circle(10, 10, 10);</code>
81 <code>c.rotate(45);</code></pre>
82                         <h3 id="translate">
83                             translate
84                         </h3>
85                         <p>
86                             Moves element around the canvas by given dimensions.
87                         </p>
88                         <h4>Parameters</h4>
89                         <ol>
90                             <li>dx <em>number</em> Pixels of translation by X</li>
91                             <li>dy <em>number</em> Pixels of translation by Y</li>
92                         </ol>
93                         <h4>Usage</h4>
94                         <pre class="javascript code"><code>var c = paper.circle(10, 10, 10);</code>
95 <code>c.translate(10, 10);</code></pre>
96                         <h3 id="scale">
97                             scale
98                         </h3>
99                         <p>
100                             Scales element by given amount of times.
101                         </p>
102                         <h4>Parameters</h4>
103                         <ol>
104                             <li>Xtimes <em>number</em></li>
105                             <li>Ytimes <em>number</em></li>
106                         </ol>
107                         <h4>Usage</h4>
108                         <pre class="javascript code"><code>var c = paper.circle(10, 10, 10);</code>
109 <code>c.scale(1.5, 1.5);</code></pre>
110                         <h3 id="attr">
111                             attr
112                         </h3>
113                         <p>
114                             Sets attributes of elements.
115                         </p>
116                         <h4>Parameters</h4>
117                         <ol>
118                             <li>params <em>object</em></li>
119                         </ol>
120                         <p>or</p>
121                         <ol>
122                             <li>attributeName <em>string</em></li>
123                             <li>value <em>string</em></li>
124                         </ol>
125                         <h4>Possible parameters</h4>
126                         <ul>
127                             <li>cx <em>number</em></li>
128                             <li>cy <em>number</em></li>
129                             <li>dasharray <em>string</em> [“-”, “.”, “-.”, “-..”, “. ”, “- ”, “--”, “- .”, “--.”, “--..”]</li>
130                             <li>fill <em>colour</em></li>
131                             <li>fill-opacity <em>number</em></li>
132                             <li>font <em>string</em></li>
133                             <li>font-family <em>string</em></li>
134                             <li>font-size <em>number</em></li>
135                             <li>font-weight <em>string</em></li>
136                             <li>gradient <em>object</em></li>
137                             <li>height <em>number</em></li>
138                             <li>opacity <em>number</em></li>
139                             <li>path <em>pathString</em></li>
140                             <li>r <em>number</em></li>
141                             <li>rotation <em>number</em></li>
142                             <li>rx <em>number</em></li>
143                             <li>ry <em>number</em></li>
144                             <li>scale <em>CSV</em></li>
145                             <li>stroke <em>colour</em></li>
146                             <li>stroke-linecap <em>string</em> [“butt”, “square”, “round”, “miter”]</li>
147                             <li>stroke-linejoin <em>string</em> [“butt”, “square”, “round”, “miter”]</li>
148                             <li>stroke-miterlimit <em>number</em></li>
149                             <li>stroke-opacity <em>number</em></li>
150                             <li>stroke-width <em>number</em></li>
151                             <li>translation <em>CSV</em></li>
152                             <li>width <em>number</em></li>
153                             <li>x <em>number</em></li>
154                             <li>y <em>number</em></li>
155                         </ul>
156                         <h4>Usage</h4>
157                         <pre class="javascript code"><code>var c = paper.circle(10, 10, 10);</code>
158 <code>c.attr("fill", "black");</code>
159 <code>c.attr({fill: "#000", stroke: "#f00", opacity: 0.5});</code></pre>
160                         <h3 id="animate">
161                             animate
162                         </h3>
163                         <p>
164                             Linearly changes attribute from current to specified in given amount of milliseconds.
165                         </p>
166                         <h4>Parameters</h4>
167                         <ol>
168                             <li>newAttrs <em>object</em></li>
169                             <li>ms <em>number</em></li>
170                             <li>callback <em>function</em> [optional]</li>
171                         </ol>
172                         <h4>Usage</h4>
173                         <pre class="javascript code"><code>var c = paper.circle(10, 10, 10);</code>
174 <code>c.animate({cx: 20, r: 20}, 2000);</code></pre>
175                         <h3 id="getBBox">
176                             getBBox
177                         </h3>
178                         <p>
179                             Returns dimensions of given element.
180                         </p>
181                         <h4>Usage</h4>
182                         <pre class="javascript code"><code>var c = paper.circle(10, 10, 10);</code>
183 <code>var width = c.getBBox().width;</code></pre>
184                         <h3 id="toFront">
185                             toFront
186                         </h3>
187                         <p>
188                             Moves element to front in hierarchy.
189                         </p>
190                         <h4>Usage</h4>
191                         <pre class="javascript code"><code>var c = paper.circle(10, 10, 10);</code>
192 <code>c.toFront();</code></pre>
193                         <h3 id="toBack">
194                             toBack
195                         </h3>
196                         <p>
197                             Moves element to back in hierarchy.
198                         </p>
199                         <h4>Usage</h4>
200                         <pre class="javascript code"><code>var c = paper.circle(10, 10, 10);</code>
201 <code>c.toBack();</code></pre>
202                         <h2>Graphic Primitives</h2>
203                         <h3 id="circle">
204                             circle
205                         </h3>
206                         <p>
207                             Creates circle.
208                         </p>
209                         <h4>Parameters</h4>
210                         <ol>
211                             <li>x <em>number</em> X coordinate of the centre</li>
212                             <li>y <em>number</em> Y coordinate of the centre</li>
213                             <li>r <em>number</em> radius</li>
214                         </ol>
215                         <h4>Usage</h4>
216                         <pre class="javascript code"><code>var c = paper.circle(10, 10, 10);</code></pre>
217                         <h3 id="rect">
218                             rect
219                         </h3>
220                         <p>
221                             Creates rectangle.
222                         </p>
223                         <h4>Parameters</h4>
224                         <ol>
225                             <li>x <em>number</em> X coordinate of top left corner</li>
226                             <li>y <em>number</em> Y coordinate of top left corner</li>
227                             <li>width <em>number</em></li>
228                             <li>height <em>number</em></li>
229                             <li>r <em>number</em> [optional] radius for rounded corners, default is 0</li>
230                         </ol>
231                         <h4>Usage</h4>
232                         <pre class="javascript code"><code>// regular rectangle</code>
233 <code>var c = paper.rect(10, 10, 10, 10);</code>
234 <code>// rounded rectangle</code>
235 <code>var c = paper.rect(10, 10, 100, 50, 10);</code></pre>
236                         <h3 id="ellipse">
237                             ellipse
238                         </h3>
239                         <p>
240                             Creates an ellipse.
241                         </p>
242                         <h4>Parameters</h4>
243                         <ol>
244                             <li>x <em>number</em> X coordinate of the centre</li>
245                             <li>y <em>number</em> X coordinate of the centre</li>
246                             <li>rx <em>number</em> Horisontal radius</li>
247                             <li>ry <em>number</em> Vertical radius</li>
248                         </ol>
249                         <h4>Usage</h4>
250                         <pre class="javascript code"><code>var c = paper.ellipse(100, 100, 30, 40);</code></pre>
251                         <h3 id="image">
252                             image
253                         </h3>
254                         <p>
255                             Embeds an image in SVG/VML area.
256                         </p>
257                         <h4>Parameters</h4>
258                         <ol>
259                             <li>src <em>string</em></li>
260                             <li>x <em>number</em></li>
261                             <li>y <em>number</em></li>
262                             <li>width <em>number</em></li>
263                             <li>height <em>number</em></li>
264                         </ol>
265                         <h4>Usage</h4>
266                         <pre class="javascript code"><code>var c = paper.image("apple.png", 10, 10, 100, 100);</code></pre>
267                         <h3 id="path">
268                             path
269                         </h3>
270                         <p>
271                             Initialise path drawing. In general case this function returns empty path object. To draw path use built in methods like <code>lineTo</code> and <code>curveTo</code>.
272                         </p>
273                         <h4>Parameters</h4>
274                         <ol>
275                             <li>params <em>object</em> Similar to object for <code><a href="#attr">attr</a></code> method</li>
276                             <li>pathString <em>string</em> [optional] path in SVG path string format. See SVG documentation.</li>
277                         </ol>
278                         <h4>Usage</h4>
279                         <pre class="javascript code"><code>var c = paper.path({stroke: "#036"}).moveTo(10, 10).lineTo(50, 50);</code></pre>
280                         <h2>Path Methods</h2>
281                         <h3 id="absolutely">
282                             absolutely
283                         </h3>
284                         <p>
285                             Sets trigger to count all following units as absolute ones, unless said otherwise. [<em>on by default</em>]
286                         </p>
287                         <h4>Usage</h4>
288                         <pre class="javascript code"><code>var c = paper.path({stroke: "#036"}).absolutely()
289     .moveTo(10, 10).lineTo(50, 50);</code></pre>
290                         <h3 id="relatively">
291                             relatively
292                         </h3>
293                         <p>
294                             Sets trigger to count all following units as relative ones, unless said otherwise.
295                         </p>
296                         <h4>Usage</h4>
297                         <pre class="javascript code"><code>var c = paper.path({stroke: "#036"}).relatively()
298     .moveTo(10, 10).lineTo(50, 50);</code></pre>
299                         <h3 id="moveTo">
300                             moveTo
301                         </h3>
302                         <p>
303                             Moves drawing point to given coordinates.
304                         </p>
305                         <h4>Parameters</h4>
306                         <ol>
307                             <li>x <em>number</em></li>
308                             <li>y <em>number</em></li>
309                         </ol>
310                         <h4>Usage</h4>
311                         <pre class="javascript code"><code>var c = paper.path({stroke: "#036"}).moveTo(10, 10).lineTo(50, 50);</code></pre>
312                         <h3 id="lineTo">
313                             lineTo
314                         </h3>
315                         <p>
316                             Draws straight line to given coordinates.
317                         </p>
318                         <h4>Parameters</h4>
319                         <ol>
320                             <li>x <em>number</em></li>
321                             <li>y <em>number</em></li>
322                         </ol>
323                         <h4>Usage</h4>
324                         <pre class="javascript code"><code>var c = paper.path({stroke: "#036"}).moveTo(10, 10).lineTo(50, 50);</code></pre>
325                         <h3 id="cplineTo">
326                             cplineTo
327                         </h3>
328                         <p>
329                             Draws curved line to given coordinates. Line will have horizontal anchors on start and on finish.
330                         </p>
331                         <h4>Parameters</h4>
332                         <ol>
333                             <li>x <em>number</em></li>
334                             <li>y <em>number</em></li>
335                             <li>width <em>number</em></li>
336                         </ol>
337                         <h4>Usage</h4>
338                         <pre class="javascript code"><code>var c = paper.path({stroke: "#036"}).moveTo(10, 10).cplineTo(50, 50);</code></pre>
339                         <h3 id="curveTo">
340                             curveTo
341                         </h3>
342                         <p>
343                             Draws bicubic curve to given coordinates.
344                         </p>
345                         <h4>Parameters</h4>
346                         <ol>
347                             <li>x1 <em>number</em></li>
348                             <li>y1 <em>number</em></li>
349                             <li>x2 <em>number</em></li>
350                             <li>y2 <em>number</em></li>
351                             <li>x3 <em>number</em></li>
352                             <li>y3 <em>number</em></li>
353                         </ol>
354                         <h4>Usage</h4>
355                         <pre class="javascript code"><code>var c = paper.path({stroke: "#036"}).moveTo(10, 10).curveTo(10, 15, 45, 45, 50, 50);</code></pre>
356                         <h3 id="qcurveTo">
357                             qcurveTo
358                         </h3>
359                         <p>
360                             Draws quadratic curve to given coordinates.
361                         </p>
362                         <h4>Parameters</h4>
363                         <ol>
364                             <li>x1 <em>number</em></li>
365                             <li>y1 <em>number</em></li>
366                             <li>x2 <em>number</em></li>
367                             <li>y2 <em>number</em></li>
368                         </ol>
369                         <h4>Usage</h4>
370                         <pre class="javascript code"><code>var c = paper.path({stroke: "#036"}).moveTo(10, 10).curveTo(10, 15, 45, 45, 50, 50);</code></pre>
371                         <h3 id="addRoundedCorner">
372                             addRoundedCorner
373                         </h3>
374                         <p>
375                             Draws quarter of circle form current point.
376                         </p>
377                         <h4>Parameters</h4>
378                         <ol>
379                             <li>r <em>number</em></li>
380                             <li>dir <em>string</em> two letters direction</li>
381                         </ol>
382                         <h4>Possible dir values</h4>
383                         <dl>
384                             <dt>lu</dt>
385                             <dd>left up</dd>
386                             <dt>ld</dt>
387                             <dd>left down</dd>
388                             <dt>ru</dt>
389                             <dd>right up</dd>
390                             <dt>rd</dt>
391                             <dd>right down</dd>
392                             <dt>ur</dt>
393                             <dd>up right</dd>
394                             <dt>ul</dt>
395                             <dd>up left</dd>
396                             <dt>dr</dt>
397                             <dd>down right</dd>
398                             <dt>dl</dt>
399                             <dd>down left</dd>
400                         </dl>
401                         <h4>Usage</h4>
402                         <pre class="javascript code"><code>var c = paper.path({stroke: "#036"}).moveTo(10, 10).addRoundedCorner(10, "rd");</code></pre>
403                         <h3 id="andClose">
404                             andClose
405                         </h3>
406                         <p>
407                             Closes the path.
408                         </p>
409                         <h4>Usage</h4>
410                         <pre class="javascript code"><code>var c = paper.path({stroke: "#036"}).moveTo(10, 10).andClose();</code></pre>
411                     </div>
412                     <div id="column-2">
413                         <h2>
414                             <a href="index.html">Home</a>
415                         </h2>
416                         <h2>
417                             Contents
418                         </h2>
419                         <ul id="contents">
420                             <li>
421                                 <a href="reference.html#Raphael"><code>Raphael</code></a>
422                             </li>
423                             <li>
424                                 <a href="reference.html#node"><code>node</code></a>
425                             </li>
426                             <li>
427                                 <a href="reference.html#rotate"><code>rotate</code></a>
428                             </li>
429                             <li>
430                                 <a href="reference.html#translate"><code>translate</code></a>
431                             </li>
432                             <li>
433                                 <a href="reference.html#scale"><code>scale</code></a>
434                             </li>
435                             <li>
436                                 <a href="reference.html#attr"><code>attr</code></a>
437                             </li>
438                             <li>
439                                 <a href="reference.html#attr"><code>animate</code></a>
440                             </li>
441                             <li>
442                                 <a href="reference.html#getBBox"><code>getBBox</code></a>
443                             </li>
444                             <li>
445                                 <a href="reference.html#toFront"><code>toFront</code></a>
446                             </li>
447                             <li>
448                                 <a href="reference.html#toBack"><code>toBack</code></a>
449                             </li>
450                             <li>
451                                 <a href="reference.html#circle"><code>circle</code></a>
452                             </li>
453                             <li>
454                                 <a href="reference.html#rect"><code>rect</code></a>
455                             </li>
456                             <li>
457                                 <a href="reference.html#ellipse"><code>ellipse</code></a>
458                             </li>
459                             <li>
460                                 <a href="reference.html#image"><code>image</code></a>
461                             </li>
462                             <li>
463                                 <a href="reference.html#path"><code>path</code></a>
464                                 <ul>
465                                     <li>
466                                         <a href="reference.html#absolutely"><code>absolutely</code></a>
467                                     </li>
468                                     <li>
469                                         <a href="reference.html#relatively"><code>relatively</code></a>
470                                     </li>
471                                     <li>
472                                         <a href="reference.html#moveTo"><code>moveTo</code></a>
473                                     </li>
474                                     <li>
475                                         <a href="reference.html#lineTo"><code>lineTo</code></a>
476                                     </li>
477                                     <li>
478                                         <a href="reference.html#cplineTo"><code>cplineTo</code></a>
479                                     </li>
480                                     <li>
481                                         <a href="reference.html#curveTo"><code>curveTo</code></a>
482                                     </li>
483                                     <li>
484                                         <a href="reference.html#qcurveTo"><code>qcurveTo</code></a>
485                                     </li>
486                                     <li>
487                                         <a href="reference.html#addRoundedCorner"><code>addRoundedCorner</code></a>
488                                     </li>
489                                     <li>
490                                         <a href="reference.html#andClose"><code>andClose</code></a>
491                                     </li>
492                                 </ul>
493                             </li>
494                         </ul>
495                     </div>
496                     <div  id="footer">
497                         <h3 id="copyright">
498                             <a href="http://creativecommons.org/licenses/by-sa/3.0/" title="Creative Commons Attribution-ShareAlike 3.0 Unported" rel="license">Some Rights Reserved</a> by <a href="http://dmitry.baranovskiy.com/">Dmitry Baranovskiy</a>
499                         </h3>
500                         <h3 id="font">
501                             A font by <a href="http://www.exljbris.nl">Jos Buivenga</a> | Logo by <a href="http://wasabicube.com/">Wasabicube</a>
502                         </h3>
503                     </div>
504                 </div>
505             </div>
506         </div>
507         <script type="text/javascript">
508         var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
509         document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
510         </script>
511         <script type="text/javascript">
512         var pageTracker = _gat._getTracker("UA-616618-3");
513         pageTracker._trackPageview();
514         </script>
515     </body>
516 </html>