Changed Atlas manager to use Dali::Texture instead of Dali::Atlas
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / rendering / atlas / atlas-glyph-manager-impl.h
index 5008106..b72b649 100644 (file)
@@ -1,4 +1,3 @@
-
 #ifndef __DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_IMPL_H__
 #define __DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_IMPL_H__
 
@@ -62,21 +61,16 @@ public:
     Vector< GlyphRecordEntry > mGlyphRecords;
   };
 
-  AtlasGlyphManager();
-
-  virtual ~AtlasGlyphManager();
-
-/**
-   * Create a new AtlasGlyphManager
+  /**
+   * @brief Constructor
    */
-  static AtlasGlyphManagerPtr New();
+  AtlasGlyphManager();
 
   /**
    * @copydoc Toolkit::AtlasGlyphManager::Add
    */
-  void Add( Text::FontId fontId,
-            const Text::GlyphInfo& glyph,
-            const BufferImage& bitmap,
+  void Add( const Text::GlyphInfo& glyph,
+            const PixelData& bitmap,
             Dali::Toolkit::AtlasManager::AtlasSlot& slot );
 
   /**
@@ -84,20 +78,14 @@ public:
    */
   void GenerateMeshData( uint32_t imageId,
                          const Vector2& position,
-                         MeshData& meshData );
+                         Toolkit::AtlasManager::Mesh2D& mesh );
 
   /**
-   * @copydoc Toolkit::AtlasGlyphManager::StitchMesh
+   * @copydoc Toolkit::AtlasGlyphManager::IsCached
    */
-  void StitchMesh( MeshData& first,
-                   const MeshData& second );
-
-  /**
-   * @copydoc Toolkit::AtlasGlyphManager::Cached
-   */
-  bool Cached( Text::FontId fontId,
-               Text::GlyphIndex index,
-               Dali::Toolkit::AtlasManager::AtlasSlot& slot );
+  bool IsCached( Text::FontId fontId,
+                 Text::GlyphIndex index,
+                 Dali::Toolkit::AtlasManager::AtlasSlot& slot );
 
   /**
    * @copydoc Toolkit::AtlasGlyphManager::GetAtlasSize
@@ -110,26 +98,45 @@ public:
   void SetNewAtlasSize( uint32_t width, uint32_t height, uint32_t blockWidth, uint32_t blockHeight );
 
   /**
-   * @copydoc toolkit::AtlasGlyphManager::GetPixelFormat
+   * @copydoc Toolkit::AtlasGlyphManager::GetPixelFormat
    */
   Pixel::Format GetPixelFormat( uint32_t atlasId );
 
   /**
-   * @copydoc toolkit::AtlasGlyphManager::GetMetrics
+   * @copydoc toolkit::AtlasGlyphManager::AdjustReferenceCount
+   */
+  void AdjustReferenceCount( Text::FontId fontId, Text::GlyphIndex index, int32_t delta );
+
+  /**
+   * @copydoc Toolkit::AtlasGlyphManager::GetTextures
+   */
+  TextureSet GetTextures( uint32_t atlasId ) const;
+
+  /**
+   * @copydoc Toolkit::AtlasGlyphManager::GetShader
+   */
+  Shader GetShader( uint32_t atlasId ) const;
+
+  /**
+   * @copydoc Toolkit::AtlasGlyphManager::GetMetrics
    */
   const Toolkit::AtlasGlyphManager::Metrics& GetMetrics();
 
+protected:
+
   /**
-   * @copydoc toolkit::AtlasGlyphManager::AdjustReferenceCount
+   * A reference counted object may only be deleted by calling Unreference()
    */
-  void AdjustReferenceCount( Text::FontId fontId, uint32_t imageId, int32_t delta );
+  virtual ~AtlasGlyphManager();
 
 private:
 
-  Dali::Toolkit::AtlasManager mAtlasManager;
+  Dali::Toolkit::AtlasManager mAtlasManager;          ///> Atlas Manager created by GlyphManager
   std::vector< FontGlyphRecord > mFontGlyphRecords;
-  uint32_t mCount;
-  Toolkit::AtlasGlyphManager::Metrics mMetrics;
+  Toolkit::AtlasGlyphManager::Metrics mMetrics;       ///> Metrics to pass back on GlyphManager status
+
+  Shader mShaderL8;
+  Shader mShaderRgba;
 };
 
 } // namespace Internal
@@ -156,5 +163,4 @@ inline Internal::AtlasGlyphManager& GetImplementation(Toolkit::AtlasGlyphManager
 
 } // namespace Dali
 
-
- #endif // __DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_IMPL_H__
\ No newline at end of file
+#endif // __DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_IMPL_H__