Merge "Text Selection Popup to use bounding box and table views" into tizen
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / atlas-manager / atlas-manager.cpp
1 /*
2  * Copyright (c) 2015 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 // CLASS HEADER
18 #include <dali-toolkit/internal/atlas-manager/atlas-manager.h>
19
20  // INTERNAL INCLUDES
21 #include <dali-toolkit/internal/atlas-manager/atlas-manager-impl.h>
22
23 namespace Dali
24 {
25
26 namespace Toolkit
27 {
28
29 AtlasManager::AtlasManager()
30 {
31 }
32
33 AtlasManager::~AtlasManager()
34 {
35 }
36
37 AtlasManager AtlasManager::New()
38 {
39   Internal::AtlasManagerPtr internal = Internal::AtlasManager::New();
40   return AtlasManager(internal.Get());
41 }
42
43 AtlasManager::AtlasManager(Internal::AtlasManager *impl)
44   : BaseHandle(impl)
45 {
46 }
47
48 AtlasManager::AtlasId AtlasManager::CreateAtlas( const AtlasManager::AtlasSize& size, Pixel::Format pixelformat )
49 {
50   return GetImplementation(*this).CreateAtlas( size, pixelformat );
51 }
52
53 void AtlasManager::SetAddPolicy( AddFailPolicy policy )
54 {
55   GetImplementation(*this).SetAddPolicy( policy );
56 }
57
58 void AtlasManager::Add( const BufferImage& image,
59                         AtlasManager::AtlasSlot& slot,
60                         AtlasManager::AtlasId atlas )
61 {
62   GetImplementation(*this).Add( image, slot, atlas );
63 }
64
65 bool AtlasManager::Remove( ImageId id )
66 {
67   return GetImplementation(*this).Remove( id );
68 }
69
70 void AtlasManager::GenerateMeshData( ImageId id,
71                                      const Vector2& position,
72                                      MeshData& meshData)
73 {
74   GetImplementation(*this).GenerateMeshData( id,
75                                              position,
76                                              meshData );
77 }
78
79 void AtlasManager::StitchMesh( MeshData& first,
80                                const MeshData& second,
81                                bool optimize )
82 {
83   GetImplementation(*this).StitchMesh( first, second, optimize );
84 }
85
86 void AtlasManager::StitchMesh( const MeshData& first,
87                                const MeshData& second,
88                                MeshData& out,
89                                bool optimize )
90 {
91   GetImplementation(*this).StitchMesh( first, second, out, optimize );
92 }
93
94 Dali::Atlas AtlasManager::GetAtlasContainer( AtlasId atlas ) const
95 {
96   return GetImplementation(*this).GetAtlasContainer( atlas );
97 }
98
99 AtlasManager::AtlasId AtlasManager::GetAtlas( ImageId id )
100 {
101   return GetImplementation(*this).GetAtlas( id );
102 }
103
104 const AtlasManager::AtlasSize& AtlasManager::GetAtlasSize( AtlasId atlas )
105 {
106   return GetImplementation(*this).GetAtlasSize( atlas );
107 }
108
109 AtlasManager::SizeType AtlasManager::GetFreeBlocks( AtlasId atlas )
110 {
111   return GetImplementation(*this).GetFreeBlocks( atlas );
112 }
113
114 void AtlasManager::SetNewAtlasSize( const AtlasSize& size )
115 {
116   GetImplementation(*this).SetNewAtlasSize( size );
117 }
118
119 AtlasManager::SizeType AtlasManager::GetAtlasCount() const
120 {
121   return GetImplementation(*this).GetAtlasCount();
122 }
123
124 Pixel::Format AtlasManager::GetPixelFormat( AtlasId atlas )
125 {
126   return GetImplementation(*this).GetPixelFormat( atlas );
127 }
128
129 void AtlasManager::GetMetrics( Metrics& metrics )
130 {
131   return GetImplementation(*this).GetMetrics( metrics );
132 }
133
134 } // namespace Toolkit
135
136 } // namespace Dali