Revert "Fix unParent and rotation bug"
[platform/core/uifw/dali-adaptor.git] / dali / internal / window-system / tizen-wayland / ecore-wl / window-base-ecore-wl.cpp
index 5495b17..5b67e26 100644 (file)
@@ -584,10 +584,7 @@ WindowBaseEcoreWl::WindowBaseEcoreWl( Dali::PositionSize positionSize, Any surfa
   mBrightness( 0 ),
   mBrightnessChangeState( 0 ),
   mBrightnessChangeDone( true ),
-  mOwnSurface( false ),
-  mWindowRotationAngle( 0 ),
-  mScreenRotationAngle( 0 ),
-  mSupportedPreProtation( 0 )
+  mOwnSurface( false )
 #ifdef DALI_ELDBUS_AVAILABLE
   , mSystemConnection( NULL )
 #endif
@@ -1319,10 +1316,9 @@ bool WindowBaseEcoreWl::IsEglWindowRotationSupported()
   wl_egl_window_capability capability = static_cast< wl_egl_window_capability >( wl_egl_window_get_capabilities( mEglWindow ) );
   if( capability == WL_EGL_WINDOW_CAPABILITY_ROTATION_SUPPORTED )
   {
-    mSupportedPreProtation = true;
     return true;
   }
-  mSupportedPreProtation = false;
+
   return false;
 }
 
@@ -2063,16 +2059,6 @@ void WindowBaseEcoreWl::GetDpi( unsigned int& dpiHorizontal, unsigned int& dpiVe
   dpiVertical   = int( yres + 0.5f );
 }
 
-int WindowBaseEcoreWl::GetOrientation() const
-{
-  int orientation = (mScreenRotationAngle + mWindowRotationAngle) % 360;
-  if( mSupportedPreProtation )
-  {
-    orientation = 0;
-  }
-  return orientation;
-}
-
 int WindowBaseEcoreWl::GetScreenRotationAngle()
 {
   int transform = 0;
@@ -2086,21 +2072,14 @@ int WindowBaseEcoreWl::GetScreenRotationAngle()
     transform = ecore_wl_output_transform_get( ecore_wl_window_output_find( mEcoreWindow ) );
   }
 
-  mScreenRotationAngle = transform * 90;
-  return mScreenRotationAngle;
+  return transform * 90;
 }
 
 void WindowBaseEcoreWl::SetWindowRotationAngle( int degree )
 {
-  mWindowRotationAngle = degree;
   ecore_wl_window_rotation_set( mEcoreWindow, degree );
 }
 
-int WindowBaseEcoreWl::GetWindowRotationAngle()
-{
-  return mWindowRotationAngle;
-}
-
 void WindowBaseEcoreWl::WindowRotationCompleted( int degree, int width, int height )
 {
   ecore_wl_window_rotation_change_done_send( mEcoreWindow );
@@ -2153,15 +2132,35 @@ void WindowBaseEcoreWl::CreateWindow( PositionSize positionSize )
   }
 }
 
-void WindowBaseEcoreWl::SetParent( WindowBase* parentWinBase )
+void WindowBaseEcoreWl::SetParent( Any parent )
 {
-  Ecore_Wl_Window* ecoreParent = NULL;
-  if( parentWinBase )
+  Ecore_Wl_Window* mEcoreParent;
+  if( parent.Empty() == false )
   {
-    WindowBaseEcoreWl* winBaseEcore = static_cast<WindowBaseEcoreWl*>( parentWinBase );
-    ecoreParent = winBaseEcore->mEcoreWindow;
+    // check we have a valid type
+    DALI_ASSERT_ALWAYS( ( parent.GetType() == typeid (Ecore_Wl_Window *) ) && "Parent's surface type is invalid" );
+    mEcoreParent = AnyCast< Ecore_Wl_Window* >( parent );
+  }
+  else
+  {
+    mEcoreParent = NULL;
+  }
+  ecore_wl_window_parent_set( mEcoreWindow, mEcoreParent );
+}
+
+bool WindowBaseEcoreWl::IsMatchedWindow( Any window )
+{
+  bool ret = false;
+  if ( window.Empty() == false )
+  {
+    // check we have a valid type
+    DALI_ASSERT_ALWAYS( ( window.GetType() == typeid (Ecore_Wl_Window *) ) && "Window's surface type is invalid" );
+    if ( AnyCast< Ecore_Wl_Window* >( window ) == mEcoreWindow )
+    {
+      ret = true;
+    }
   }
-  ecore_wl_window_parent_set( mEcoreWindow, ecoreParent );
+  return ret;
 }
 
 } // namespace Adaptor