Revert "License conversion from Flora to Apache 2.0"
[platform/core/uifw/dali-toolkit.git] / base / dali-toolkit / internal / controls / relayout-controller.h
1 #ifndef __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_H__
2 #define __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_H__
3
4 //
5 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
6 //
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
10 //
11 //     http://floralicense.org/license/
12 //
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.
18 //
19
20 #include <dali/dali.h>
21
22 namespace Dali
23 {
24
25 namespace Toolkit
26 {
27
28 namespace Internal
29 {
30
31 class RelayoutControllerImpl;
32
33 /**
34  * RelayoutController
35  * This singleton class provides functionality to trigger relayouting of toolkit controls in the dali scene graph.
36  */
37 class RelayoutController : public Dali::BaseHandle
38 {
39 public:
40
41   /**
42    * Constructor.
43    * We should only create a unique instance.
44    */
45   RelayoutController();
46
47   /**
48    * Virtual destructor.
49    */
50   virtual ~RelayoutController();
51
52   /**
53    * Get the singleton of RelayoutController object.
54    * @return A handle to the RelayoutController.
55    */
56   static RelayoutController Get();
57
58   /**
59    * Request to relayout.
60    */
61   void Request();
62
63 private:
64
65   RelayoutController(Internal::RelayoutControllerImpl *impl);
66 };
67
68 } // namespace Internal
69
70 } // namespace Toolkit
71
72 } // namespace Dali
73
74 #endif // __DALI_TOOLKIT_INTERNAL_RELAYOUT_CONTROLLER_H__