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 PlatformTouchEvent_h 21#define PlatformTouchEvent_h 22 23#include "PlatformEvent.h" 24#include "PlatformTouchPoint.h" 25#include <wtf/Vector.h> 26 27#if ENABLE(TOUCH_EVENTS) 28 29#if PLATFORM(QT) 30QT_BEGIN_NAMESPACE 31class QTouchEvent; 32QT_END_NAMESPACE 33#endif 34 35#if PLATFORM(BLACKBERRY) 36namespace BlackBerry { 37namespace Platform { 38class TouchEvent; 39}; 40}; 41#endif 42 43namespace WebCore { 44 45 46class PlatformTouchEvent : public PlatformEvent { 47public: 48 PlatformTouchEvent() 49 : PlatformEvent(PlatformEvent::TouchStart) 50#if PLATFORM(BLACKBERRY) 51 , m_rotation(0) 52 , m_scale(1) 53 , m_doubleTap(false) 54 , m_touchHold(false) 55#endif 56 { 57 } 58 59#if PLATFORM(BLACKBERRY) 60 explicit PlatformTouchEvent(BlackBerry::Platform::TouchEvent*); 61#endif 62 63 const Vector<PlatformTouchPoint>& touchPoints() const { return m_touchPoints; } 64 65#if PLATFORM(BLACKBERRY) 66 float rotation() const { return m_rotation; } 67 float scale() const { return m_scale; } 68 bool doubleTap() const { return m_doubleTap; } 69 bool touchHold() const { return m_touchHold; } 70#endif 71 72protected: 73 Vector<PlatformTouchPoint> m_touchPoints; 74#if PLATFORM(BLACKBERRY) 75 float m_rotation; 76 float m_scale; 77 bool m_doubleTap; 78 bool m_touchHold; 79#endif 80}; 81 82} 83 84#endif // ENABLE(TOUCH_EVENTS) 85 86#endif // PlatformTouchEvent_h 87