X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Fubuntu-x11%2Fwindow-base-ecore-x.cpp;h=0c36b1d88ef6d11f7c0d816d7724fad0dd33f22a;hb=53fdb2e5468ea10660fa8ef1e2247c05bff7edb2;hp=be17bdf97833bbac89d3bbd9157fa918e8370173;hpb=72c86ab9cedd7d397acca026e1e6b7e659c2a595;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/window-system/ubuntu-x11/window-base-ecore-x.cpp b/dali/internal/window-system/ubuntu-x11/window-base-ecore-x.cpp index be17bdf..0c36b1d 100755 --- a/dali/internal/window-system/ubuntu-x11/window-base-ecore-x.cpp +++ b/dali/internal/window-system/ubuntu-x11/window-base-ecore-x.cpp @@ -829,11 +829,6 @@ void WindowBaseEcoreX::GetDpi( unsigned int& dpiHorizontal, unsigned int& dpiVer dpiVertical = ecore_x_dpi_get(); } -int WindowBaseEcoreX::GetOrientation() const -{ - return 0; -} - int WindowBaseEcoreX::GetScreenRotationAngle() { return 0; @@ -843,11 +838,6 @@ void WindowBaseEcoreX::SetWindowRotationAngle( int degree ) { } -int WindowBaseEcoreX::GetWindowRotationAngle() -{ - return 0; -} - void WindowBaseEcoreX::WindowRotationCompleted( int degree, int width, int height ) { } @@ -898,14 +888,25 @@ void WindowBaseEcoreX::CreateWindow( PositionSize positionSize, bool isTranspare } } -void WindowBaseEcoreX::SetParent( WindowBase* parentWinBase ) +void WindowBaseEcoreX::SetParent( Any parent ) { - Ecore_X_Window ecoreParent = 0; - if( parentWinBase ) + Ecore_X_Window mEcoreParent; + if ( parent.Empty() == false ) { - WindowBaseEcoreX* winBaseEcoreX = static_cast( parentWinBase ); - ecoreParent = winBaseEcoreX->mEcoreWindow; - ecore_x_icccm_transient_for_set( mEcoreWindow, ecoreParent ); + // check we have a valid type + DALI_ASSERT_ALWAYS( ( (parent.GetType() == typeid (Ecore_X_Window) ) ) + && "Surface type is invalid" ); + + if ( parent.GetType() == typeid (Ecore_X_Window) ) + { + mEcoreParent = AnyCast< Ecore_X_Window >( parent ); + ecore_x_icccm_transient_for_set( mEcoreWindow, mEcoreParent ); + } + else + { + mEcoreParent = 0; + ecore_x_icccm_transient_for_unset( mEcoreWindow ); + } } else { @@ -914,6 +915,21 @@ void WindowBaseEcoreX::SetParent( WindowBase* parentWinBase ) } } +bool WindowBaseEcoreX::IsMatchedWindow( Any window ) +{ + bool ret = false; + if ( window.Empty() == false ) + { + // check we have a valid type + DALI_ASSERT_ALWAYS( ( (window.GetType() == typeid (Ecore_X_Window) ) ) && "Surface type is invalid" ); + if ( AnyCast< Ecore_X_Window >( window ) == mEcoreWindow ) + { + ret = true; + } + } + return ret; +} + } // namespace Adaptor } // namespace Internal