[Tizen] Add screen and client rotation itself function
[platform/core/uifw/dali-adaptor.git] / dali / internal / window-system / tizen-wayland / ecore-wl2 / window-base-ecore-wl2.cpp
index aafb808..bcda678 100755 (executable)
@@ -762,11 +762,6 @@ void WindowBaseEcoreWl2::Initialize( PositionSize positionSize, Any surface, boo
     CreateWindow( positionSize );
   }
 
-  for( int i = 0; i < 4; ++i )
-  {
-    mAvaiableWindowOrientations[i] = 0;
-  }
-
   mWlSurface = ecore_wl2_window_surface_get( mEcoreWindow );
 
   SetTransparency( isTransparent );
@@ -1583,14 +1578,14 @@ void WindowBaseEcoreWl2::Activate()
 
 void WindowBaseEcoreWl2::SetAvailableAnlges( const std::vector< int >& angles )
 {
+  int rotations[4] = { 0 };
   DALI_LOG_RELEASE_INFO( "WindowBaseEcoreWl2::SetAvailableAnlges, angle's count: %d, angles\n", angles.size() );
-  std::size_t size = angles.size();
-  for( std::size_t i = 0; i < size; ++i )
+  for( std::size_t i = 0; i < angles.size(); ++i )
   {
-    mAvaiableWindowOrientations[i] = static_cast< int >( angles[i] );
-    DALI_LOG_RELEASE_INFO( "%d ", mAvaiableWindowOrientations[i] );
+    rotations[i] = static_cast< int >( angles[i] );
+    DALI_LOG_RELEASE_INFO( "%d ", rotations[i] );
   }
-  ecore_wl2_window_available_rotations_set( mEcoreWindow, mAvaiableWindowOrientations, size );
+  ecore_wl2_window_available_rotations_set( mEcoreWindow, rotations, angles.size() );
 }
 
 void WindowBaseEcoreWl2::SetPreferredAngle( int angle )
@@ -2379,6 +2374,8 @@ void WindowBaseEcoreWl2::CreateWindow( PositionSize positionSize )
     DALI_ASSERT_ALWAYS( 0 && "Failed to get display" );
   }
 
+  ecore_wl2_display_sync( display );
+
   mEcoreWindow = ecore_wl2_window_new( display, NULL, positionSize.x, positionSize.y, positionSize.width, positionSize.height );
 
   if ( mEcoreWindow == 0 )
@@ -2401,6 +2398,16 @@ void WindowBaseEcoreWl2::SetParent( WindowBase* parentWinBase )
   ecore_wl2_window_parent_set( mEcoreWindow, ecoreParent );
 }
 
+int WindowBaseEcoreWl2::CreateFrameRenderedSyncFence()
+{
+  return wl_egl_window_tizen_create_commit_sync_fd( mEglWindow );
+}
+
+int WindowBaseEcoreWl2::CreateFramePresentedSyncFence()
+{
+  return wl_egl_window_tizen_create_presentation_sync_fd( mEglWindow );
+}
+
 } // namespace Adaptor
 
 } // namespace Internal