[Tizen] Add check code with orientation in creating egl window. 41/234541/1
authorWonsik Jung <sidein@samsung.com>
Wed, 27 May 2020 06:19:19 +0000 (15:19 +0900)
committerWonsik Jung <sidein@samsung.com>
Wed, 27 May 2020 06:19:19 +0000 (15:19 +0900)
Sometimes, window rotation event occurs before eglwindow is created.
eglWindow should be created with the size of 0's orientation.
To fix, add check code with orientation in creating egl window.

Change-Id: Ib55712662242072386f88f6a7d0f8508de91fb80

dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp

index 9624c20..abbc8d4 100755 (executable)
@@ -1381,7 +1381,15 @@ int WindowBaseEcoreWl2::GetNativeWindowId()
 
 EGLNativeWindowType WindowBaseEcoreWl2::CreateEglWindow( int width, int height )
 {
-  mEglWindow = wl_egl_window_create( mWlSurface, width, height );
+  int totalAngle = (mWindowRotationAngle + mScreenRotationAngle) % 360;
+  if( totalAngle == 90 || totalAngle == 270 )
+  {
+    mEglWindow = wl_egl_window_create( mWlSurface, height, width );
+  }
+  else
+  {
+    mEglWindow = wl_egl_window_create( mWlSurface, width, height );
+  }
 
   return static_cast< EGLNativeWindowType >( mEglWindow );
 }
@@ -1579,6 +1587,7 @@ void WindowBaseEcoreWl2::SetAvailableAnlges( const std::vector< int >& angles )
 
 void WindowBaseEcoreWl2::SetPreferredAngle( int angle )
 {
+  DALI_LOG_RELEASE_INFO( "WindowBaseEcoreWl2::SetPreferredAngle, angle: %d\n", angle );
   ecore_wl2_window_preferred_rotation_set( mEcoreWindow, angle );
 }