Upgrade to ExtJS 4.0.7 - Released 10/19/2011
[extjs.git] / docs / source / Offset.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5   <title>The source code</title>
6   <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
7   <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
8   <style type="text/css">
9     .highlight { display: block; background-color: #ddd; }
10   </style>
11   <script type="text/javascript">
12     function highlight() {
13       document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
14     }
15   </script>
16 </head>
17 <body onload="prettyPrint(); highlight();">
18   <pre class="prettyprint lang-js"><span id='Ext-util-Offset'>/**
19 </span> * @class Ext.util.Offset
20  * @ignore
21  */
22 Ext.define('Ext.util.Offset', {
23
24     /* Begin Definitions */
25
26     statics: {
27         fromObject: function(obj) {
28             return new this(obj.x, obj.y);
29         }
30     },
31
32     /* End Definitions */
33
34     constructor: function(x, y) {
35         this.x = (x != null &amp;&amp; !isNaN(x)) ? x : 0;
36         this.y = (y != null &amp;&amp; !isNaN(y)) ? y : 0;
37
38         return this;
39     },
40
41     copy: function() {
42         return new Ext.util.Offset(this.x, this.y);
43     },
44
45     copyFrom: function(p) {
46         this.x = p.x;
47         this.y = p.y;
48     },
49
50     toString: function() {
51         return &quot;Offset[&quot; + this.x + &quot;,&quot; + this.y + &quot;]&quot;;
52     },
53
54     equals: function(offset) {
55         //&lt;debug&gt;
56         if(!(offset instanceof this.statics())) {
57             Ext.Error.raise('Offset must be an instance of Ext.util.Offset');
58         }
59         //&lt;/debug&gt;
60
61         return (this.x == offset.x &amp;&amp; this.y == offset.y);
62     },
63
64     round: function(to) {
65         if (!isNaN(to)) {
66             var factor = Math.pow(10, to);
67             this.x = Math.round(this.x * factor) / factor;
68             this.y = Math.round(this.y * factor) / factor;
69         } else {
70             this.x = Math.round(this.x);
71             this.y = Math.round(this.y);
72         }
73     },
74
75     isZero: function() {
76         return this.x == 0 &amp;&amp; this.y == 0;
77     }
78 });
79 </pre>
80 </body>
81 </html>