1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.javascript.host;
16
17 import java.util.ArrayList;
18 import java.util.List;
19
20 import org.htmlunit.corejs.javascript.Scriptable;
21 import org.htmlunit.javascript.HtmlUnitScriptable;
22 import org.htmlunit.javascript.configuration.JsxClass;
23 import org.htmlunit.javascript.configuration.JsxConstructor;
24 import org.htmlunit.javascript.configuration.JsxFunction;
25 import org.htmlunit.javascript.configuration.JsxGetter;
26
27
28
29
30
31
32
33 @JsxClass
34 public class DOMRectList extends HtmlUnitScriptable {
35
36 private final List<DOMRect> domRects_;
37
38
39
40
41 public DOMRectList() {
42 super();
43 domRects_ = new ArrayList<>();
44 }
45
46
47
48
49 @JsxConstructor
50 public void jsConstructor() {
51
52 }
53
54
55
56
57
58 @JsxGetter
59 public int getLength() {
60 return domRects_.size();
61 }
62
63
64
65
66
67 @Override
68 public final Object get(final int index, final Scriptable start) {
69 if (index >= 0 && index < domRects_.size()) {
70 return domRects_.get(index);
71 }
72 return NOT_FOUND;
73 }
74
75
76
77
78
79
80 @JsxFunction
81 public DOMRect item(final int index) {
82 if (index >= 0 && index < domRects_.size()) {
83 return domRects_.get(index);
84 }
85 return null;
86 }
87
88
89
90
91
92 public void add(final DOMRect clientRect) {
93 domRects_.add(clientRect);
94 }
95 }