X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Ftizen-wayland%2Fnative-render-surface-ecore-wl.h;h=bba6553ad91164bdc98eaee26d2675d6f19a12ea;hb=26b1762d139a11c3d30e108d335ba64c09554744;hp=ae524436138e62da0b9532b641d7d65583508def;hpb=5c20957f93fefc2c9d7ec3698521b2ee4b854300;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/window-system/tizen-wayland/native-render-surface-ecore-wl.h b/dali/internal/window-system/tizen-wayland/native-render-surface-ecore-wl.h index ae52443..bba6553 100644 --- a/dali/internal/window-system/tizen-wayland/native-render-surface-ecore-wl.h +++ b/dali/internal/window-system/tizen-wayland/native-render-surface-ecore-wl.h @@ -2,7 +2,7 @@ #define DALI_INTERNAL_WINDOWSYSTEM_TIZENWAYLAND_NATIVE_SURFACE_ECORE_WL_H /* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,11 +25,16 @@ // INTERNAL INCLUDES #include -#include +#include +#include +#include namespace Dali { +class DisplayConnection; +class EglInterface; + /** * Ecore Wayland Native implementation of render surface. */ @@ -40,12 +45,9 @@ public: /** * Uses an Wayland surface to render to. * @param [in] positionSize the position and size of the surface - * @param [in] name optional name of surface passed in * @param [in] isTransparent if it is true, surface has 32 bit color depth, otherwise, 24 bit */ - NativeRenderSurfaceEcoreWl( Dali::PositionSize positionSize, - const std::string& name, - bool isTransparent = false ); + NativeRenderSurfaceEcoreWl( Dali::PositionSize positionSize, bool isTransparent = false ); /** * @brief Destructor @@ -69,82 +71,98 @@ public: // from WindowRenderSurface */ virtual void WaitUntilSurfaceReplaced() override; -public: // from Dali::RenderSurface +public: // from Dali::Integration::RenderSurface /** - * @copydoc Dali::RenderSurface::GetPositionSize() + * @copydoc Dali::Integration::RenderSurface::GetPositionSize() */ virtual PositionSize GetPositionSize() const override; /** - * @copydoc Dali::RenderSurface::GetDpi() + * @copydoc Dali::Integration::RenderSurface::GetDpi() */ virtual void GetDpi( unsigned int& dpiHorizontal, unsigned int& dpiVertical ) override; /** - * @copydoc Dali::RenderSurface::InitializeEgl() + * @brief Return the orientation of the surface. + * @return The orientation */ - virtual void InitializeEgl( EglInterface& egl ) override; + virtual int GetOrientation() const override; /** - * @copydoc Dali::RenderSurface::CreateEglSurface() + * @copydoc Dali::Integration::RenderSurface::InitializeGraphics() */ - virtual void CreateEglSurface( EglInterface& egl ) override; + virtual void InitializeGraphics() override; /** - * @copydoc Dali::RenderSurface::DestroyEglSurface() + * @copydoc Dali::Integration::RenderSurface::CreateSurface() */ - virtual void DestroyEglSurface( EglInterface& egl ) override; + virtual void CreateSurface() override; /** - * @copydoc Dali::RenderSurface::ReplaceEGLSurface() + * @copydoc Dali::Integration::RenderSurface::DestroySurface() */ - virtual bool ReplaceEGLSurface( EglInterface& egl ) override; + virtual void DestroySurface() override; /** - * @copydoc Dali::RenderSurface::MoveResize() + * @copydoc Dali::Integration::RenderSurface::ReplaceGraphicsSurface() */ - virtual void MoveResize( Dali::PositionSize positionSize) override; + virtual bool ReplaceGraphicsSurface() override; /** - * @copydoc Dali::RenderSurface::SetViewMode() + * @copydoc Dali::Integration::RenderSurface::MoveResize() */ - virtual void SetViewMode( ViewMode viewMode ) override; + virtual void MoveResize( Dali::PositionSize positionSize) override; /** - * @copydoc Dali::RenderSurface::StartRender() + * @copydoc Dali::Integration::RenderSurface::StartRender() */ virtual void StartRender() override; /** - * @copydoc Dali::RenderSurface::PreRender() + * @copydoc Dali::Integration::RenderSurface::PreRender() */ - virtual bool PreRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, bool resizingSurface ) override; + virtual bool PreRender( bool resizingSurface ) override; /** - * @copydoc Dali::RenderSurface::PostRender() + * @copydoc Dali::Integration::RenderSurface::PostRender() */ - virtual void PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface ) override; + virtual void PostRender( bool renderToFbo, bool replacingSurface, bool resizingSurface ); /** - * @copydoc Dali::RenderSurface::StopRender() + * @copydoc Dali::Integration::RenderSurface::StopRender() */ virtual void StopRender() override; /** - * @copydoc Dali::RenderSurface::SetThreadSynchronization + * @copydoc Dali::Integration::RenderSurface::SetThreadSynchronization */ virtual void SetThreadSynchronization( ThreadSynchronizationInterface& threadSynchronization )override; /** - * @copydoc Dali::RenderSurface::GetSurfaceType() + * @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 RenderSurface::Type GetSurfaceType() override; + virtual Integration::StencilBufferAvailable GetStencilBufferRequired() override; private: /** - * @copydoc Dali::RenderSurface::ReleaseLock() + * @copydoc Dali::Integration::RenderSurface::ReleaseLock() */ virtual void ReleaseLock() override; @@ -160,18 +178,21 @@ private: private: // Data - PositionSize mPosition; - std::string mTitle; - TriggerEventInterface* mRenderNotification; - ColorDepth mColorDepth; - tbm_format mTbmFormat; - bool mOwnSurface; - bool mDrawableCompleted; - - tbm_surface_queue_h mTbmQueue; - tbm_surface_h mConsumeSurface; - ThreadSynchronizationInterface* mThreadSynchronization; ///< A pointer to the thread-synchronization - ConditionalWait mTbmSurfaceCondition; + PositionSize mPosition; + TriggerEventInterface* mRenderNotification; + Internal::Adaptor::GraphicsInterface* mGraphics; ///< The graphics interface + EglInterface* mEGL; + EGLSurface mEGLSurface; + EGLContext mEGLContext; + ColorDepth mColorDepth; + tbm_format mTbmFormat; + bool mOwnSurface; + bool mDrawableCompleted; + + tbm_surface_queue_h mTbmQueue; + tbm_surface_h mConsumeSurface; + ThreadSynchronizationInterface* mThreadSynchronization; ///< A pointer to the thread-synchronization + ConditionalWait mTbmSurfaceCondition; };