Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUi_TouchPinchGestureDetector.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.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://floralicense.org/license/
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  * @file        FUi_TouchPinchGestureDetector.h
19  * @brief       This is the header file for the %_TouchPinchGestureDetector class.
20  *
21  * This header file contains the declarations of the %_TouchPinchGestureDetector class.
22  */
23 #ifndef _FUI_INTERNAL_TOUCH_PINCH_GESTURE_DETECTOR_H_
24 #define _FUI_INTERNAL_TOUCH_PINCH_GESTURE_DETECTOR_H_
25
26 #include "FUi_TouchGestureDetector.h"
27 #include "FUi_UiTouchEvent.h"
28
29 namespace Tizen { namespace Ui
30 {
31 class _PinchInfo;
32
33 class _OSP_EXPORT_ _TouchPinchGestureDetector
34         : public _TouchGestureDetector
35         , public Tizen::Base::Runtime::ITimerEventListener
36 {
37 public:
38         _TouchPinchGestureDetector(void);
39         virtual ~_TouchPinchGestureDetector(void);
40
41         virtual bool OnTouchPressed(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
42         virtual bool OnTouchMoved(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
43         virtual bool OnTouchReleased(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
44         virtual bool OnTouchCanceled(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
45
46         Tizen::Graphics::Point GetCenterPoint(void) const;
47         int GetScale(void) const;
48
49 private:
50         _TouchPinchGestureDetector(const _TouchPinchGestureDetector&);
51         _TouchPinchGestureDetector& operator =(const _TouchPinchGestureDetector&);
52
53         virtual void OnTimerExpired(Tizen::Base::Runtime::Timer& timer);
54         void SetDetectorStateChanged(void);
55         int MeasureArea(void);
56
57 private:
58         Tizen::Graphics::Point __MinimumPoint;
59         Tizen::Graphics::Point __MaximumPoint;
60         Tizen::Graphics::Point __centerPosition;
61         Tizen::Base::Runtime::Timer* __pTimer;
62         int __threshold;
63         int __scale;
64 }; // _TouchPinchGestureDetector
65
66 }} //Tizen::Ui
67
68 #endif //_FUI_INTERNAL_TOUCH_PINCH_GESTURE_DETECTOR_H_