[Tizen] Add OffscreenApplication
[platform/core/uifw/dali-adaptor.git] / dali / integration-api / adaptor-framework / native-render-surface.h
index 4d4ef37..cca13ea 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_NATIVE_RENDER_SURFACE_H
 
 /*
- * Copyright (c) 2019 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.
  */
 
 // INTERNAL INCLUDES
-#include <dali/public-api/dali-adaptor-common.h>
 #include <dali/integration-api/adaptor-framework/render-surface-interface.h>
+#include <dali/public-api/dali-adaptor-common.h>
 
 namespace Dali
 {
-
 class TriggerEventInterface;
 
 /**
@@ -33,7 +32,6 @@ class TriggerEventInterface;
 class DALI_ADAPTOR_API NativeRenderSurface : public Dali::RenderSurfaceInterface
 {
 public:
-
   /**
    * @brief Default constructor
    */
@@ -45,7 +43,6 @@ public:
   virtual ~NativeRenderSurface() = default;
 
 public: // API
-
   /**
    * @brief Get the render surface the adaptor is using to render to.
    * @return reference to current render surface
@@ -56,7 +53,7 @@ public: // API
    * @brief Sets the render notification trigger to call when render thread is completed a frame
    * @param renderNotification to use
    */
-  virtual void SetRenderNotification( TriggerEventInterface* renderNotification ) = 0;
+  virtual void SetRenderNotification(TriggerEventInterface* renderNotification) = 0;
 
   /**
    * @brief Waits until surface is replaced
@@ -64,8 +61,13 @@ public: // API
    */
   virtual void WaitUntilSurfaceReplaced() = 0;
 
-private: // from NativeRenderSurface
+  /**
+   * @brief Get the native renderable handle
+   * @return The native renderable handle
+   */
+  virtual Any GetNativeRenderable() = 0;
 
+private: // from NativeRenderSurface
   /**
    * @brief Create a renderable
    */
@@ -77,13 +79,11 @@ private: // from NativeRenderSurface
   virtual void ReleaseDrawable() = 0;
 
 protected:
-
   // Undefined
   NativeRenderSurface(const NativeRenderSurface&) = delete;
 
   // Undefined
   NativeRenderSurface& operator=(const NativeRenderSurface& rhs) = delete;
-
 };
 
 } // namespace Dali