Remove RenderSurface from Core
[platform/core/uifw/dali-core.git] / dali / internal / common / core-impl.h
index 9105f7a..9272e16 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_CORE_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.
@@ -41,9 +41,9 @@ class RenderController;
 class PlatformAbstraction;
 class GlAbstraction;
 class GlSyncAbstraction;
+class GlContextHelperAbstraction;
 class UpdateStatus;
 class RenderStatus;
-class RenderSurface;
 struct Event;
 struct TouchData;
 }
@@ -83,7 +83,7 @@ public:
         Integration::PlatformAbstraction& platform,
         Integration::GlAbstraction& glAbstraction,
         Integration::GlSyncAbstraction& glSyncAbstraction,
-        ResourcePolicy::DataRetention dataRetentionPolicy,
+        Integration::GlContextHelperAbstraction& glContextHelperAbstraction,
         Integration::RenderToFrameBuffer renderToFboEnabled,
         Integration::DepthBufferAvailable depthBufferAvailable,
         Integration::StencilBufferAvailable stencilBufferAvailable );
@@ -119,11 +119,6 @@ public:
   void RecoverFromContextLoss();
 
   /**
-   * @copydoc Dali::Integration::Core::SurfaceResized(Integration::RenderSurface*)
-   */
-  void SurfaceResized( Integration::RenderSurface* surface );
-
-  /**
    * @copydoc Dali::Integration::Core::SetMinimumFrameTimeInterval(uint32_t)
    */
   void SetMinimumFrameTimeInterval(uint32_t interval);
@@ -136,7 +131,17 @@ public:
   /**
    * @copydoc Dali::Integration::Core::Render()
    */
-  void Render( Integration::RenderStatus& status, bool forceClear );
+  void PreRender( Integration::RenderStatus& status, bool forceClear, bool uploadOnly );
+
+  /**
+   * @copydoc Dali::Integration::Core::RenderScene()
+   */
+  void RenderScene( Integration::Scene& scene, bool renderToFbo );
+
+  /**
+   * @copydoc Dali::Integration::Core::Render()
+   */
+  void PostRender( bool uploadOnly );
 
   /**
    * @copydoc Dali::Integration::Core::SceneCreated()
@@ -326,7 +331,8 @@ private:
   OwnerPointer<GestureEventProcessor>           mGestureEventProcessor;       ///< The gesture event processor
   Dali::Vector<Integration::Processor*>         mProcessors;                  ///< Registered processors (not owned)
 
-  std::vector<ScenePtr>                         mScenes;                      ///< A container of scenes that bound to a surface for rendering, owned by Core
+  using SceneContainer = std::vector<ScenePtr>;
+  SceneContainer                                mScenes;                      ///< A container of scenes that bound to a surface for rendering, owned by Core
 
   // The object registry
   ObjectRegistryPtr                             mObjectRegistry;