X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fadaptor%2Fcommon%2Fthread-controller-interface.h;h=94276ff31b0201a6b387b96dbceb24d4ac213ca1;hb=e2b1bb333f68b1a21a24f84c6c21db2f618a8f53;hp=8f4aabc7df536eccd52522ce0f7ac75c56f262da;hpb=27a1f981233e50b76d6ada1d33ce7f8f8ac3136d;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/adaptor/common/thread-controller-interface.h b/dali/internal/adaptor/common/thread-controller-interface.h index 8f4aabc..94276ff 100644 --- a/dali/internal/adaptor/common/thread-controller-interface.h +++ b/dali/internal/adaptor/common/thread-controller-interface.h @@ -1,8 +1,8 @@ -#ifndef __DALI_INTERNAL_THREAD_CONTROLLER_INTERFACE_H__ -#define __DALI_INTERNAL_THREAD_CONTROLLER_INTERFACE_H__ +#ifndef DALI_INTERNAL_THREAD_CONTROLLER_INTERFACE_H +#define DALI_INTERNAL_THREAD_CONTROLLER_INTERFACE_H /* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 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. @@ -23,7 +23,7 @@ namespace Dali { -class RenderSurface; +class RenderSurfaceInterface; namespace Internal { @@ -31,6 +31,12 @@ namespace Internal namespace Adaptor { +enum class UpdateMode +{ + NORMAL, ///< Update and render + SKIP_RENDER ///< Update and resource upload but no rendering +}; + /** * Interface Class for all controlling threads. */ @@ -75,15 +81,16 @@ public: /** * Called by the adaptor when core requires one update - * If Adaptor is paused, we do one update and return to pause + * If Adaptor is paused, we do one update/render and return to pause + * @param updateMode The update mode (i.e. i.e. either update & render or skip rendering) */ - virtual void RequestUpdateOnce() = 0; + virtual void RequestUpdateOnce( UpdateMode updateMode ) = 0; /** * Replaces the surface. * @param surface new surface */ - virtual void ReplaceSurface( RenderSurface* surface ) = 0; + virtual void ReplaceSurface( Dali::RenderSurfaceInterface* surface ) = 0; /** * Resize the surface. @@ -91,6 +98,11 @@ public: virtual void ResizeSurface() = 0; /** + * Wait until the graphics is initialised. + */ + virtual void WaitForGraphicsInitialization() = 0; + + /** * @copydoc Dali::Adaptor::SetRenderRefreshRate() */ virtual void SetRenderRefreshRate( unsigned int numberOfVSyncsPerRender ) = 0; @@ -100,6 +112,17 @@ public: */ virtual void SetPreRenderCallback( CallbackBase* callback ) = 0; + /** + * @brief Adds the new surface. + * @param surface new surface + */ + virtual void AddSurface( Dali::RenderSurfaceInterface* surface ) = 0; + + /** + * @copydoc Dali::Adaptor::IsRenderingWindows() + */ + virtual bool IsRenderingWindows() const = 0; + protected: /** @@ -122,4 +145,4 @@ private: } // namespace Dali -#endif // __DALI_INTERNAL_THREAD_CONTROLLER_INTERFACE_H__ +#endif // DALI_INTERNAL_THREAD_CONTROLLER_INTERFACE_H