X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=dali-toolkit%2Finternal%2Fatlas-manager%2Fatlas-manager-impl.h;h=02a2e7d8d994a5a8aa99cad4e058ef7b868dceaf;hb=5f6befa398f1c68fcc8edff409a086f54af4d5f9;hp=63937620a97812dee7e96d80d759addebf4cacb1;hpb=2834ffdeb2f24bcea9d6321e524af0877977545d;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/atlas-manager/atlas-manager-impl.h b/dali-toolkit/internal/atlas-manager/atlas-manager-impl.h index 6393762..02a2e7d 100644 --- a/dali-toolkit/internal/atlas-manager/atlas-manager-impl.h +++ b/dali-toolkit/internal/atlas-manager/atlas-manager-impl.h @@ -60,13 +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 mEdgeX; // Image used to pad upload - BufferImage mEdgeY; // Image used to pad upload + 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 @@ -93,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 @@ -116,21 +111,22 @@ public: */ void GenerateMeshData( ImageId id, const Vector2& position, - MeshData& mesh ); + Toolkit::AtlasManager::Mesh2D& mesh ); /** * @copydoc Toolkit::AtlasManager::StitchMesh */ - void StitchMesh( MeshData& first, - const MeshData& second, + void StitchMesh( Toolkit::AtlasManager::Mesh2D& first, + const Toolkit::AtlasManager::Mesh2D& second, bool optimize ); /** * @copydoc Toolkit::AtlasManager::StitchMesh */ - void StitchMesh( const MeshData& first, - const MeshData& second, - MeshData& out, bool optimize ); + void StitchMesh( const Toolkit::AtlasManager::Mesh2D& first, + const Toolkit::AtlasManager::Mesh2D& second, + Toolkit::AtlasManager::Mesh2D& out, + bool optimize ); /** * @copydoc Toolkit::AtlasManager::Remove @@ -148,10 +144,14 @@ public: AtlasId GetAtlas( ImageId id ) const; /** - * @copydoc Toolkit::AtlasManager::SetAtlasSize + * @copydoc Toolkit::AtlasManager::SetNewAtlasSize */ - void SetAtlasSize( const Vector2& size, - const Vector2& blockSize ); + void SetNewAtlasSize( const Toolkit::AtlasManager::AtlasSize& size ); + + /** + * @copydoc Toolkit::AtlasManager::GetAtlasSize + */ + const Toolkit::AtlasManager::AtlasSize& GetAtlasSize( AtlasId atlas ); /** * @copydoc Toolkit::AtlasManager::GetBlockSize @@ -173,6 +173,16 @@ public: */ Pixel::Format GetPixelFormat( AtlasId atlas ); + /** + * @copydoc Toolkit::AtlasManager::GetMetrics + */ + void GetMetrics( Toolkit::AtlasManager::Metrics& metrics ); + + /** + * @copydoc Toolkit::AtlasManager::GetMaterial + */ + Material GetMaterial( AtlasId atlas ) const; + private: std::vector< AtlasDescriptor > mAtlasList; // List of atlases created @@ -191,23 +201,20 @@ private: const Vector2& position, SizeType widthInBlocks, SizeType heightInBlocks, - Dali::MeshData& meshData, + Toolkit::AtlasManager::Mesh2D& mesh, AtlasSlotDescriptor& desc ); - void OptimizeVertices( const MeshData::VertexContainer& in, - MeshData::FaceIndices& faces, - MeshData::VertexContainer& out ); + void OptimizeMesh( const Toolkit::AtlasManager::Mesh2D& in, + Toolkit::AtlasManager::Mesh2D& out ); void UploadImage( const BufferImage& image, const AtlasSlotDescriptor& desc ); - void PrintMeshData( const MeshData& meshData ); + void PrintMeshData( const Toolkit::AtlasManager::Mesh2D& mesh ); - Vector2 mNewAtlasSize; - Vector2 mNewBlockSize; + Toolkit::AtlasManager::AtlasSize mNewAtlasSize; Toolkit::AtlasManager::AddFailPolicy mAddFailPolicy; - PixelBuffer* mEdgeBuffer; - uint32_t mEdgeBufferSize; + uint32_t mFilledPixel; }; } // namespace Internal