Further Setter/Getter public API removal from Dali::Actor
[platform/core/uifw/dali-core.git] / dali / public-api / actors / actor.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/actors/actor.h>
20
21 // INTERNAL INCLUDES
22 #include <dali/public-api/actors/layer.h>
23 #include <dali/public-api/animation/constraint.h>
24 #include <dali/public-api/common/dali-common.h>
25 #include <dali/public-api/math/radian.h>
26 #include <dali/public-api/math/vector2.h>
27
28 #include <dali/internal/event/actors/actor-impl.h>
29 #include <dali/internal/event/actors/layer-impl.h>
30 #include <dali/internal/event/rendering/renderer-impl.h>
31 #include <dali/internal/event/animation/constraint-impl.h>
32 #include <dali/internal/event/size-negotiation/relayout-controller-impl.h>
33
34 namespace Dali
35 {
36
37 Actor::Actor()
38 {
39 }
40
41 Actor Actor::New()
42 {
43   Internal::ActorPtr internal = Internal::Actor::New();
44
45   return Actor(internal.Get());
46 }
47
48 Actor Actor::DownCast( BaseHandle handle )
49 {
50   return Actor( dynamic_cast<Dali::Internal::Actor*>(handle.GetObjectPtr()) );
51 }
52
53 Actor::~Actor()
54 {
55 }
56
57 Actor::Actor(const Actor& copy)
58 : Handle(copy)
59 {
60 }
61
62 Actor& Actor::operator=(const Actor& rhs)
63 {
64   BaseHandle::operator=(rhs);
65   return *this;
66 }
67
68 uint32_t Actor::GetId() const
69 {
70   return GetImplementation(*this).GetId();
71 }
72
73 bool Actor::IsRoot() const
74 {
75   return GetImplementation(*this).IsRoot();
76 }
77
78 bool Actor::OnStage() const
79 {
80   return GetImplementation(*this).OnStage();
81 }
82
83 bool Actor::IsLayer() const
84 {
85   return GetImplementation(*this).IsLayer();
86 }
87
88 Layer Actor::GetLayer()
89 {
90   return GetImplementation(*this).GetLayer();
91 }
92
93 void Actor::Add(Actor actor)
94 {
95   GetImplementation(*this).Add(GetImplementation(actor));
96 }
97
98 void Actor::Remove(Actor actor)
99 {
100   GetImplementation(*this).Remove(GetImplementation(actor));
101 }
102
103 void Actor::Unparent()
104 {
105   GetImplementation(*this).Unparent();
106 }
107
108 uint32_t Actor::GetChildCount() const
109 {
110   return GetImplementation(*this).GetChildCount();
111 }
112
113 Actor Actor::GetChildAt( uint32_t index ) const
114 {
115   Internal::ActorPtr child = GetImplementation(*this).GetChildAt( index );
116   return Actor( child.Get() );
117 }
118
119 Actor Actor::FindChildByName(const std::string& actorName)
120 {
121   Internal::ActorPtr child = GetImplementation(*this).FindChildByName( actorName );
122   return Actor( child.Get() );
123 }
124
125 Actor Actor::FindChildById( const uint32_t id )
126 {
127   Internal::ActorPtr child = GetImplementation(*this).FindChildById( id );
128   return Actor( child.Get() );
129 }
130
131 Actor Actor::GetParent() const
132 {
133   Internal::Actor* parent = GetImplementation(*this).GetParent();
134
135   return Actor(parent);
136 }
137
138 Vector3 Actor::GetTargetSize() const
139 {
140   return GetImplementation(*this).GetTargetSize();
141 }
142
143 Vector3 Actor::GetNaturalSize() const
144 {
145   return GetImplementation(*this).GetNaturalSize();
146 }
147
148 void Actor::TranslateBy(const Vector3& distance)
149 {
150   GetImplementation(*this).TranslateBy(distance);
151 }
152
153 void Actor::RotateBy(const Radian& angle, const Vector3& axis)
154 {
155   GetImplementation(*this).RotateBy(angle, axis);
156 }
157
158 void Actor::RotateBy(const Quaternion& relativeRotation)
159 {
160   GetImplementation(*this).RotateBy(relativeRotation);
161 }
162
163 void Actor::ScaleBy(const Vector3& relativeScale)
164 {
165   GetImplementation(*this).ScaleBy(relativeScale);
166 }
167
168 bool Actor::ScreenToLocal(float& localX, float& localY, float screenX, float screenY) const
169 {
170   return GetImplementation(*this).ScreenToLocal(localX, localY, screenX, screenY);
171 }
172
173 void Actor::SetKeyboardFocusable( bool focusable )
174 {
175   GetImplementation(*this).SetKeyboardFocusable(focusable);
176 }
177
178 bool Actor::IsKeyboardFocusable() const
179 {
180   return GetImplementation(*this).IsKeyboardFocusable();
181 }
182
183 void Actor::Raise()
184 {
185   GetImplementation( *this ).Raise();
186 }
187
188 void Actor::Lower()
189 {
190   GetImplementation( *this ).Lower();
191 }
192
193 void Actor::RaiseToTop()
194 {
195   GetImplementation( *this ).RaiseToTop();
196 }
197
198 void Actor::LowerToBottom()
199 {
200   GetImplementation( *this ).LowerToBottom();
201 }
202
203 void Actor::RaiseAbove( Actor target )
204 {
205   GetImplementation( *this ).RaiseAbove( GetImplementation( target ) );
206 }
207
208 void Actor::LowerBelow( Actor target )
209 {
210   GetImplementation( *this ).LowerBelow( GetImplementation( target ) );
211 }
212
213 void Actor::SetResizePolicy( ResizePolicy::Type policy, Dimension::Type dimension )
214 {
215   GetImplementation(*this).SetResizePolicy( policy, dimension );
216 }
217
218 ResizePolicy::Type Actor::GetResizePolicy( Dimension::Type dimension ) const
219 {
220   return GetImplementation(*this).GetResizePolicy( dimension );
221 }
222
223 float Actor::GetHeightForWidth( float width )
224 {
225   return GetImplementation(*this).GetHeightForWidth( width );
226 }
227
228 float Actor::GetWidthForHeight( float height )
229 {
230   return GetImplementation(*this).GetWidthForHeight( height );
231 }
232
233 float Actor::GetRelayoutSize( Dimension::Type dimension ) const
234 {
235   return GetImplementation(*this).GetRelayoutSize( dimension );
236 }
237
238 int32_t Actor::GetHierarchyDepth()
239 {
240   return GetImplementation(*this).GetHierarchyDepth();
241 }
242
243 Actor::TouchSignalType& Actor::TouchedSignal()
244 {
245   DALI_LOG_WARNING_NOFN("DEPRECATION WARNING: TouchedSignal() is deprecated and will be removed from next release. Use TouchSignal() instead.\n" );
246
247   return GetImplementation(*this).TouchedSignal();
248 }
249
250 Actor::TouchDataSignalType& Actor::TouchSignal()
251 {
252   return GetImplementation( *this ).TouchSignal();
253 }
254
255 Actor::HoverSignalType& Actor::HoveredSignal()
256 {
257   return GetImplementation(*this).HoveredSignal();
258 }
259
260 Actor::WheelEventSignalType& Actor::WheelEventSignal()
261 {
262   return GetImplementation(*this).WheelEventSignal();
263 }
264
265 Actor::OnStageSignalType& Actor::OnStageSignal()
266 {
267   return GetImplementation(*this).OnStageSignal();
268 }
269
270 Actor::OffStageSignalType& Actor::OffStageSignal()
271 {
272   return GetImplementation(*this).OffStageSignal();
273 }
274
275 uint32_t Actor::AddRenderer( Renderer& renderer )
276 {
277   return GetImplementation(*this).AddRenderer( GetImplementation( renderer ) );
278 }
279
280 uint32_t Actor::GetRendererCount() const
281 {
282   return GetImplementation(*this).GetRendererCount();
283 }
284
285 Renderer Actor::GetRendererAt( uint32_t index )
286 {
287   Internal::RendererPtr renderer = GetImplementation(*this).GetRendererAt( index );
288   return Renderer( renderer.Get() );
289 }
290
291 void Actor::RemoveRenderer( Renderer& renderer )
292 {
293   GetImplementation(*this).RemoveRenderer( GetImplementation( renderer ) );
294 }
295
296 void Actor::RemoveRenderer( uint32_t index )
297 {
298   GetImplementation(*this).RemoveRenderer( index );
299 }
300
301 Actor::OnRelayoutSignalType& Actor::OnRelayoutSignal()
302 {
303   return GetImplementation(*this).OnRelayoutSignal();
304 }
305
306 Actor::LayoutDirectionChangedSignalType& Actor::LayoutDirectionChangedSignal()
307 {
308   return GetImplementation( *this ).LayoutDirectionChangedSignal();
309 }
310
311 Actor::Actor(Internal::Actor* internal)
312 : Handle(internal)
313 {
314 }
315
316 } // namespace Dali