-#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.
namespace Adaptor
{
+enum class UpdateMode;
+enum class ThreadMode;
+
class AdaptorInternalServices;
class EnvironmentOptions;
class ThreadControllerInterface;
/**
* Constructor
*/
- ThreadController( AdaptorInternalServices& adaptorInterfaces, const EnvironmentOptions& environmentOptions );
+ ThreadController( AdaptorInternalServices& adaptorInterfaces, const EnvironmentOptions& environmentOptions, ThreadMode threadMode );
/**
* Non virtual destructor. Not intended as base class.
* @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.
void ReplaceSurface( Dali::RenderSurfaceInterface* surface );
/**
+ * Deletes the surface.
+ * @param surface The surface to be deleted
+ */
+ void DeleteSurface( Dali::RenderSurfaceInterface* surface );
+
+ /**
* Resize the surface.
*/
void ResizeSurface();
/**
+ * Wait until the graphics is initialised.
+ */
+ void WaitForGraphicsInitialization();
+
+ /**
* @copydoc Dali::Adaptor::SetRenderRefreshRate()
*/
void SetRenderRefreshRate( unsigned int numberOfVSyncsPerRender );
*/
void SetPreRenderCallback( CallbackBase* callback );
+ /**
+ * @brief Adds the new surface.
+ *
+ * @param surface new surface
+ */
+ void AddSurface( Dali::RenderSurfaceInterface* surface );
+
private:
// Undefined copy constructor.
} // namespace Dali
-#endif // __DALI_INTERNAL_THREAD_CONTROLLER_H__
+#endif // DALI_INTERNAL_THREAD_CONTROLLER_H