|
1 |
|
2 // DOMRect |
1 (function (global) { |
3 (function (global) { |
2 function number(v) { |
4 function number(v) { |
3 return v === undefined ? 0 : Number(v); |
5 return v === undefined ? 0 : Number(v); |
4 } |
6 } |
5 |
7 |
6 function different(u, v) { |
8 function different(u, v) { |
7 return u !== v && !(isNaN(u) && isNaN(v)); |
9 return u !== v && !(isNaN(u) && isNaN(v)); |
8 } |
10 } |
9 |
11 |
10 function DOMRect(xArg, yArg, wArg, hArg) { |
12 function DOMRect(xArg, yArg, wArg, hArg) { |
11 var x, y, width, height, left, right, top, bottom; |
13 var x, y, width, height, left, right, top, bottom; |
12 |
14 |
13 x = number(xArg); |
15 x = number(xArg); |
14 y = number(yArg); |
16 y = number(yArg); |
15 width = number(wArg); |
17 width = number(wArg); |
16 height = number(hArg); |
18 height = number(hArg); |
17 |
19 |
18 Object.defineProperties(this, { |
20 Object.defineProperties(this, { |
19 x: { |
21 x: { |
20 get: function () { return x; }, |
22 get: function () { return x; }, |
21 set: function (newX) { |
23 set: function (newX) { |
22 if (different(x, newX)) { |
24 if (different(x, newX)) { |
23 x = newX; |
25 x = newX; |