2 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 #include <dali/public-api/events/pan-gesture-detector.h>
21 #include <dali/internal/event/events/pan-gesture-detector-impl.h>
26 const char* const PanGestureDetector::SIGNAL_PAN_DETECTED = "pan-detected";
28 const Radian PanGestureDetector::DIRECTION_LEFT( -Math::PI );
29 const Radian PanGestureDetector::DIRECTION_RIGHT( 0.0f );
30 const Radian PanGestureDetector::DIRECTION_UP( -0.5f * Math::PI );
31 const Radian PanGestureDetector::DIRECTION_DOWN( 0.5f * Math::PI );
32 const Radian PanGestureDetector::DIRECTION_HORIZONTAL( Math::PI );
33 const Radian PanGestureDetector::DIRECTION_VERTICAL( -0.5f * Math::PI );
34 const Radian PanGestureDetector::DEFAULT_THRESHOLD( 0.25f * Math::PI );
36 PanGestureDetector::PanGestureDetector(Internal::PanGestureDetector* internal)
37 : GestureDetector(internal)
41 PanGestureDetector::PanGestureDetector()
45 PanGestureDetector PanGestureDetector::New()
47 Internal::PanGestureDetectorPtr internal = Internal::PanGestureDetector::New();
49 return PanGestureDetector(internal.Get());
52 PanGestureDetector PanGestureDetector::DownCast( BaseHandle handle )
54 return PanGestureDetector( dynamic_cast<Dali::Internal::PanGestureDetector*>(handle.GetObjectPtr()) );
57 PanGestureDetector::~PanGestureDetector()
61 void PanGestureDetector::SetMinimumTouchesRequired(unsigned int minimum)
63 GetImplementation(*this).SetMinimumTouchesRequired(minimum);
66 void PanGestureDetector::SetMaximumTouchesRequired(unsigned int maximum)
68 GetImplementation(*this).SetMaximumTouchesRequired(maximum);
71 unsigned int PanGestureDetector::GetMinimumTouchesRequired() const
73 return GetImplementation(*this).GetMinimumTouchesRequired();
76 unsigned int PanGestureDetector::GetMaximumTouchesRequired() const
78 return GetImplementation(*this).GetMaximumTouchesRequired();
81 void PanGestureDetector::AddAngle( Radian angle, Radian threshold )
83 GetImplementation(*this).AddAngle( angle, threshold );
86 void PanGestureDetector::AddDirection( Radian direction, Radian threshold )
88 GetImplementation(*this).AddDirection( direction, threshold );
91 const PanGestureDetector::AngleContainer& PanGestureDetector::GetAngles() const
93 return GetImplementation(*this).GetAngles();
96 void PanGestureDetector::ClearAngles()
98 GetImplementation(*this).ClearAngles();
101 void PanGestureDetector::RemoveAngle( Radian angle )
103 GetImplementation(*this).RemoveAngle( angle );
106 void PanGestureDetector::RemoveDirection( Radian direction )
108 GetImplementation(*this).RemoveDirection( direction );
111 PanGestureDetector::DetectedSignalV2& PanGestureDetector::DetectedSignal()
113 return GetImplementation(*this).DetectedSignal();
116 void PanGestureDetector::SetPanGestureProperties( const PanGesture& pan )
118 Internal::PanGestureDetector::SetPanGestureProperties( pan );