2 * Copyright (c) 2020 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 #include "control-devel.h"
22 #include <dali/public-api/animation/animation.h>
25 #include <dali-toolkit/devel-api/visual-factory/transition-data.h>
26 #include <dali-toolkit/internal/controls/control/control-data-impl.h>
27 #include <dali-toolkit/public-api/controls/control-impl.h>
33 namespace DevelControl
35 void RegisterVisual(Internal::Control& control, Dali::Property::Index index, Toolkit::Visual::Base& visual)
37 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get(control);
38 controlDataImpl.RegisterVisual(index, visual);
41 void RegisterVisual(Internal::Control& control, Dali::Property::Index index, Toolkit::Visual::Base& visual, int depthIndex)
43 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get(control);
44 controlDataImpl.RegisterVisual(index, visual, depthIndex);
47 void RegisterVisual(Internal::Control& control, Dali::Property::Index index, Toolkit::Visual::Base& visual, bool enabled)
49 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get(control);
50 controlDataImpl.RegisterVisual(index, visual, enabled);
53 void RegisterVisual(Internal::Control& control, Dali::Property::Index index, Toolkit::Visual::Base& visual, bool enabled, int depthIndex)
55 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get(control);
56 controlDataImpl.RegisterVisual(index, visual, enabled, depthIndex);
59 void UnregisterVisual(Internal::Control& control, Dali::Property::Index index)
61 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get(control);
62 controlDataImpl.UnregisterVisual(index);
65 Toolkit::Visual::Base GetVisual(const Internal::Control& control, Dali::Property::Index index)
67 const Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get(control);
68 return controlDataImpl.GetVisual(index);
71 void EnableVisual(Internal::Control& control, Dali::Property::Index index, bool enable)
73 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get(control);
74 controlDataImpl.EnableVisual(index, enable);
77 bool IsVisualEnabled(const Internal::Control& control, Dali::Property::Index index)
79 const Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get(control);
80 return controlDataImpl.IsVisualEnabled(index);
83 Dali::Animation CreateTransition(Internal::Control& control, const Toolkit::TransitionData& handle)
85 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get(control);
86 return controlDataImpl.CreateTransition(handle);
89 void AddTransitions(Internal::Control& control,
90 Dali::Animation animation,
91 const Toolkit::TransitionData& transitionData)
93 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get(control);
94 controlDataImpl.AddTransitions(animation, transitionData);
97 void DoAction(Control& control, Dali::Property::Index visualIndex, Dali::Property::Index actionId, const Dali::Property::Value attributes)
99 Internal::Control& controlInternal = Toolkit::Internal::GetImplementation(control);
100 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get(controlInternal);
101 controlDataImpl.DoAction(visualIndex, actionId, attributes);
104 void SetInputMethodContext(Internal::Control& control, InputMethodContext& inputMethodContext)
106 Internal::Control::Impl::Get(control).SetInputMethodContext(inputMethodContext);
109 VisualEventSignalType& VisualEventSignal(Control control)
111 Internal::Control& internalControl = Toolkit::Internal::GetImplementation(control);
112 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get(internalControl);
113 return controlDataImpl.VisualEventSignal();
116 } // namespace DevelControl
118 } // namespace Toolkit