[dali_2.3.21] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / transition / slide-transition.cpp
1 /*
2  * Copyright (c) 2021 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-toolkit/public-api/transition/slide-transition.h>
20
21 // INTERNAL INCLUDES
22 #include <dali-toolkit/internal/transition/slide-transition-impl.h>
23
24 namespace Dali
25 {
26 namespace Toolkit
27 {
28 SlideTransition::SlideTransition() = default;
29
30 SlideTransition::SlideTransition(Internal::SlideTransition* slideTransition)
31 : TransitionBase(slideTransition)
32 {
33 }
34
35 SlideTransition SlideTransition::New(Dali::Toolkit::Control control, const Vector2& direction, TimePeriod timePeriod)
36 {
37   Internal::SlideTransitionPtr internal = Dali::Toolkit::Internal::SlideTransition::New(control, direction, timePeriod);
38
39   return SlideTransition(internal.Get());
40 }
41
42 SlideTransition SlideTransition::DownCast(BaseHandle handle)
43 {
44   return SlideTransition(dynamic_cast<Dali::Toolkit::Internal::SlideTransition*>(handle.GetObjectPtr()));
45 }
46
47 SlideTransition::~SlideTransition() = default;
48
49 SlideTransition::SlideTransition(const SlideTransition& handle) = default;
50
51 SlideTransition& SlideTransition::operator=(const SlideTransition& rhs) = default;
52
53 SlideTransition::SlideTransition(SlideTransition&& rhs) = default;
54
55 SlideTransition& SlideTransition::operator=(SlideTransition&& rhs) = default;
56
57 void SlideTransition::SetDirection(const Vector2& direction)
58 {
59   GetImplementation(*this).SetDirection(direction);
60 }
61
62 Vector2 SlideTransition::GetDirection() const
63 {
64   return GetImplementation(*this).GetDirection();
65 }
66
67 } // namespace Toolkit
68
69 } // namespace Dali