X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fintegration-api%2Fadaptor-framework%2Frender-surface-interface.h;h=2c7f6b7ba4cb3b4a1d4abaef4be79b365f994a64;hb=65b078a9ff82302a437788135fed9776ff856188;hp=a683a595a618d070244b8601e688c5407467ce22;hpb=4df5c7cd089bab4ad9d6e72cb03f4cc7672f2006;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 a683a59..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 ) {} @@ -100,12 +106,6 @@ public: virtual void GetDpi( unsigned int& dpiHorizontal, unsigned int& dpiVertical ) = 0; /** - * @brief Return the orientation of the surface. - * @return The orientation - */ - virtual int GetOrientation() const = 0; - - /** * @brief InitializeGraphics the platform specific graphics surface interfaces */ virtual void InitializeGraphics() = 0; @@ -142,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 @@ -152,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 */ @@ -209,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: /** @@ -226,6 +237,7 @@ protected: Dali::Internal::Adaptor::AdaptorInternalServices* mAdaptor; Dali::Internal::Adaptor::GraphicsInterface* mGraphics; Dali::DisplayConnection* mDisplayConnection; + WeakHandle< Dali::Integration::Scene > mScene; private: