Corrects the position.
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / rendering / atlas / atlas-glyph-manager-impl.h
old mode 100644 (file)
new mode 100755 (executable)
index 9fe8ead..e78b095
@@ -1,9 +1,8 @@
-
-#ifndef __DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_IMPL_H__
-#define __DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_IMPL_H__
+#ifndef DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_IMPL_H
+#define DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_IMPL_H
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -54,6 +53,9 @@ public:
     Text::GlyphIndex mIndex;
     uint32_t mImageId;
     int32_t mCount;
+    uint16_t mOutlineWidth;
+    bool isItalic:1;
+    bool isBold:1;
   };
 
   struct FontGlyphRecord
@@ -62,21 +64,17 @@ 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 Toolkit::AtlasGlyphManager::GlyphStyle& style,
+            const PixelData& bitmap,
             Dali::Toolkit::AtlasManager::AtlasSlot& slot );
 
   /**
@@ -87,17 +85,12 @@ public:
                          Toolkit::AtlasManager::Mesh2D& mesh );
 
   /**
-   * @copydoc Toolkit::AtlasGlyphManager::StitchMesh
-   */
-  void StitchMesh( Toolkit::AtlasManager::Mesh2D& first,
-                   const Toolkit::AtlasManager::Mesh2D& second );
-
-  /**
-   * @copydoc Toolkit::AtlasGlyphManager::Cached
+   * @copydoc Toolkit::AtlasGlyphManager::IsCached
    */
-  bool Cached( Text::FontId fontId,
-               Text::GlyphIndex index,
-               Dali::Toolkit::AtlasManager::AtlasSlot& slot );
+  bool IsCached( Text::FontId fontId,
+                 Text::GlyphIndex index,
+                 const Toolkit::AtlasGlyphManager::GlyphStyle& style,
+                 Dali::Toolkit::AtlasManager::AtlasSlot& slot );
 
   /**
    * @copydoc Toolkit::AtlasGlyphManager::GetAtlasSize
@@ -117,46 +110,31 @@ public:
   /**
    * @copydoc toolkit::AtlasGlyphManager::AdjustReferenceCount
    */
-  void AdjustReferenceCount( Text::FontId fontId, uint32_t imageId, int32_t delta );
+  void AdjustReferenceCount( Text::FontId fontId, Text::GlyphIndex index, const Toolkit::AtlasGlyphManager::GlyphStyle& style, int32_t delta );
 
   /**
-   * @copydoc Toolkit::AtlasGlyphManager::GetMaterial
+   * @copydoc Toolkit::AtlasGlyphManager::GetTextures
    */
-  Material GetMaterial( uint32_t atlasId ) const;
-
-  /**
-   * @copydoc Toolkit::AtlasGlyphManager::GetMaterial
-   */
-  Sampler GetSampler( uint32_t atlasId ) const;
+  TextureSet GetTextures( uint32_t atlasId ) const;
 
   /**
    * @copydoc Toolkit::AtlasGlyphManager::GetMetrics
    */
   const Toolkit::AtlasGlyphManager::Metrics& GetMetrics();
 
-  /**
-   * @copydoc Toolkit::AtlasGlyphManager::GetEffectBufferShader
-   */
-  Shader GetEffectBufferShader() const
-  {
-    return mEffectBufferShader;
-  }
+protected:
 
   /**
-   * @copydoc Toolkit::AtlasGlyphManager::GetGlyphShadowShader
+   * A reference counted object may only be deleted by calling Unreference()
    */
-  Shader GetGlyphShadowShader() const
-  {
-    return mShadowShader;
-  }
+  virtual ~AtlasGlyphManager();
 
 private:
 
   Dali::Toolkit::AtlasManager mAtlasManager;          ///> Atlas Manager created by GlyphManager
   std::vector< FontGlyphRecord > mFontGlyphRecords;
   Toolkit::AtlasGlyphManager::Metrics mMetrics;       ///> Metrics to pass back on GlyphManager status
-  Shader mEffectBufferShader;                         ///> Shader used to render drop shadow buffer textures
-  Shader mShadowShader;                               ///> Shader used to render drop shadow into buffer
+  Sampler mSampler;
 };
 
 } // namespace Internal
@@ -183,5 +161,4 @@ inline Internal::AtlasGlyphManager& GetImplementation(Toolkit::AtlasGlyphManager
 
 } // namespace Dali
 
-
- #endif // __DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_IMPL_H__
+#endif // DALI_TOOLKIT_ATLAS_GLYPH_MANAGER_IMPL_H