X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Fmanager%2Fupdate-manager.h;h=0417ff3c45b3c1fa7752264c9e37c9b5ad40c945;hb=6fb1af0bab60da8df4bd9a2f7adc273e3ec11722;hp=73e0f3879edfaeaaf987332e8f817b0730255cf4;hpb=eceeb37e71058e68aa04fa57e32eaeec0716a0a6;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/manager/update-manager.h b/dali/internal/update/manager/update-manager.h index 73e0f38..0417ff3 100644 --- a/dali/internal/update/manager/update-manager.h +++ b/dali/internal/update/manager/update-manager.h @@ -605,6 +605,12 @@ public: void AttachDepthStencilTextureToFrameBuffer( Render::FrameBuffer* frameBuffer, Render::Texture* texture, uint32_t mipmapLevel ); /** + * Request to capture rendered result + * @param[in] frameBuffer The FrameBuffer + */ + void CaptureRenderingResult(Render::FrameBuffer* frameBuffer); + + /** * This is called when the surface of the scene has been replaced. * @param[in] scene The scene. */ @@ -1467,6 +1473,17 @@ inline void AttachDepthStencilTextureToFrameBuffer( UpdateManager& manager, Rend new (slot) LocalType( &manager, &UpdateManager::AttachDepthStencilTextureToFrameBuffer, &frameBuffer, texture, mipmapLevel ); } +inline void CaptureRenderingResult(UpdateManager& manager, Render::FrameBuffer& frameBuffer) +{ + using LocalType = MessageValue1; + + // Reserve some memory inside the message queue + uint32_t* slot = manager.ReserveMessageSlot(sizeof(LocalType)); + + // Construct message in the message queue memory; note that delete should not be called on the return value + new(slot) LocalType(&manager, &UpdateManager::CaptureRenderingResult, &frameBuffer); +} + inline void SetDepthIndicesMessage( UpdateManager& manager, OwnerPointer< NodeDepths >& nodeDepths ) { using LocalType = MessageValue1 >;