EGLNativeWindowType windowType( mEglWindow );
eglImpl.CreateSurfaceWindow( windowType, mColorDepth );
+#ifdef SCREEN_ROTATION_ENABLED
// Check capability
wl_egl_window_capability capability = static_cast< wl_egl_window_capability >( wl_egl_window_get_capabilities( mEglWindow ) );
if( capability == WL_EGL_WINDOW_CAPABILITY_ROTATION_SUPPORTED )
}
DALI_LOG_INFO( gRenderSurfaceLogFilter, Debug::Verbose, "WindowRenderSurface::CreateEglSurface: w = %d h = %d angle = %d screen rotation = %d\n", mPositionSize.width, mPositionSize.height, mRotationAngle, mScreenRotationAngle );
+#endif
}
void WindowRenderSurface::DestroyEglSurface( EglInterface& eglIf )
bool WindowRenderSurface::PreRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, bool resizingSurface )
{
+#ifdef SCREEN_ROTATION_ENABLED
if( resizingSurface )
{
// Window rotate or screen rotate
wl_egl_window_set_window_transform( mEglWindow, windowTransform );
}
}
+#endif
return true;
}
void WindowRenderSurface::PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface )
{
+#ifdef SCREEN_ROTATION_ENABLED
if( resizingSurface )
{
if( !mRotationFinished )
}
}
}
+#endif
Internal::Adaptor::EglImplementation& eglImpl = static_cast<Internal::Adaptor::EglImplementation&>( egl );
eglImpl.SwapBuffers();
void WindowRenderSurface::ProcessRotationRequest()
{
+#ifdef SCREEN_ROTATION_ENABLED
mRotationFinished = true;
ecore_wl_window_rotation_change_done_send( mWlWindow );
{
mThreadSynchronization->PostRenderComplete();
}
+#endif
}
} // namespace ECore
LDFLAGS+=" -Wl,--rpath=%{_libdir} -Wl,--as-needed -Wl,--gc-sections -Wl,-Bsymbolic-functions "
%ifarch %{arm}
-CXXFLAGS+=" -D_ARCH_ARM_ -lgcc"
+CXXFLAGS+=" -D_ARCH_ARM_ -lgcc -DSCREEN_ROTATION_ENABLED"
+%endif
+
+%if "%{?_with_emulator}" == "1"
+CXXFLAGS+=" -DSCREEN_ROTATION_ENABLED"
%endif
%if %{with wayland}