Parent of TextLabel does not resize when text changes
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / layouting / layout-item.cpp
1 /*
2  * Copyright (c) 2018 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 #include <dali-toolkit/devel-api/layouting/layout-item.h>
18 #include <dali-toolkit/devel-api/layouting/layout-item-impl.h>
19 #include <dali-toolkit/devel-api/layouting/layout-transition-data.h>
20 #include <dali-toolkit/internal/layouting/layout-transition-data-impl.h>
21
22 namespace Dali
23 {
24 namespace Toolkit
25 {
26
27 LayoutItem::LayoutItem()
28 : BaseHandle()
29 {
30 }
31
32 LayoutItem LayoutItem::New( Handle& handle )
33 {
34   Internal::LayoutItemPtr layout = Internal::LayoutItem::New( handle );
35   return LayoutItem( layout.Get() );
36 }
37
38 LayoutItem::LayoutItem( Internal::LayoutItem* LayoutItem )
39 : BaseHandle( LayoutItem )
40 {
41 }
42
43 Handle LayoutItem::GetOwner() const
44 {
45   return GetImplementation( *this ).GetOwner();
46 }
47
48 void LayoutItem::SetAnimateLayout( bool animateLayout )
49 {
50   GetImplementation( *this ).SetAnimateLayout( animateLayout );
51 }
52
53 bool LayoutItem::IsLayoutAnimated() const
54 {
55   return GetImplementation( *this ).IsLayoutAnimated();
56 }
57
58 void LayoutItem::SetTransitionData( LayoutTransitionData::LayoutTransitionType layoutTransitionType, LayoutTransitionData layoutTransitionData )
59 {
60   Toolkit::Internal::LayoutTransitionDataPtr layoutTransitionDataPtr = Toolkit::Internal::LayoutTransitionDataPtr();
61   if ( layoutTransitionData )
62   {
63     layoutTransitionDataPtr = Toolkit::Internal::LayoutTransitionDataPtr( &Toolkit::GetImplementation( layoutTransitionData ) );
64   }
65   GetImplementation( *this ).SetTransitionData( layoutTransitionType, layoutTransitionDataPtr );
66 }
67
68 LayoutTransitionData LayoutItem::GetTransitionData( LayoutTransitionData::LayoutTransitionType layoutTransitionType ) const
69 {
70   return LayoutTransitionData( GetImplementation( *this ).GetTransitionData( layoutTransitionType ).Get() );
71 }
72
73 } // namespace Toolkit
74
75 } // namespace Dali