Fix for Text Rendering Artefacts
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / rendering / atlas / atlas-glyph-manager-impl.cpp
index 001281e..734b82a 100644 (file)
@@ -108,10 +108,20 @@ void AtlasGlyphManager::Cached( Text::FontId fontId,
   slot.mImageId = 0;
 }
 
-void AtlasGlyphManager::SetAtlasSize( const Vector2& size,
-                                      const Vector2& blockSize )
+Vector2 AtlasGlyphManager::GetAtlasSize( uint32_t atlasId )
 {
-    mAtlasManager.SetAtlasSize( size, blockSize );
+  Toolkit::AtlasManager::AtlasSize size = mAtlasManager.GetAtlasSize( atlasId );
+  return Vector2( static_cast< float >( size.mWidth ), static_cast< float >( size.mHeight ) );
+}
+
+void AtlasGlyphManager::SetNewAtlasSize( uint32_t width, uint32_t height, uint32_t blockWidth, uint32_t blockHeight )
+{
+  Toolkit::AtlasManager::AtlasSize size;
+  size.mWidth = width;
+  size.mHeight = height;
+  size.mBlockWidth = blockWidth;
+  size.mBlockHeight = blockHeight;
+  mAtlasManager.SetNewAtlasSize( size );
 }
 
 void AtlasGlyphManager::Remove( uint32_t imageId )
@@ -134,6 +144,13 @@ Pixel::Format AtlasGlyphManager::GetPixelFormat( uint32_t atlasId )
   return mAtlasManager.GetPixelFormat( atlasId );
 }
 
+const Toolkit::AtlasGlyphManager::Metrics& AtlasGlyphManager::GetMetrics()
+{
+  mMetrics.mGlyphCount = mGlyphRecords.Size();
+  mAtlasManager.GetMetrics( mMetrics.mAtlasMetrics );
+  return mMetrics;
+}
+
 } // namespace Internal
 
 } // namespace Toolkit