Revert "[Tizen] Revert "Support screen rotation""
[platform/core/uifw/dali-adaptor.git] / adaptors / integration-api / x11 / pixmap-render-surface.h
index cf0a227..106c90c 100644 (file)
@@ -18,9 +18,6 @@
  *
  */
 
-// EXTERNAL INCLUDES
-#include <boost/thread.hpp>
-
 // INTERNAL INCLUDES
 #include <ecore-x-render-surface.h>
 
@@ -98,38 +95,26 @@ public: // from Dali::RenderSurface
   /**
    * @copydoc Dali::RenderSurface::PreRender()
    */
-  virtual bool PreRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction );
+  virtual bool PreRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, bool resizingSurface );
 
   /**
    * @copydoc Dali::RenderSurface::PostRender()
    */
-  virtual void PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, DisplayConnection* displayConnection, unsigned int deltaTime, bool replacingSurface );
+  virtual void PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface );
 
   /**
    * @copydoc Dali::RenderSurface::StopRender()
    */
   virtual void StopRender();
 
-private:
-  enum SyncMode
-  {
-    SYNC_MODE_NONE,
-    SYNC_MODE_WAIT
-  };
-
   /**
-   * Set the sync mode.
-   * @param[in] syncMode The sync mode
+   * @copydoc Dali::RenderSurface::SetThreadSynchronization
    */
-  void SetSyncMode( SyncMode syncMode );
+  virtual void SetThreadSynchronization( ThreadSynchronizationInterface& threadSynchronization );
 
-  /**
-   * If sync mode is WAIT, then acquire a lock. This prevents render thread from
-   * continuing until the pixmap has been drawn by the compositor.
-   * It must be released for rendering to continue.
-   * @param[in] syncMode The current sync mode
-   */
-  void AcquireLock( SyncMode syncMode );
+  virtual RenderSurface::Type GetSurfaceType();
+
+private:
 
   /**
    * Release any locks.
@@ -148,11 +133,8 @@ private:
 
 private: // Data
 
-  boost::condition_variable   mSyncNotify; ///< condition to notify main thread that pixmap was flushed to onscreen
-  boost::mutex                mSyncMutex;  ///< mutex to lock during waiting sync
-  Ecore_X_Pixmap   mX11Pixmap;    ///< X-Pixmap
-  SyncMode         mSyncMode;     ///< Stores whether the post render should block waiting for compositor
-  bool             mSyncReceived; ///< true, when a pixmap sync has occurred, (cleared after reading)
+  struct Impl;
+  Impl* mImpl;
 };
 
 } // namespace ECore