2 * Copyright (c) 2015 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 #include <dali-toolkit/internal/atlas-manager/atlas-manager.h>
21 #include <dali-toolkit/internal/atlas-manager/atlas-manager-impl.h>
29 AtlasManager::AtlasManager()
33 AtlasManager::~AtlasManager()
37 AtlasManager AtlasManager::New()
39 Internal::AtlasManagerPtr internal = Internal::AtlasManager::New();
40 return AtlasManager(internal.Get());
43 AtlasManager::AtlasManager(Internal::AtlasManager *impl)
48 AtlasManager::AtlasId AtlasManager::CreateAtlas( const AtlasManager::AtlasSize& size, Pixel::Format pixelformat )
50 return GetImplementation(*this).CreateAtlas( size, pixelformat );
53 void AtlasManager::SetAddPolicy( AddFailPolicy policy )
55 GetImplementation(*this).SetAddPolicy( policy );
58 void AtlasManager::Add( const BufferImage& image,
59 AtlasManager::AtlasSlot& slot,
60 AtlasManager::AtlasId atlas )
62 GetImplementation(*this).Add( image, slot, atlas );
65 bool AtlasManager::Remove( ImageId id )
67 return GetImplementation(*this).Remove( id );
70 void AtlasManager::GenerateMeshData( ImageId id,
71 const Vector2& position,
74 GetImplementation(*this).GenerateMeshData( id,
79 void AtlasManager::StitchMesh( MeshData& first,
80 const MeshData& second,
83 GetImplementation(*this).StitchMesh( first, second, optimize );
86 void AtlasManager::StitchMesh( const MeshData& first,
87 const MeshData& second,
91 GetImplementation(*this).StitchMesh( first, second, out, optimize );
94 Dali::Atlas AtlasManager::GetAtlasContainer( AtlasId atlas ) const
96 return GetImplementation(*this).GetAtlasContainer( atlas );
99 AtlasManager::AtlasId AtlasManager::GetAtlas( ImageId id )
101 return GetImplementation(*this).GetAtlas( id );
104 const AtlasManager::AtlasSize& AtlasManager::GetAtlasSize( AtlasId atlas )
106 return GetImplementation(*this).GetAtlasSize( atlas );
109 AtlasManager::SizeType AtlasManager::GetFreeBlocks( AtlasId atlas )
111 return GetImplementation(*this).GetFreeBlocks( atlas );
114 void AtlasManager::SetNewAtlasSize( const AtlasSize& size )
116 GetImplementation(*this).SetNewAtlasSize( size );
119 AtlasManager::SizeType AtlasManager::GetAtlasCount() const
121 return GetImplementation(*this).GetAtlasCount();
124 Pixel::Format AtlasManager::GetPixelFormat( AtlasId atlas )
126 return GetImplementation(*this).GetPixelFormat( atlas );
129 void AtlasManager::GetMetrics( Metrics& metrics )
131 return GetImplementation(*this).GetMetrics( metrics );
134 } // namespace Toolkit