1 #ifndef __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_IMPL_H__
2 #define __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_IMPL_H__
5 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
7 // Licensed under the Flora License, Version 1.0 (the License);
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
11 // http://floralicense.org/license/
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an AS IS BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
20 #include <dali/dali.h>
21 #include "relayout-controller.h"
32 class RelayoutController;
35 * @copydoc Toolkit::Internal::RelayoutController
37 class RelayoutControllerImpl : public Dali::BaseObject, public ConnectionTracker
43 * We should only create a unique instance.
45 RelayoutControllerImpl();
51 virtual ~RelayoutControllerImpl();
54 * Request for relayout.
61 * Relayouts controls inside actor tree from bottom to top.
66 * Resets the relayout controller.
71 * Disconnect the Relayout() method from the Stage::EventProcessingFinishedSignal().
76 RelayoutControllerImpl(const RelayoutControllerImpl&);
77 RelayoutControllerImpl& operator=(const RelayoutControllerImpl&);
81 bool mRelayoutConnection:1; ///< Whether EventProcessingFinishedSignal signal is connected.
84 } // namespace Internal
87 inline Internal::RelayoutControllerImpl& GetImpl(Dali::Toolkit::Internal::RelayoutController& obj)
89 DALI_ASSERT_ALWAYS(obj);
91 Dali::BaseObject& handle = obj.GetBaseObject();
93 return static_cast<Internal::RelayoutControllerImpl&>(handle);
96 inline const Internal::RelayoutControllerImpl& GetImpl(const Dali::Toolkit::Internal::RelayoutController& obj)
98 DALI_ASSERT_ALWAYS(obj);
100 const Dali::BaseObject& handle = obj.GetBaseObject();
102 return static_cast<const Internal::RelayoutControllerImpl&>(handle);
105 } // namespace Toolkit
109 #endif // __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_IMPL_H__