#define __DALI_INTERNAL_THREAD_CONTROLLER_H__
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
~ThreadController();
/**
- * Initializes the thread controller
+ * @brief Initializes the thread controller
+ *
+ * Will do any required initialiszation, e.g. initialize EGL, create threads (if required), etc.
+ *
+ * @note When this function returns, the application Init signal should be emitted
*/
void Initialize();
/**
- * @copydoc Dali::Adaptor::Start()
+ * @brief Called AFTER the Init signal has been emitted.
+ *
+ * In other words, should be called AFTER the Init signal has been emitted and all messages for the first scene
+ * have been queued for update to process.
*/
void Start();
/**
- * @copydoc Dali::Adaptor::Pause()
+ * @brief When called, update and rendering is paused.
*/
void Pause();
/**
- * @copydoc Dali::Adaptor::Resume()
+ * @brief Resumes update/rendering after a previous pause.
*/
void Resume();
/**
- * @copydoc Dali::Adaptor::Stop()
+ * @brief Stops update/rendering altogether.
+ *
+ * Will shutdown EGL, destroy threads (if required) etc.
*/
void Stop();
/**
- * Called by the adaptor when core requires another update
+ * @brief Called by the adaptor when core requires another update
*/
void RequestUpdate();
/**
- * Called by the adaptor when core requires one update
- * If Adaptor is paused, we do one update and return to pause
+ * @brief Called by the adaptor when core requires one update
+ *
+ * @note If Adaptor is paused, we do one update/render only
*/
void RequestUpdateOnce();
/**
- * Replaces the surface.
+ * @brief Replaces the surface.
+ *
* @param surface new surface
*/
void ReplaceSurface( RenderSurface* surface );
/**
+ * Resize the surface.
+ */
+ void ResizeSurface();
+
+ /**
* @copydoc Dali::Adaptor::SetRenderRefreshRate()
*/
void SetRenderRefreshRate( unsigned int numberOfVSyncsPerRender );