Keep track of Bitmap data ownership
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / atlas-manager / atlas-manager-impl.h
index 8046f71..b22f709 100644 (file)
@@ -64,11 +64,10 @@ public:
     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
     Sampler mSampler;                                                   // sampler used for atlas texture
-    SizeType mNextFreeBlock;                                            // next free block will be placed here ( actually +1 )
+    SizeType mTotalBlocks;                                              // total number of blocks in atlas
+    SizeType mAvailableBlocks;                                          // number of blocks available in atlas
     Dali::Vector< SizeType > mFreeBlocksList;                           // unless there are any previously freed blocks
   };
 
@@ -112,7 +111,8 @@ public:
    */
   void GenerateMeshData( ImageId id,
                          const Vector2& position,
-                         Toolkit::AtlasManager::Mesh2D& mesh );
+                         Toolkit::AtlasManager::Mesh2D& mesh,
+                         bool addReference );
 
   /**
    * @copydoc Toolkit::AtlasManager::StitchMesh
@@ -191,15 +191,16 @@ public:
 
 private:
 
-  std::vector< AtlasDescriptor > mAtlasList;        // List of atlases created
-  std::vector< AtlasSlotDescriptor > mImageList;  // List of bitmaps store in atlases
+  std::vector< AtlasDescriptor > mAtlasList;            // List of atlases created
+  std::vector< AtlasSlotDescriptor > mImageList;        // List of bitmaps store in atlases
+  Toolkit::AtlasManager::AtlasSize mNewAtlasSize;       // Atlas size to use in next creation
+  Toolkit::AtlasManager::AddFailPolicy mAddFailPolicy;  // Policy for faling to add an Image
 
   SizeType CheckAtlas( SizeType atlas,
                        SizeType width,
                        SizeType height,
                        Pixel::Format pixelFormat,
-                       SizeType& blockArea,
-                       SizeType& totalBlocks );
+                       SizeType& blockArea );
 
   void CreateMesh( SizeType atlas,
                    SizeType imageWidth,
@@ -218,9 +219,9 @@ private:
 
   void PrintMeshData( const Toolkit::AtlasManager::Mesh2D& mesh );
 
-  Toolkit::AtlasManager::AtlasSize mNewAtlasSize;
-  Toolkit::AtlasManager::AddFailPolicy mAddFailPolicy;
-  uint32_t mFilledPixel;
+  Shader mShaderL8;
+  Shader mShaderRgba;
+
 };
 
 } // namespace Internal