+int EglGraphics::GetBufferAge(Graphics::SurfaceId surfaceId)
+{
+ auto search = mSurfaceMap.find(surfaceId);
+ if(DALI_UNLIKELY(search == mSurfaceMap.end()))
+ {
+ DALI_LOG_ERROR("Invalid surface id [%u] used! Ignore\n", surfaceId);
+ DALI_ASSERT_DEBUG(0 && "Invalid srufaceId");
+ return 0;
+ }
+
+ return mEglImplementation->GetBufferAge(search->second.surface);
+}
+
+void EglGraphics::SetDamageRegion(Graphics::SurfaceId surfaceId, std::vector<Rect<int>>& damagedRegion)
+{
+ auto search = mSurfaceMap.find(surfaceId);
+ if(DALI_UNLIKELY(search == mSurfaceMap.end()))
+ {
+ DALI_LOG_ERROR("Invalid surface id [%u] used! Ignore\n", surfaceId);
+ DALI_ASSERT_DEBUG(0 && "Invalid srufaceId");
+ return;
+ }
+
+ mEglImplementation->SetDamageRegion(search->second.surface, damagedRegion);
+}
+
+void EglGraphics::SwapBuffers(Graphics::SurfaceId surfaceId)
+{
+ auto search = mSurfaceMap.find(surfaceId);
+ if(DALI_UNLIKELY(search == mSurfaceMap.end()))
+ {
+ DALI_LOG_ERROR("Invalid surface id [%u] used! Ignore\n", surfaceId);
+ DALI_ASSERT_DEBUG(0 && "Invalid srufaceId");
+ return;
+ }
+
+ mEglImplementation->SwapBuffers(search->second.surface);
+}
+
+void EglGraphics::SwapBuffers(Graphics::SurfaceId surfaceId, const std::vector<Rect<int>>& damagedRegion)
+{
+ auto search = mSurfaceMap.find(surfaceId);
+ if(DALI_UNLIKELY(search == mSurfaceMap.end()))
+ {
+ DALI_LOG_ERROR("Invalid surface id [%u] used! Ignore\n", surfaceId);
+ DALI_ASSERT_DEBUG(0 && "Invalid srufaceId");
+ return;
+ }
+
+ mEglImplementation->SwapBuffers(search->second.surface, damagedRegion);
+}
+
+void EglGraphics::Initialize(const Dali::DisplayConnection& displayConnection)