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