[3.0] Resource ready signal for Controls (for ImageLoading)
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / controls / control-devel.cpp
1 /*
2  * Copyright (c) 2017 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 "control-devel.h"
20
21
22 // INTERNAL INCLUDES
23 #include <dali-toolkit/internal/controls/control/control-data-impl.h>
24 #include <dali-toolkit/public-api/controls/control-impl.h>
25
26 namespace Dali
27 {
28
29 namespace Toolkit
30 {
31
32 namespace DevelControl
33 {
34
35 ResourceReadySignalType&  ResourceReadySignal( Control& control )
36 {
37   Internal::Control& internalControl = Toolkit::Internal::GetImplementation(control);
38   Internal::Control::Impl& controlImpl = Internal::Control::Impl::Get( internalControl );
39
40   return controlImpl.mResourceReadySignal;
41 }
42
43 bool IsResourceReady( const Control& control )
44 {
45   const Internal::Control& internalControl = Toolkit::Internal::GetImplementation(control);
46   const Internal::Control::Impl& controlImpl = Internal::Control::Impl::Get( internalControl );
47
48   return controlImpl.IsResourceReady();
49 }
50
51 void RegisterVisual( Internal::Control& control, Dali::Property::Index index, Toolkit::Visual::Base& visual )
52 {
53   Internal::Control::Impl& controlImpl = Internal::Control::Impl::Get( control );
54   controlImpl.RegisterVisual( index, visual );
55 }
56
57 void RegisterVisual( Internal::Control& control, Dali::Property::Index index, Toolkit::Visual::Base& visual, bool enabled )
58 {
59   Internal::Control::Impl& controlImpl = Internal::Control::Impl::Get( control );
60   controlImpl.RegisterVisual( index, visual, enabled );
61 }
62
63 void UnregisterVisual( Internal::Control& control, Dali::Property::Index index )
64 {
65   Internal::Control::Impl& controlImpl = Internal::Control::Impl::Get( control );
66   controlImpl.UnregisterVisual( index );
67 }
68
69 } // namespace DevelControl
70
71 } // namespace Toolkit
72
73 } // namespace Dali