Merge "supporting camera, camcorder, in onselectuploadfile" into tizen_2.2
[framework/osp/web.git] / src / controls / FWebCtrl_GestureState.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file                FWebCtrl_GestureState.h
20  * @brief               The file contains the declaration of _TapGestureState, _PanningGestureState, _FlickGestureState and _PinchGestureState class.
21  *
22  * The file contains the declaration of _TapGestureState, _PanningGestureState, _FlickGestureState and _PinchGestureState  class.
23  */
24 #ifndef _FWEB_CTRL_INTERNAL_GESTURE_STATE_H_
25 #define _FWEB_CTRL_INTERNAL_GESTURE_STATE_H_
26
27 #include <FUi_ITouchEventListener.h>
28
29 namespace Tizen { namespace Graphics
30 {
31 class Point;
32 }} // Tizen::Graphics
33
34 namespace Tizen { namespace Ui
35 {
36 class _Control;
37 class _TouchInfo;
38 class _TouchFlickGestureDetector;
39 class _TouchLongPressGestureDetector;
40 class _TouchPinchGestureDetector;
41 class _TouchTapGestureDetector;
42 }} // Tizen::Ui
43
44 namespace Tizen { namespace Web { namespace Controls
45 {
46
47 class _Web;
48
49 class _TapGestureState
50         : public Tizen::Ui::_ITouchEventListener
51 {
52 public:
53         _TapGestureState(_Web* pWeb);
54         
55         virtual ~_TapGestureState(void);
56
57         bool OnLongPressGestureDetected(Tizen::Ui::_TouchLongPressGestureDetector& gesture);
58
59         bool OnTapGestureDetected(Tizen::Ui::_TouchTapGestureDetector& gesture);
60
61         virtual bool OnTouchPressed(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
62
63         virtual bool OnTouchReleased(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
64
65         virtual bool OnTouchMoved(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
66
67         virtual bool OnTouchCanceled(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
68
69 private:
70         _Web* __pWebCore;
71
72         bool __longPressed;
73
74         bool __doubleTapped;
75
76         Tizen::Graphics::FloatPoint __pressedPosition;
77 };
78
79
80 class _PanningGestureState
81         : public Tizen::Ui::_ITouchEventListener
82 {
83 public:
84         _PanningGestureState(_Web* pWeb);
85         
86         virtual ~_PanningGestureState(void);
87
88         virtual bool OnTouchPressed(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
89
90         virtual bool OnTouchReleased(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
91
92         virtual bool OnTouchMoved(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
93
94         virtual bool OnTouchCanceled(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
95
96 private:
97         _Web* __pWebCore;
98 };
99
100 class _FlickGestureState
101         : public Tizen::Ui::_ITouchEventListener
102 {
103 public:
104         _FlickGestureState(_Web* pWeb);
105         
106         virtual ~_FlickGestureState(void);
107
108         bool OnFlickGestureDetected(Tizen::Ui::_TouchFlickGestureDetector& gesture);
109
110         virtual bool OnTouchPressed(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
111
112         virtual bool OnTouchReleased(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
113
114         virtual bool OnTouchMoved(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
115
116         virtual bool OnTouchCanceled(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
117
118 private:
119         _Web* __pWebCore;
120
121         Tizen::Graphics::Point __velocity;
122 };
123
124 class _PinchGestureState
125         : public Tizen::Ui::_ITouchEventListener
126 {
127 public:
128         _PinchGestureState(_Web* pWeb);
129
130         virtual ~_PinchGestureState(void);
131
132         bool OnPinchGestureStarted(Tizen::Ui::_TouchPinchGestureDetector& gesture);
133
134         bool OnPinchGestureChanged(Tizen::Ui::_TouchPinchGestureDetector& gesture);
135
136         bool OnPinchGestureFinished(Tizen::Ui::_TouchPinchGestureDetector& gesture);
137
138         virtual bool OnTouchPressed(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
139
140         virtual bool OnTouchReleased(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
141
142         virtual bool OnTouchMoved(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
143
144         virtual bool OnTouchCanceled(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
145
146 private:
147         _Web* __pWebCore;
148
149         double __standardScale;
150 };
151
152 }}} // Tizen::Web::Controls
153 #endif // _FWEB_CTRL_INTERNAL_GESTURE_STATE_H_