63b3fd1759c0d205a7c592872d0af46691f955da
[platform/core/uifw/dali-core.git] / dali / public-api / events / gesture-detector.cpp
1 /*
2  * Copyright (c) 2020 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  *
16  */
17
18 // CLASS HEADER
19 #include <dali/public-api/events/gesture-detector.h>
20
21 // INTERNAL INCLUDES
22 #include <dali/internal/event/events/gesture-detector-impl.h>
23
24 namespace Dali
25 {
26 GestureDetector::GestureDetector(Internal::GestureDetector* internal)
27 : Handle(internal)
28 {
29 }
30
31 GestureDetector::GestureDetector() = default;
32
33 GestureDetector GestureDetector::DownCast(BaseHandle handle)
34 {
35   return GestureDetector(dynamic_cast<Dali::Internal::GestureDetector*>(handle.GetObjectPtr()));
36 }
37
38 GestureDetector::~GestureDetector() = default;
39
40 GestureDetector::GestureDetector(const GestureDetector& handle) = default;
41
42 GestureDetector& GestureDetector::operator=(const GestureDetector& rhs)
43 {
44   BaseHandle::operator=(rhs);
45   return *this;
46 }
47
48 void GestureDetector::Attach(Actor actor)
49 {
50   GetImplementation(*this).Attach(GetImplementation(actor));
51 }
52
53 void GestureDetector::Detach(Actor actor)
54 {
55   GetImplementation(*this).Detach(GetImplementation(actor));
56 }
57
58 void GestureDetector::DetachAll()
59 {
60   GetImplementation(*this).DetachAll();
61 }
62
63 size_t GestureDetector::GetAttachedActorCount() const
64 {
65   return GetImplementation(*this).GetAttachedActorCount();
66 }
67
68 Actor GestureDetector::GetAttachedActor(size_t index) const
69 {
70   return GetImplementation(*this).GetAttachedActor(index);
71 }
72
73 } // namespace Dali