X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Fubuntu-x11%2Fwindow-base-ecore-x.cpp;h=ab67b43254266f0e4c243e3691570c0eb7668f47;hb=8786ea8fbb26a9cb555a613518cf108017467c69;hp=0c36b1d88ef6d11f7c0d816d7724fad0dd33f22a;hpb=dece1a6413b51816d7c20bca1cc26f77fe4ba630;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 0c36b1d..ab67b43 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 @@ -20,6 +20,7 @@ // INTERNAL HEADERS #include +#include #include #include @@ -263,6 +264,8 @@ WindowBaseEcoreX::~WindowBaseEcoreX() if( mOwnSurface ) { ecore_x_window_free( mEcoreWindow ); + + WindowSystem::Shutdown(); } } @@ -274,6 +277,8 @@ void WindowBaseEcoreX::Initialize( PositionSize positionSize, Any surface, bool // if the surface is empty, create a new one. if( surfaceId == 0 ) { + WindowSystem::Initialize(); + // we own the surface about to created mOwnSurface = true; CreateWindow( positionSize, isTransparent ); @@ -701,11 +706,11 @@ void WindowBaseEcoreX::Activate() ecore_x_netwm_client_active_request( ecore_x_window_root_get( mEcoreWindow ), mEcoreWindow, 1 /* request type, 1:application, 2:pager */, 0 ); } -void WindowBaseEcoreX::SetAvailableOrientations( const std::vector< Dali::Window::WindowOrientation >& orientations ) +void WindowBaseEcoreX::SetAvailableAnlges( const std::vector< int >& angles ) { } -void WindowBaseEcoreX::SetPreferredOrientation( Dali::Window::WindowOrientation orientation ) +void WindowBaseEcoreX::SetPreferredAngle( int angle ) { } @@ -888,48 +893,22 @@ void WindowBaseEcoreX::CreateWindow( PositionSize positionSize, bool isTranspare } } -void WindowBaseEcoreX::SetParent( Any parent ) +void WindowBaseEcoreX::SetParent( WindowBase* parentWinBase ) { - Ecore_X_Window mEcoreParent; - if ( parent.Empty() == false ) + Ecore_X_Window ecoreParent = 0; + if( parentWinBase ) { - // 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 ); - } + WindowBaseEcoreX* winBaseEcoreX = static_cast( parentWinBase ); + ecoreParent = winBaseEcoreX->mEcoreWindow; + ecore_x_icccm_transient_for_set( mEcoreWindow, ecoreParent ); } else { - mEcoreParent = 0; + ecoreParent = 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