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