X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Fubuntu-x11%2Fwindow-base-ecore-x.cpp;h=a000b74b02612f38f7fb28802e04a81d8c669be8;hb=0baa433fd9d187e555e0d281e36119993aae132f;hp=76395e281ae3817c74e9cfd6a01baae6dc9f8e1c;hpb=9d1664abe78262c8a9bcf25d703581e347a8dc29;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 76395e2..a000b74 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 @@ -898,6 +898,48 @@ void WindowBaseEcoreX::CreateWindow( PositionSize positionSize, bool isTranspare } } +void WindowBaseEcoreX::SetParent( Any parent ) +{ + Ecore_X_Window mEcoreParent; + if ( parent.Empty() == false ) + { + // 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 + { + mEcoreParent = 0; + ecore_x_icccm_transient_for_unset( mEcoreWindow ); + } +} + +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