X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=adaptors%2Fwayland%2Fwindow-render-surface-wl.cpp;h=d14daccd82ff3f54b6465ebc901316610eed352e;hb=bbb779b2db0f2fffdbd9830146a2dcba4a4f8943;hp=f2d83ba4ebe11f85f9b86337fedcfcfaa18f7e81;hpb=391659a08e30ce6430ecc569f99cc2556990d700;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/adaptors/wayland/window-render-surface-wl.cpp b/adaptors/wayland/window-render-surface-wl.cpp index f2d83ba..d14dacc 100644 --- a/adaptors/wayland/window-render-surface-wl.cpp +++ b/adaptors/wayland/window-render-surface-wl.cpp @@ -101,6 +101,16 @@ void WindowRenderSurface::CreateEglSurface( EglInterface& eglIf ) Internal::Adaptor::EglImplementation& eglImpl = static_cast( eglIf ); + // Temporary code for opaque window. We have to modify it after wayland team finish the work. + if( mColorDepth == COLOR_DEPTH_32 ) + { + ecore_wl_window_alpha_set( mWlWindow, true ); + } + else + { + ecore_wl_window_alpha_set( mWlWindow, false ); + } + // create the EGL surface ecore_wl_window_surface_create(mWlWindow); mEglWindow = wl_egl_window_create(ecore_wl_window_surface_get(mWlWindow), mPosition.width, mPosition.height); @@ -121,7 +131,22 @@ bool WindowRenderSurface::ReplaceEGLSurface( EglInterface& egl ) { DALI_LOG_TRACE_METHOD( gRenderSurfaceLogFilter ); - wl_egl_window_destroy(mEglWindow); + if( mEglWindow != NULL ) + { + wl_egl_window_destroy(mEglWindow); + mEglWindow = NULL; + } + + // Temporary code for opaque window. We have to modify it after wayland team finish the work. + if( mColorDepth == COLOR_DEPTH_32 ) + { + ecore_wl_window_alpha_set( mWlWindow, true ); + } + else + { + ecore_wl_window_alpha_set( mWlWindow, false ); + } + mEglWindow = wl_egl_window_create(ecore_wl_window_surface_get(mWlWindow), mPosition.width, mPosition.height); Internal::Adaptor::EglImplementation& eglImpl = static_cast( egl ); @@ -175,7 +200,7 @@ bool WindowRenderSurface::PreRender( EglInterface&, Integration::GlAbstraction& return true; } -void WindowRenderSurface::PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, DisplayConnection* displayConnection, unsigned int deltaTime, bool replacingSurface ) +void WindowRenderSurface::PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, DisplayConnection* displayConnection, bool replacingSurface ) { Internal::Adaptor::EglImplementation& eglImpl = static_cast( egl ); eglImpl.SwapBuffers(); @@ -228,6 +253,11 @@ void WindowRenderSurface::UseExistingRenderable( unsigned int surfaceId ) mWlWindow = AnyCast< Ecore_Wl_Window* >( surfaceId ); } +void WindowRenderSurface::SetThreadSynchronization( ThreadSynchronizationInterface& /* threadSynchronization */ ) +{ + // Nothing to do. +} + void WindowRenderSurface::ReleaseLock() { // Nothing to do.