+ /**
+ * @brief Gets the window base object
+ * @return The window base object
+ */
+ WindowBase* GetWindowBase();
+
+ /**
+ * @brief This signal is emitted when the output is transformed.
+ */
+ OutputSignalType& OutputTransformedSignal();
+
+public: // from Dali::Integration::RenderSurface
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::GetPositionSize()
+ */
+ virtual PositionSize GetPositionSize() const override;
+
+ /**
+ */
+ virtual void GetDpi( unsigned int& dpiHorizontal, unsigned int& dpiVertical ) override;
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::InitializeGraphics()
+ */
+ virtual void InitializeGraphics() override;
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::CreateSurface()
+ */
+ virtual void CreateSurface() override;
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::DestroySurface()
+ */
+ virtual void DestroySurface() override;
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::ReplaceGraphicsSurface()
+ */
+ virtual bool ReplaceGraphicsSurface() override;
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::MoveResize()
+ */
+ virtual void MoveResize( Dali::PositionSize positionSize) override;
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::StartRender()
+ */
+ virtual void StartRender() override;
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::PreRender()
+ */
+ virtual bool PreRender( bool resizingSurface ) override;
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::PostRender()
+ */
+ virtual void PostRender( bool renderToFbo, bool replacingSurface, bool resizingSurface );
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::StopRender()
+ */
+ virtual void StopRender() override;
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::SetThreadSynchronization
+ */
+ virtual void SetThreadSynchronization( ThreadSynchronizationInterface& threadSynchronization ) override;
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::ReleaseLock()
+ */
+ virtual void ReleaseLock() override;
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::GetSurfaceType()
+ */
+ virtual Integration::RenderSurface::Type GetSurfaceType() override;
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::MakeContextCurrent()
+ */
+ virtual void MakeContextCurrent() override;
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::GetDepthBufferRequired()
+ */
+ virtual Integration::DepthBufferAvailable GetDepthBufferRequired() override;
+
+ /**
+ * @copydoc Dali::Integration::RenderSurface::GetStencilBufferRequired()
+ */
+ virtual Integration::StencilBufferAvailable GetStencilBufferRequired() override;
+
+private: