Merge "Empty Implementation for INPUT_METHOD_SETTINGS property" into tizen
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / atlas-manager / atlas-manager-impl.h
index 14f6c72..ef078f8 100644 (file)
@@ -60,11 +60,12 @@ public:
   struct AtlasDescriptor
   {
     Dali::Atlas mAtlas;                                                 // atlas image
-    SizeType mWidth;                                                    // width of atlas
-    SizeType mHeight;                                                   // height of atlas
-    SizeType mBlockWidth;                                               // width of a block in atlas
-    SizeType mBlockHeight;                                              // height of a block in atlas
+    Toolkit::AtlasManager::AtlasSize mSize;                             // size of atlas
     Pixel::Format mPixelFormat;                                         // pixel format used by atlas
+    BufferImage mHorizontalStrip;                                       // Image used to pad upload
+    BufferImage mVerticalStrip;                                         // Image used to pad upload
+    BufferImage mFilledPixelImage;                                      // Image used by atlas for operations such as underline
+    PixelBuffer* mStripBuffer;                                          // Blank image buffer used to pad upload
     Material mMaterial;                                                 // material used for atlas texture
     SizeType mNextFreeBlock;                                            // next free block will be placed here ( actually +1 )
     Dali::Vector< SizeType > mFreeBlocksList;                           // unless there are any previously freed blocks
@@ -91,11 +92,7 @@ public:
   /**
    * @copydoc: Toolkit::AtlasManager::CreateAtlas
    */
-  AtlasId CreateAtlas( SizeType width,
-                       SizeType height,
-                       SizeType blockWidth,
-                       SizeType blockHeight,
-                       Pixel::Format pixelformat );
+  AtlasId CreateAtlas( const Toolkit::AtlasManager::AtlasSize& size, Pixel::Format pixelformat );
 
   /**
    * @copydoc Toolkit::AtlasManager::SetAddPolicy
@@ -146,10 +143,14 @@ public:
   AtlasId GetAtlas( ImageId id ) const;
 
   /**
-   * @copydoc Toolkit::AtlasManager::SetAtlasSize
+   * @copydoc Toolkit::AtlasManager::SetNewAtlasSize
+   */
+  void SetNewAtlasSize( const Toolkit::AtlasManager::AtlasSize& size );
+
+  /**
+   * @copydoc Toolkit::AtlasManager::GetAtlasSize
    */
-  void SetAtlasSize( const Vector2& size,
-                     const Vector2& blockSize );
+  const Toolkit::AtlasManager::AtlasSize& GetAtlasSize( AtlasId atlas );
 
   /**
    * @copydoc Toolkit::AtlasManager::GetBlockSize
@@ -171,6 +172,11 @@ public:
    */
   Pixel::Format GetPixelFormat( AtlasId atlas );
 
+  /**
+   * @copydoc Toolkit::AtlasManager::GetMetrics
+   */
+  void GetMetrics( Toolkit::AtlasManager::Metrics& metrics );
+
 private:
 
   std::vector< AtlasDescriptor > mAtlasList;        // List of atlases created
@@ -201,9 +207,9 @@ private:
 
   void PrintMeshData( const MeshData& meshData );
 
-  Vector2 mNewAtlasSize;
-  Vector2 mNewBlockSize;
+  Toolkit::AtlasManager::AtlasSize mNewAtlasSize;
   Toolkit::AtlasManager::AddFailPolicy mAddFailPolicy;
+  uint32_t mFilledPixel;
 };
 
 } // namespace Internal