Fixed Text Quality Regression
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / atlas-manager / atlas-manager-impl.h
index 8046f71..5111a6b 100644 (file)
@@ -46,7 +46,7 @@ typedef Dali::Vector< Toolkit::AtlasManager::AtlasSlot > slotContainer;
 class AtlasManager;
 typedef IntrusivePtr<AtlasManager> AtlasManagerPtr;
 
-class AtlasManager : public Dali::BaseObject
+class AtlasManager : public Dali::BaseObject, public ConnectionTracker
 {
 public:
 
@@ -68,7 +68,8 @@ public:
     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 +113,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 +193,18 @@ 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
+  Vector< PixelBuffer* > mUploadedImages;               // List of PixelBuffers passed to UploadedSignal
+  Toolkit::AtlasManager::AtlasSize mNewAtlasSize;       // Atlas size to use in next creation
+  Toolkit::AtlasManager::AddFailPolicy mAddFailPolicy;  // Policy for faling to add an Image
+  SizeType mFilledPixel;                                // 32Bit pixel image for underlining
 
   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 +223,11 @@ private:
 
   void PrintMeshData( const Toolkit::AtlasManager::Mesh2D& mesh );
 
-  Toolkit::AtlasManager::AtlasSize mNewAtlasSize;
-  Toolkit::AtlasManager::AddFailPolicy mAddFailPolicy;
-  uint32_t mFilledPixel;
+  void OnUpload( Image image );
+
+  Shader mShaderL8;
+  Shader mShaderRgba;
+
 };
 
 } // namespace Internal