OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2008, The Android Open Source Project | 2 * Copyright 2008, The Android Open Source Project |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * * Redistributions of source code must retain the above copyright | 7 * * Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * * Redistributions in binary form must reproduce the above copyright | 9 * * Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 10 matching lines...) Expand all Loading... |
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
24 */ | 24 */ |
25 | 25 |
26 #ifndef Touch_h | 26 #ifndef Touch_h |
27 #define Touch_h | 27 #define Touch_h |
28 | 28 |
29 #include "bindings/v8/ScriptWrappable.h" | 29 #include "bindings/v8/ScriptWrappable.h" |
30 #include "core/events/EventTarget.h" | 30 #include "core/events/EventTarget.h" |
| 31 #include "heap/Handle.h" |
31 #include "platform/geometry/LayoutPoint.h" | 32 #include "platform/geometry/LayoutPoint.h" |
32 #include "wtf/PassRefPtr.h" | 33 #include "wtf/PassRefPtr.h" |
33 #include "wtf/RefCounted.h" | 34 #include "wtf/RefCounted.h" |
34 #include "wtf/RefPtr.h" | 35 #include "wtf/RefPtr.h" |
35 | 36 |
36 namespace WebCore { | 37 namespace WebCore { |
37 | 38 |
38 class LocalFrame; | 39 class LocalFrame; |
39 | 40 |
40 class Touch : public RefCounted<Touch>, public ScriptWrappable { | 41 class Touch : public RefCountedWillBeGarbageCollectedFinalized<Touch>, public Sc
riptWrappable { |
41 public: | 42 public: |
42 static PassRefPtr<Touch> create(LocalFrame* frame, EventTarget* target, | 43 static PassRefPtrWillBeRawPtr<Touch> create(LocalFrame* frame, EventTarget*
target, |
43 unsigned identifier, int screenX, int screenY, int pageX, int pageY, | 44 unsigned identifier, int screenX, int screenY, int pageX, int pageY, |
44 int radiusX, int radiusY, float rotationAngle, float force) | 45 int radiusX, int radiusY, float rotationAngle, float force) |
45 { | 46 { |
46 return adoptRef(new Touch(frame, target, identifier, screenX, | 47 return adoptRefWillBeNoop(new Touch(frame, target, identifier, screenX, |
47 screenY, pageX, pageY, radiusX, radiusY, rotationAngle, force)); | 48 screenY, pageX, pageY, radiusX, radiusY, rotationAngle, force)); |
48 } | 49 } |
49 | 50 |
50 EventTarget* target() const { return m_target.get(); } | 51 EventTarget* target() const { return m_target.get(); } |
51 unsigned identifier() const { return m_identifier; } | 52 unsigned identifier() const { return m_identifier; } |
52 int clientX() const { return m_clientX; } | 53 int clientX() const { return m_clientX; } |
53 int clientY() const { return m_clientY; } | 54 int clientY() const { return m_clientY; } |
54 int screenX() const { return m_screenX; } | 55 int screenX() const { return m_screenX; } |
55 int screenY() const { return m_screenY; } | 56 int screenY() const { return m_screenY; } |
56 int pageX() const { return m_pageX; } | 57 int pageX() const { return m_pageX; } |
57 int pageY() const { return m_pageY; } | 58 int pageY() const { return m_pageY; } |
58 int webkitRadiusX() const { return m_radiusX; } | 59 int webkitRadiusX() const { return m_radiusX; } |
59 int webkitRadiusY() const { return m_radiusY; } | 60 int webkitRadiusY() const { return m_radiusY; } |
60 float webkitRotationAngle() const { return m_rotationAngle; } | 61 float webkitRotationAngle() const { return m_rotationAngle; } |
61 float webkitForce() const { return m_force; } | 62 float webkitForce() const { return m_force; } |
62 const LayoutPoint& absoluteLocation() const { return m_absoluteLocation; } | 63 const LayoutPoint& absoluteLocation() const { return m_absoluteLocation; } |
63 PassRefPtr<Touch> cloneWithNewTarget(EventTarget*) const; | 64 PassRefPtrWillBeRawPtr<Touch> cloneWithNewTarget(EventTarget*) const; |
| 65 |
| 66 void trace(Visitor*) { } |
64 | 67 |
65 private: | 68 private: |
66 Touch(LocalFrame* frame, EventTarget* target, unsigned identifier, | 69 Touch(LocalFrame* frame, EventTarget* target, unsigned identifier, |
67 int screenX, int screenY, int pageX, int pageY, | 70 int screenX, int screenY, int pageX, int pageY, |
68 int radiusX, int radiusY, float rotationAngle, float force); | 71 int radiusX, int radiusY, float rotationAngle, float force); |
69 | 72 |
70 Touch(EventTarget*, unsigned identifier, int clientX, int clientY, | 73 Touch(EventTarget*, unsigned identifier, int clientX, int clientY, |
71 int screenX, int screenY, int pageX, int pageY, | 74 int screenX, int screenY, int pageX, int pageY, |
72 int radiusX, int radiusY, float rotationAngle, float force, LayoutPoint
absoluteLocation); | 75 int radiusX, int radiusY, float rotationAngle, float force, LayoutPoint
absoluteLocation); |
73 | 76 |
74 RefPtr<EventTarget> m_target; | 77 RefPtr<EventTarget> m_target; |
75 unsigned m_identifier; | 78 unsigned m_identifier; |
76 int m_clientX; | 79 int m_clientX; |
77 int m_clientY; | 80 int m_clientY; |
78 int m_screenX; | 81 int m_screenX; |
79 int m_screenY; | 82 int m_screenY; |
80 int m_pageX; | 83 int m_pageX; |
81 int m_pageY; | 84 int m_pageY; |
82 int m_radiusX; | 85 int m_radiusX; |
83 int m_radiusY; | 86 int m_radiusY; |
84 float m_rotationAngle; | 87 float m_rotationAngle; |
85 float m_force; | 88 float m_force; |
86 LayoutPoint m_absoluteLocation; | 89 LayoutPoint m_absoluteLocation; |
87 }; | 90 }; |
88 | 91 |
89 } // namespace WebCore | 92 } // namespace WebCore |
90 | 93 |
91 #endif /* Touch_h */ | 94 #endif /* Touch_h */ |
OLD | NEW |