1f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch/* 2f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) 3f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 4f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch This library is free software; you can redistribute it and/or 5f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch modify it under the terms of the GNU Library General Public 6f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch License as published by the Free Software Foundation; either 7f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch version 2 of the License, or (at your option) any later version. 8f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 9f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch This library is distributed in the hope that it will be useful, 10f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch but WITHOUT ANY WARRANTY; without even the implied warranty of 11f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch Library General Public License for more details. 13f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 14f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch You should have received a copy of the GNU Library General Public License 15f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch along with this library; see the file COPYING.LIB. If not, write to 16f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch Boston, MA 02110-1301, USA. 18f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch*/ 19f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 20f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#ifndef PlatformTouchPoint_h 21f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#define PlatformTouchPoint_h 22f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 23f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#include "IntPoint.h" 24f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#include <wtf/Vector.h> 25f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 26f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#if ENABLE(TOUCH_EVENTS) 27f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 28f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#if PLATFORM(QT) 29f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#include <QTouchEvent> 30f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#endif 31f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 32f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdochnamespace WebCore { 33f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 34f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdochclass PlatformTouchEvent; 35f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 36f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdochclass PlatformTouchPoint { 37f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdochpublic: 38f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch enum State { 39f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch TouchReleased, 40f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch TouchPressed, 41f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch TouchMoved, 4202d657c513b78a755390e1c5bcf35f6f35f466caBen Murdoch TouchStationary, 43cad810f21b803229eb11403f9209855525a25d57Steve Block TouchCancelled, 44cad810f21b803229eb11403f9209855525a25d57Steve Block TouchStateEnd // Placeholder: must remain the last item. 45f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch }; 46f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 47f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#if PLATFORM(QT) 48f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch PlatformTouchPoint(const QTouchEvent::TouchPoint&); 49e8b154fd68f9b33be40a3590e58347f353835f5cSteve Block PlatformTouchPoint() {}; 50f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#elif PLATFORM(ANDROID) 5117a554651c9530d8c0e0a2c1e04b9b7c2f683bd6Huahui Wu PlatformTouchPoint(unsigned id, const IntPoint& windowPos, State); 52bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen#elif PLATFORM(BREWMP) 53bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen PlatformTouchPoint(int id, const IntPoint& windowPos, State); 54cad810f21b803229eb11403f9209855525a25d57Steve Block#elif PLATFORM(EFL) 55cad810f21b803229eb11403f9209855525a25d57Steve Block PlatformTouchPoint(unsigned id, const IntPoint& windowPos, State); 56f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#endif 57f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 58cd97be1e939c83f2a837fa63c24d06231a0097d9Ben Murdoch unsigned id() const { return m_id; } 59f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch State state() const { return m_state; } 60f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch IntPoint screenPos() const { return m_screenPos; } 61f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch IntPoint pos() const { return m_pos; } 62f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 63dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockprotected: 64cd97be1e939c83f2a837fa63c24d06231a0097d9Ben Murdoch unsigned m_id; 65f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch State m_state; 66f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch IntPoint m_screenPos; 67f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch IntPoint m_pos; 68f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch}; 69f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 70f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch} 71f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 72f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#endif // ENABLE(TOUCH_EVENTS) 73f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch 74f5306da72ab6bb63f7ae07371e687f72a75c2fb2Ben Murdoch#endif // PlatformTouchPoint_h 75