X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Ftizen-wayland%2Fdisplay-connection-impl-ecore-wl.cpp;h=f639ed538caec8f8dc3673548d6d295238c0633a;hb=e8e185f7d90010214890c2cb78bdd52c732f63ba;hp=b4d102f4a018e421ab522ac053adb89f0b7fd0ff;hpb=3c06904e3aae57e60b48817bece534e44ac3cf8c;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.cpp b/dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.cpp index b4d102f..f639ed5 100755 --- a/dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.cpp +++ b/dali/internal/window-system/tizen-wayland/display-connection-impl-ecore-wl.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2018 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,11 +17,17 @@ // CLASS HEADER #include +#include // EXTERNAL_HEADERS -#include #include +#ifdef ECORE_WAYLAND2 +#include +#else +#include +#endif + namespace Dali { @@ -40,13 +46,14 @@ DisplayConnection* DisplayConnectionEcoreWl::New() DisplayConnectionEcoreWl::DisplayConnectionEcoreWl() : mDisplay( NULL ), - mSurfaceType( RenderSurface::WINDOW_RENDER_SURFACE ) + mSurfaceType( Integration::RenderSurface::WINDOW_RENDER_SURFACE ), + mGraphics( nullptr ) { } DisplayConnectionEcoreWl::~DisplayConnectionEcoreWl() { - if( mSurfaceType == RenderSurface::NATIVE_RENDER_SURFACE ) + if( mSurfaceType == Integration::RenderSurface::NATIVE_RENDER_SURFACE ) { ReleaseNativeDisplay(); } @@ -61,9 +68,10 @@ void DisplayConnectionEcoreWl::ConsumeEvents() { } -bool DisplayConnectionEcoreWl::InitializeEgl(EglInterface& egl) +bool DisplayConnectionEcoreWl::InitializeGraphics() { - EglImplementation& eglImpl = static_cast(egl); + auto eglGraphics = static_cast(mGraphics); + EglImplementation& eglImpl = eglGraphics->GetEglImplementation(); if( !eglImpl.InitializeGles( mDisplay ) ) { @@ -74,20 +82,30 @@ bool DisplayConnectionEcoreWl::InitializeEgl(EglInterface& egl) return true; } -void DisplayConnectionEcoreWl::SetSurfaceType( RenderSurface::Type type ) +void DisplayConnectionEcoreWl::SetSurfaceType( Integration::RenderSurface::Type type ) { mSurfaceType = type; - if( mSurfaceType == RenderSurface::NATIVE_RENDER_SURFACE ) + if( mSurfaceType == Integration::RenderSurface::NATIVE_RENDER_SURFACE ) { mDisplay = GetNativeDisplay(); } else { +#ifdef ECORE_WAYLAND2 + Ecore_Wl2_Display* display = ecore_wl2_connected_display_get( NULL ); + mDisplay = reinterpret_cast< EGLNativeDisplayType >( ecore_wl2_display_get( display ) ); +#else mDisplay = reinterpret_cast< EGLNativeDisplayType >( ecore_wl_display_get() ); +#endif } } +void DisplayConnectionEcoreWl::SetGraphicsInterface( GraphicsInterface& graphics ) +{ + mGraphics = &graphics; +} + EGLNativeDisplayType DisplayConnectionEcoreWl::GetNativeDisplay() { return EGLNativeDisplayType();