Merge remote-tracking branch 'origin/tizen' into new_text
[platform/core/uifw/dali-demo.git] / examples / text-label-emojis / vertical-layout-impl.h
1 #ifndef __DALI_DEMO_VERTICAL_LAYOUT_IMPL_H__
2 #define __DALI_DEMO_VERTICAL_LAYOUT_IMPL_H__
3
4 /*
5  * Copyright (c) 2015 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
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
21 // INTERNAL INCLUDES
22 #include "vertical-layout.h"
23
24 namespace Dali
25 {
26
27 namespace Toolkit
28 {
29
30 namespace Internal
31 {
32
33 class VerticalLayout : public Control
34 {
35 public:
36   /**
37    * @copydoc Dali::Toollkit::TextLabel::New()
38    */
39   static Toolkit::VerticalLayout New();
40
41   VerticalLayout();
42
43   virtual ~VerticalLayout();
44
45   /**
46    * @copydoc Control::OnInitialize()
47    */
48   virtual void OnInitialize();
49
50   // Size negotiation methods inherited from Internal::Control
51
52   /**
53    * @copydoc Control::GetNaturalSize()
54    */
55   virtual Vector3 GetNaturalSize();
56
57   /**
58    * @copydoc Control::GetHeightForWidth()
59    */
60   virtual float GetHeightForWidth( float width );
61
62   /**
63    * @copydoc Control::GetWidthForHeight()
64    */
65   virtual float GetWidthForHeight( float height );
66
67   /**
68    * @copydoc Control::OnFontChange()
69    */
70   virtual void OnFontChange( bool defaultFontChange, bool defaultFontSizeChange );
71
72   /**
73    * @copydoc Control::OnRelayout()
74    */
75   virtual void OnRelayout( const Vector2& size, ActorSizeContainer& container );
76
77   void AddLabel( Toolkit::TextLabel label );
78
79 private:
80   // Undefined copy constructor and assignment operators
81   VerticalLayout(const VerticalLayout&);
82   VerticalLayout& operator=(const VerticalLayout& rhs);
83 };
84
85 } // namespace Internal
86
87 } // namespace Toolkit
88
89 } // namespace Dali
90
91 #endif // __DALI_DEMO_VERTICAL_LAYOUT_IMPL_H__