2 * Copyright (c) 2019 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/internal/controls/control/control-data-impl.h>
26 #include <dali-toolkit/public-api/controls/control-impl.h>
27 #include <dali-toolkit/devel-api/visual-factory/transition-data.h>
35 namespace DevelControl
38 void RegisterVisual( Internal::Control& control, Dali::Property::Index index, Toolkit::Visual::Base& visual )
40 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
41 controlDataImpl.RegisterVisual( index, visual );
44 void RegisterVisual( Internal::Control& control, Dali::Property::Index index, Toolkit::Visual::Base& visual, int depthIndex )
46 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
47 controlDataImpl.RegisterVisual( index, visual, depthIndex );
50 void RegisterVisual( Internal::Control& control, Dali::Property::Index index, Toolkit::Visual::Base& visual, bool enabled )
52 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
53 controlDataImpl.RegisterVisual( index, visual, enabled );
56 void RegisterVisual( Internal::Control& control, Dali::Property::Index index, Toolkit::Visual::Base& visual, bool enabled, int depthIndex )
58 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
59 controlDataImpl.RegisterVisual( index, visual, enabled, depthIndex );
62 void UnregisterVisual( Internal::Control& control, Dali::Property::Index index )
64 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
65 controlDataImpl.UnregisterVisual( index );
68 Toolkit::Visual::Base GetVisual( const Internal::Control& control, Dali::Property::Index index )
70 const Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
71 return controlDataImpl.GetVisual( index );
74 void EnableVisual( Internal::Control& control, Dali::Property::Index index, bool enable )
76 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
77 controlDataImpl.EnableVisual( index, enable );
80 bool IsVisualEnabled( const Internal::Control& control, Dali::Property::Index index )
82 const Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
83 return controlDataImpl.IsVisualEnabled( index );
86 Dali::Animation CreateTransition( Internal::Control& control, const Toolkit::TransitionData& handle )
88 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
89 return controlDataImpl.CreateTransition( handle );
93 void AddTransitions( Internal::Control& control,
94 Dali::Animation animation,
95 const Toolkit::TransitionData& transitionData )
97 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
98 controlDataImpl.AddTransitions( animation, transitionData );
101 void DoAction( Control& control, Dali::Property::Index visualIndex, Dali::Property::Index actionId, const Dali::Property::Value attributes )
103 Internal::Control& controlInternal = Toolkit::Internal::GetImplementation( control );
104 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( controlInternal );
105 controlDataImpl.DoAction( visualIndex, actionId, attributes );
108 void SetInputMethodContext( Internal::Control& control, InputMethodContext& inputMethodContext )
110 Internal::Control::Impl::Get( control ).SetInputMethodContext( inputMethodContext );
113 VisualEventSignalType& VisualEventSignal( Control control )
115 Internal::Control& internalControl = Toolkit::Internal::GetImplementation( control );
116 Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( internalControl );
117 return controlDataImpl.VisualEventSignal();
120 } // namespace DevelControl
122 } // namespace Toolkit