X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fsystem%2Fcommon%2Fthread-controller.h;h=c4f3961c84c20a141037bf0667e87be9dbc343e6;hb=d97d6dcbc29bbf6cbac05e77ec1959332ac5f964;hp=9429525f2f001459570fe5440f7149e777dcdd32;hpb=37d8d7dca35290d61aeb300f8f97bb993998d4e4;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/system/common/thread-controller.h b/dali/internal/system/common/thread-controller.h index 9429525..c4f3961 100644 --- a/dali/internal/system/common/thread-controller.h +++ b/dali/internal/system/common/thread-controller.h @@ -1,8 +1,8 @@ -#ifndef __DALI_INTERNAL_THREAD_CONTROLLER_H__ -#define __DALI_INTERNAL_THREAD_CONTROLLER_H__ +#ifndef DALI_INTERNAL_THREAD_CONTROLLER_H +#define DALI_INTERNAL_THREAD_CONTROLLER_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. @@ -19,10 +19,13 @@ */ #include +// INTERNAL INCLUDES +#include + namespace Dali { -class RenderSurface; +class RenderSurfaceInterface; namespace Internal { @@ -30,6 +33,8 @@ namespace Internal namespace Adaptor { +enum class UpdateMode; + class AdaptorInternalServices; class EnvironmentOptions; class ThreadControllerInterface; @@ -94,15 +99,23 @@ public: * @brief Called by the adaptor when core requires one update * * @note If Adaptor is paused, we do one update/render only + * + * @param updateMode The update mode (i.e. either update and render, or update and upload without rendering) */ - void RequestUpdateOnce(); + void RequestUpdateOnce( UpdateMode updateMode ); /** * @brief Replaces the surface. * * @param surface new surface */ - void ReplaceSurface( RenderSurface* surface ); + void ReplaceSurface( Dali::RenderSurfaceInterface* surface ); + + /** + * Deletes the surface. + * @param surface The surface to be deleted + */ + void DeleteSurface( Dali::RenderSurfaceInterface* surface ); /** * Resize the surface. @@ -110,6 +123,11 @@ public: void ResizeSurface(); /** + * Wait until the graphics is initialised. + */ + void WaitForGraphicsInitialization(); + + /** * @copydoc Dali::Adaptor::SetRenderRefreshRate() */ void SetRenderRefreshRate( unsigned int numberOfVSyncsPerRender ); @@ -119,13 +137,20 @@ public: */ void SetPreRenderCallback( CallbackBase* callback ); + /** + * @brief Adds the new surface. + * + * @param surface new surface + */ + void AddSurface( Dali::RenderSurfaceInterface* surface ); + private: // Undefined copy constructor. - ThreadController( const ThreadController& ); + ThreadController( const ThreadController& ) = delete; // Undefined assignment operator. - ThreadController& operator=( const ThreadController& ); + ThreadController& operator=( const ThreadController& ) = delete; private: @@ -138,4 +163,4 @@ private: } // namespace Dali -#endif // __DALI_INTERNAL_THREAD_CONTROLLER_H__ +#endif // DALI_INTERNAL_THREAD_CONTROLLER_H