OLD | NEW |
1 /* | 1 /* |
2 Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) | 2 Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) |
3 | 3 |
4 This library is free software; you can redistribute it and/or | 4 This library is free software; you can redistribute it and/or |
5 modify it under the terms of the GNU Library General Public | 5 modify it under the terms of the GNU Library General Public |
6 License as published by the Free Software Foundation; either | 6 License as published by the Free Software Foundation; either |
7 version 2 of the License, or (at your option) any later version. | 7 version 2 of the License, or (at your option) any later version. |
8 | 8 |
9 This library is distributed in the hope that it will be useful, | 9 This library is distributed in the hope that it will be useful, |
10 but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 Library General Public License for more details. | 12 Library General Public License for more details. |
13 | 13 |
14 You should have received a copy of the GNU Library General Public License | 14 You should have received a copy of the GNU Library General Public License |
15 along with this library; see the file COPYING.LIB. If not, write to | 15 along with this library; see the file COPYING.LIB. If not, write to |
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
17 Boston, MA 02110-1301, USA. | 17 Boston, MA 02110-1301, USA. |
18 */ | 18 */ |
19 | 19 |
20 #ifndef PlatformTouchPoint_h | 20 #ifndef PlatformTouchPoint_h |
21 #define PlatformTouchPoint_h | 21 #define PlatformTouchPoint_h |
22 | 22 |
23 #include "platform/geometry/IntPoint.h" | 23 #include "platform/geometry/FloatPoint.h" |
24 #include "wtf/Vector.h" | 24 #include "wtf/Vector.h" |
25 | 25 |
26 namespace WebCore { | 26 namespace WebCore { |
27 | 27 |
28 class PlatformTouchEvent; | 28 class PlatformTouchEvent; |
29 | 29 |
30 class PlatformTouchPoint { | 30 class PlatformTouchPoint { |
31 public: | 31 public: |
32 enum State { | 32 enum State { |
33 TouchReleased, | 33 TouchReleased, |
34 TouchPressed, | 34 TouchPressed, |
35 TouchMoved, | 35 TouchMoved, |
36 TouchStationary, | 36 TouchStationary, |
37 TouchCancelled, | 37 TouchCancelled, |
38 TouchStateEnd // Placeholder: must remain the last item. | 38 TouchStateEnd // Placeholder: must remain the last item. |
39 }; | 39 }; |
40 | 40 |
41 // This is necessary for us to be able to build synthetic events. | 41 // This is necessary for us to be able to build synthetic events. |
42 PlatformTouchPoint() | 42 PlatformTouchPoint() |
43 : m_id(0) | 43 : m_id(0) |
44 , m_radiusY(0) | |
45 , m_radiusX(0) | |
46 , m_rotationAngle(0) | 44 , m_rotationAngle(0) |
47 , m_force(0) | 45 , m_force(0) |
48 { | 46 { |
49 } | 47 } |
50 | 48 |
51 unsigned id() const { return m_id; } | 49 unsigned id() const { return m_id; } |
52 State state() const { return m_state; } | 50 State state() const { return m_state; } |
53 IntPoint screenPos() const { return m_screenPos; } | 51 FloatPoint screenPos() const { return m_screenPos; } |
54 IntPoint pos() const { return m_pos; } | 52 FloatPoint pos() const { return m_pos; } |
55 int radiusX() const { return m_radiusX; } | 53 FloatSize radius() const { return m_radius; } |
56 int radiusY() const { return m_radiusY; } | |
57 float rotationAngle() const { return m_rotationAngle; } | 54 float rotationAngle() const { return m_rotationAngle; } |
58 float force() const { return m_force; } | 55 float force() const { return m_force; } |
59 | 56 |
60 protected: | 57 protected: |
61 unsigned m_id; | 58 unsigned m_id; |
62 State m_state; | 59 State m_state; |
63 IntPoint m_screenPos; | 60 FloatPoint m_screenPos; |
64 IntPoint m_pos; | 61 FloatPoint m_pos; |
65 int m_radiusY; | 62 FloatSize m_radius; |
66 int m_radiusX; | |
67 float m_rotationAngle; | 63 float m_rotationAngle; |
68 float m_force; | 64 float m_force; |
69 }; | 65 }; |
70 | 66 |
71 } | 67 } |
72 | 68 |
73 #endif // PlatformTouchPoint_h | 69 #endif // PlatformTouchPoint_h |
OLD | NEW |