[Tizen] Fix rendering occured unlimited if window size changed multiple
[platform/core/uifw/dali-adaptor.git] / dali / internal / adaptor / common / adaptor-impl.h
index 7992342..4dc79d5 100644 (file)
@@ -19,6 +19,7 @@
  */
 
 // EXTERNAL INCLUDES
+#include <dali/devel-api/threading/mutex.h>
 #include <dali/integration-api/render-controller.h>
 #include <dali/public-api/common/vector-wrapper.h>
 #include <dali/public-api/math/rect.h>
@@ -424,6 +425,12 @@ public:
   void SurfaceResizeComplete(Dali::RenderSurfaceInterface* surface, SurfaceSize surfaceSize);
 
   /**
+   * @brief Increase surface resize completed counter.
+   * This API will be ignored if thread controller is not exist.
+   */
+  void IncreaseSurfaceResizeCounter();
+
+  /**
    * Sets layout direction of root by system language
    * @param[in] locale System locale
    */
@@ -442,18 +449,24 @@ public:
   /**
    * @copydoc Dali::Adaptor::RegisterProcessor
    */
-  void RegisterProcessor(Integration::Processor& processor);
+  void RegisterProcessor(Integration::Processor& processor, bool postProcessor);
 
   /**
    * @coydoc Dali::Adaptor::UnregisterProcessor
    */
-  void UnregisterProcessor(Integration::Processor& processor);
+  void UnregisterProcessor(Integration::Processor& processor, bool postProcessor);
 
   /**
    * Check MultipleWindow is supported
    */
   bool IsMultipleWindowSupported() const;
 
+  /**
+   * @brief Gets the render thread id of DALi.
+   * @return The render thread id.
+   */
+  int32_t GetRenderThreadId() const;
+
 public: //AdaptorInternalServices
   /**
    * @copydoc Dali::Internal::Adaptor::AdaptorInternalServices::GetPlatformAbstractionInterface()
@@ -546,12 +559,12 @@ private: // From Dali::Integration::RenderController
   /**
    * @copydoc Dali::Integration::RenderController::RequestUpdate()
    */
-  void RequestUpdate(bool forceUpdate) override;
+  void RequestUpdate() override;
 
   /**
    * @copydoc Dali::Integration::RenderController::RequestProcessEventsOnIdle()
    */
-  void RequestProcessEventsOnIdle(bool forceProcess) override;
+  void RequestProcessEventsOnIdle() override;
 
 public: // From Dali::Internal::Adaptor::WindowVisibilityObserver
   /**
@@ -679,6 +692,7 @@ private:                                          // Data
   SystemTrace                 mSystemTracer;                          ///< System tracer
   ObjectProfiler*             mObjectProfiler;                        ///< Tracks object lifetime for profiling
   SocketFactory               mSocketFactory;                         ///< Socket factory
+  Mutex                       mMutex;                                 ///< Mutex
   ThreadMode                  mThreadMode;                            ///< The thread mode
   const bool                  mEnvironmentOptionsOwned : 1;           ///< Whether we own the EnvironmentOptions (and thus, need to delete it)
   bool                        mUseRemoteSurface : 1;                  ///< whether the remoteSurface is used or not
@@ -691,7 +705,7 @@ private:                                          // Data
   public:
     void OnAccessibleKeyEvent(const Dali::KeyEvent& event);
   };
-  AccessibilityObserver accessibilityObserver;
+  AccessibilityObserver mAccessibilityObserver;
 
 public:
   inline static Adaptor& GetImplementation(Dali::Adaptor& adaptor)