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 27 matching lines...) Expand all Loading... |
38 | 38 |
39 namespace blink { | 39 namespace blink { |
40 | 40 |
41 class LocalFrame; | 41 class LocalFrame; |
42 | 42 |
43 class Touch final : public RefCountedWillBeGarbageCollected<Touch>, public Scrip
tWrappable { | 43 class Touch final : public RefCountedWillBeGarbageCollected<Touch>, public Scrip
tWrappable { |
44 DEFINE_WRAPPERTYPEINFO(); | 44 DEFINE_WRAPPERTYPEINFO(); |
45 public: | 45 public: |
46 static PassRefPtrWillBeRawPtr<Touch> create(LocalFrame* frame, EventTarget*
target, | 46 static PassRefPtrWillBeRawPtr<Touch> create(LocalFrame* frame, EventTarget*
target, |
47 unsigned identifier, const FloatPoint& screenPos, const FloatPoint& page
Pos, | 47 unsigned identifier, const FloatPoint& screenPos, const FloatPoint& page
Pos, |
48 const FloatSize& radius, float rotationAngle, float force) | 48 const FloatSize& radius, float rotationAngle, float tilt, float force) |
49 { | 49 { |
50 return adoptRefWillBeNoop( | 50 return adoptRefWillBeNoop( |
51 new Touch(frame, target, identifier, screenPos, pagePos, radius, rot
ationAngle, force)); | 51 new Touch(frame, target, identifier, screenPos, pagePos, radius, rot
ationAngle, tilt, force)); |
52 } | 52 } |
53 | 53 |
54 // DOM Touch implementation | 54 // DOM Touch implementation |
55 EventTarget* target() const { return m_target.get(); } | 55 EventTarget* target() const { return m_target.get(); } |
56 unsigned identifier() const { return m_identifier; } | 56 unsigned identifier() const { return m_identifier; } |
57 double clientX() const { return m_clientPos.x(); } | 57 double clientX() const { return m_clientPos.x(); } |
58 double clientY() const { return m_clientPos.y(); } | 58 double clientY() const { return m_clientPos.y(); } |
59 double screenX() const { return m_screenPos.x(); } | 59 double screenX() const { return m_screenPos.x(); } |
60 double screenY() const { return m_screenPos.y(); } | 60 double screenY() const { return m_screenPos.y(); } |
61 double pageX() const { return m_pagePos.x(); } | 61 double pageX() const { return m_pagePos.x(); } |
62 double pageY() const { return m_pagePos.y(); } | 62 double pageY() const { return m_pagePos.y(); } |
63 double radiusX() const { return m_radius.width(); } | 63 double radiusX() const { return m_radius.width(); } |
64 double webkitRadiusX() const { return m_radius.width(); } | 64 double webkitRadiusX() const { return m_radius.width(); } |
65 double radiusY() const { return m_radius.height(); } | 65 double radiusY() const { return m_radius.height(); } |
66 double webkitRadiusY() const { return m_radius.height(); } | 66 double webkitRadiusY() const { return m_radius.height(); } |
67 float webkitRotationAngle() const { return m_rotationAngle; } | 67 float webkitRotationAngle() const { return m_rotationAngle; } |
68 float force() const { return m_force; } | 68 float force() const { return m_force; } |
69 float webkitForce() const { return m_force; } | 69 float webkitForce() const { return m_force; } |
| 70 float tilt() const { return m_tilt; } |
70 | 71 |
71 // Blink-internal methods | 72 // Blink-internal methods |
72 const LayoutPoint& absoluteLocation() const { return m_absoluteLocation; } | 73 const LayoutPoint& absoluteLocation() const { return m_absoluteLocation; } |
73 const FloatPoint& screenLocation() const { return m_screenPos; } | 74 const FloatPoint& screenLocation() const { return m_screenPos; } |
74 PassRefPtrWillBeRawPtr<Touch> cloneWithNewTarget(EventTarget*) const; | 75 PassRefPtrWillBeRawPtr<Touch> cloneWithNewTarget(EventTarget*) const; |
75 | 76 |
76 void trace(Visitor*); | 77 void trace(Visitor*); |
77 | 78 |
78 private: | 79 private: |
79 Touch(LocalFrame* frame, EventTarget* target, unsigned identifier, | 80 Touch(LocalFrame* frame, EventTarget* target, unsigned identifier, |
80 const FloatPoint& screenPos, const FloatPoint& pagePos, | 81 const FloatPoint& screenPos, const FloatPoint& pagePos, |
81 const FloatSize& radius, float rotationAngle, float force); | 82 const FloatSize& radius, float rotationAngle, float tilt, float force); |
82 | 83 |
83 Touch(EventTarget*, unsigned identifier, const FloatPoint& clientPos, | 84 Touch(EventTarget*, unsigned identifier, const FloatPoint& clientPos, |
84 const FloatPoint& screenPos, const FloatPoint& pagePos, | 85 const FloatPoint& screenPos, const FloatPoint& pagePos, |
85 const FloatSize& radius, float rotationAngle, float force, LayoutPoint a
bsoluteLocation); | 86 const FloatSize& radius, float rotationAngle, float tilt, float force, L
ayoutPoint absoluteLocation); |
86 | 87 |
87 RefPtrWillBeMember<EventTarget> m_target; | 88 RefPtrWillBeMember<EventTarget> m_target; |
88 unsigned m_identifier; | 89 unsigned m_identifier; |
89 // Position relative to the viewport in CSS px. | 90 // Position relative to the viewport in CSS px. |
90 FloatPoint m_clientPos; | 91 FloatPoint m_clientPos; |
91 // Position relative to the screen in DIPs. | 92 // Position relative to the screen in DIPs. |
92 FloatPoint m_screenPos; | 93 FloatPoint m_screenPos; |
93 // Position relative to the page in CSS px. | 94 // Position relative to the page in CSS px. |
94 FloatPoint m_pagePos; | 95 FloatPoint m_pagePos; |
95 // Radius in CSS px. | 96 // Radius in CSS px. |
96 FloatSize m_radius; | 97 FloatSize m_radius; |
97 float m_rotationAngle; | 98 float m_rotationAngle; |
| 99 float m_tilt; |
98 float m_force; | 100 float m_force; |
99 // FIXME(rbyers): Shouldn't we be able to migrate callers to relying on scre
enPos, pagePos | 101 // FIXME(rbyers): Shouldn't we be able to migrate callers to relying on scre
enPos, pagePos |
100 // or clientPos? absoluteLocation appears to be the same as pagePos but with
out browser | 102 // or clientPos? absoluteLocation appears to be the same as pagePos but with
out browser |
101 // scale applied. | 103 // scale applied. |
102 LayoutPoint m_absoluteLocation; | 104 LayoutPoint m_absoluteLocation; |
103 }; | 105 }; |
104 | 106 |
105 } // namespace blink | 107 } // namespace blink |
106 | 108 |
107 #endif // Touch_h | 109 #endif // Touch_h |
OLD | NEW |