DALi Version 2.2.21
[platform/core/uifw/dali-core.git] / dali / integration-api / core.h
index 4952c57..0b44348 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTEGRATION_CORE_H
 
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
@@ -324,13 +324,15 @@ public:
    * whether a Notification event should be sent, regardless of whether the multi-threading is used.
    * @param[in] renderToFboEnabled Whether rendering into the Frame Buffer Object is enabled.
    * @param[in] isRenderingToFbo Whether this frame is being rendered into the Frame Buffer Object.
+   * @param[in] uploadOnly uploadOnly Upload the resource only without rendering.
    */
   void Update(float         elapsedSeconds,
               uint32_t      lastVSyncTimeMilliseconds,
               uint32_t      nextVSyncTimeMilliseconds,
               UpdateStatus& status,
               bool          renderToFboEnabled,
-              bool          isRenderingToFbo);
+              bool          isRenderingToFbo,
+              bool          uploadOnly);
 
   /**
    * This is called before rendering any scene in the next frame. This method should be preceded
@@ -339,9 +341,8 @@ public:
    * @pre The GL context must have been created, and made current.
    * @param[out] status showing whether update is required to run.
    * @param[in] forceClear force the Clear on the framebuffer even if nothing is rendered.
-   * @param[in] uploadOnly uploadOnly Upload the resource only without rendering.
    */
-  void PreRender(RenderStatus& status, bool forceClear, bool uploadOnly);
+  void PreRender(RenderStatus& status, bool forceClear);
 
   /**
    * This is called before rendering any scene in the next frame. This method should be preceded
@@ -383,23 +384,24 @@ public:
    * followed by a call up RenderScene.
    * Multi-threading note: this method should be called from a dedicated rendering thread.
    * @pre The GL context must have been created, and made current.
-   * @param[in] uploadOnly uploadOnly Upload the resource only without rendering.
    */
-  void PostRender(bool uploadOnly);
+  void PostRender();
 
   /**
    * @brief Register a processor
    *
    * Note, Core does not take ownership of this processor.
    * @param[in] processor The process to register
+   * @param[in] postProcessor set this processor required to be called after size negotiation. Default is false.
    */
-  void RegisterProcessor(Processor& processor);
+  void RegisterProcessor(Processor& processor, bool postProcessor = false);
 
   /**
    * @brief Unregister a processor
    * @param[in] processor The process to unregister
+   * @param[in] postProcessor True if the processor to be unregister is for post processor.
    */
-  void UnregisterProcessor(Processor& processor);
+  void UnregisterProcessor(Processor& processor, bool postProcessor = false);
 
   /**
    * @brief Gets the Object registry.
@@ -407,6 +409,11 @@ public:
    */
   ObjectRegistry GetObjectRegistry() const;
 
+  /**
+   * Log core's memory pool's capacities
+   */
+  void LogMemoryPools() const;
+
 private:
   /**
    * Private constructor; see also Core::New()