- typedef std::pair<tbm_surface_h, void*> EglImagePair;
- typedef std::pair<tbm_surface_h, uint8_t*> BufferPair;
-
- Dali::Mutex mMutex; ///< Mutex
- uint32_t mQueueCount; ///< queue count
- uint32_t mWidth; ///< image width
- uint32_t mHeight; ///< image height
- tbm_surface_queue_h mTbmQueue; ///< Tbm surface queue handle
- tbm_surface_h mConsumeSurface; ///< The current tbm surface
- std::vector<EglImagePair> mEglImages; ///< EGL Image vector
- std::vector<BufferPair> mBuffers; ///< Buffer vector
- EglGraphics* mEglGraphics; ///< EGL Graphics
- EglImageExtensions* mEglImageExtensions; ///< The EGL Image Extensions
- bool mOwnTbmQueue; ///< Whether we created tbm queue
- bool mBlendingRequired; ///< Whether blending is required
- bool mIsResized; ///< Whether the size has changed
- bool mFreeRequest; ///< Whether it is requested to free the released buffers
+ using SurfaceEglContainer = std::unordered_map<tbm_surface_h, void*>;
+ using BufferSurfaceContainer = std::unordered_map<uint8_t*, tbm_surface_h>;
+
+ Dali::Mutex mMutex; ///< Mutex
+ uint32_t mQueueCount; ///< queue count
+ uint32_t mWidth; ///< image width
+ uint32_t mHeight; ///< image height
+ tbm_surface_queue_h mTbmQueue; ///< Tbm surface queue handle
+ tbm_surface_h mConsumeSurface; ///< The current tbm surface
+ SurfaceEglContainer mEglImages; ///< EGL Image map
+ BufferSurfaceContainer mBuffers; ///< Buffer map
+ EglGraphics* mEglGraphics; ///< EGL Graphics
+ EglImageExtensions* mEglImageExtensions; ///< The EGL Image Extensions
+ bool mOwnTbmQueue; ///< Whether we created tbm queue
+ bool mBlendingRequired; ///< Whether blending is required
+ bool mIsResized; ///< Whether the size has changed
+ bool mFreeRequest; ///< Whether it is requested to free the released buffers