X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fintegration-api%2Fadaptor-framework%2Frender-surface-interface.h;h=2c7f6b7ba4cb3b4a1d4abaef4be79b365f994a64;hb=9c5966d8ba60d1bcb3134f938435517166d31455;hp=25ad128ba7a9a78b008748b88424ee38b71badf0;hpb=54fd2fdd37c254eeb9764bd5ac4d8f63b43c042c;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/integration-api/adaptor-framework/render-surface-interface.h b/dali/integration-api/adaptor-framework/render-surface-interface.h index 25ad128..2c7f6b7 100644 --- a/dali/integration-api/adaptor-framework/render-surface-interface.h +++ b/dali/integration-api/adaptor-framework/render-surface-interface.h @@ -20,9 +20,13 @@ // EXTERNAL INCLUDES #include +#include #include #include #include +#include +#include +#include namespace Dali { @@ -42,7 +46,8 @@ class GraphicsInterface; /** * @brief The position and size of the render surface. */ -typedef Dali::Rect PositionSize; +using PositionSize = Dali::Rect; +using SurfaceSize = Uint16Pair; /** * @brief Interface for a render surface onto which Dali draws. @@ -76,6 +81,7 @@ public: : mAdaptor( nullptr ), mGraphics( nullptr ), mDisplayConnection( nullptr ), + mScene(), mDepthBufferRequired( Integration::DepthBufferAvailable::FALSE ), mStencilBufferRequired( Integration::StencilBufferAvailable::FALSE ) {} @@ -136,9 +142,10 @@ public: * If the operation fails, then Core::Render should not be called until there is * a surface to render onto. * @param[in] resizingSurface True if the surface is being resized + * @param[in] damagedRects List of damaged rects this render pass * @return True if the operation is successful, False if the operation failed */ - virtual bool PreRender( bool resizingSurface ) = 0; + virtual bool PreRender( bool resizingSurface, const std::vector>& damagedRects, Rect& clippingRect ) = 0; /** * @brief Invoked by render thread after Core::Render @@ -146,7 +153,8 @@ public: * @param[in] replacingSurface True if the surface is being replaced. * @param[in] resizingSurface True if the surface is being resized. */ - virtual void PostRender( bool renderToFbo, bool replacingSurface, bool resizingSurface ) = 0; + virtual void PostRender( bool renderToFbo, bool replacingSurface, bool resizingSurface, const std::vector>& damagedRects ) = 0; + /** * @brief Invoked by render thread when the thread should be stop */ @@ -203,6 +211,15 @@ public: mDisplayConnection = &displayConnection; } + /** + * @brief Sets a Scene that is rendered on this surface. + * @param scene The Scene object + */ + void SetScene( Dali::Integration::Scene& scene ) + { + mScene = scene; + } + private: /** @@ -220,6 +237,7 @@ protected: Dali::Internal::Adaptor::AdaptorInternalServices* mAdaptor; Dali::Internal::Adaptor::GraphicsInterface* mGraphics; Dali::DisplayConnection* mDisplayConnection; + WeakHandle< Dali::Integration::Scene > mScene; private: