#define DALI_OFFSCREEN_APPLICATION_H
/*
- * Copyright (c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
#include <dali/public-api/object/base-handle.h>
#include <dali/public-api/signals/dali-signal.h>
+// INTERNAL INCLUDES
+#include <dali/public-api/dali-adaptor-common.h>
+
namespace Dali
{
/**
* @brief Appliations can draw UI on offscreen surface with the OffscreenApplication.
* When you use a OffscreenApplication, you don't have to create a Window.
*/
-class DALI_IMPORT_API OffscreenApplication : public Dali::BaseHandle
+class DALI_ADAPTOR_API OffscreenApplication : public Dali::BaseHandle
{
public:
using OffscreenApplicationSignalType = Signal<void(void)>;
public:
/**
- * @brief Starts the OffscreenApplication (rendering, event handling, etc)
+ * @brief This starts the application.
*/
- void Start();
+ void MainLoop();
/**
- * @brief Stops the OffscreenApplication
+ * @brief This quits the application.
*/
- void Stop();
+ void Quit();
/**
* @brief Get the default OffscreenWindow handle
*/
void RenderOnce();
+ /**
+ * @brief Gets the context of the framwork
+ * @return Platform dependent context handle
+ */
+ Any GetFrameworkContext() const;
+
public: // Signals
- /**
+ /**
* @brief Signal to notify the client when the application is ready to be initialized
*
* @note OffscreenApplication::Start() should be called to be initialized
*/
OffscreenApplicationSignalType& TerminateSignal();
+ /**
+ * @brief Signal to notify the user when the application is about to be paused
+ *
+ * @return The signal
+ */
+ OffscreenApplicationSignalType& PauseSignal();
+
+ /**
+ * @brief Signal to notify the user when the application is about to be resumed
+ *
+ * @return The signal
+ */
+ OffscreenApplicationSignalType& ResumeSignal();
+
+ /**
+ * @brief Signal to notify the user when the application is about to be reinitialized
+ *
+ * @return The signal
+ */
+ OffscreenApplicationSignalType& ResetSignal();
+
+ /**
+ * @brief Signal to notify the user when the application is about to be language is changed on the device.
+ *
+ * @return The signal
+ */
+ OffscreenApplicationSignalType& LanguageChangedSignal();
+
public: // Not intended for application developers
/**
* @brief Internal constructor