Introduce experimental Wayland backend

This patch introduces a new backend that enables GLFW applications to
run on Wayland. For now, only output is supported (windowed and
fullscreen). Pointer cursor management, input devices, clipboard etc are
not supported yet.

There are some concepts that can not be supported, more specifically
glfwSetWindowPos, glfwGetWindowPos and glfwSetCursorPos, as they are not
supported by Wayland.

This patch also changes the time and joystick implementations used by the
X11 backend to be shared between the Wayland backend and the X11 backend.
This commit is contained in:
Jonas Ådahl
2014-03-17 22:53:43 +01:00
committed by Camilla Berglund
parent 99c98407c9
commit 8e99996321
16 changed files with 1242 additions and 57 deletions
+12 -3
View File
@@ -22,10 +22,19 @@ elseif (_GLFW_WIN32)
win32_init.c win32_joystick.c win32_monitor.c win32_time.c
win32_tls.c win32_window.c)
elseif (_GLFW_X11)
set(glfw_HEADERS ${common_HEADERS} x11_platform.h posix_tls.h)
set(glfw_HEADERS ${common_HEADERS} x11_platform.h posix_tls.h unix_time.h)
set(glfw_SOURCES ${common_SOURCES} x11_clipboard.c x11_gamma.c x11_init.c
x11_joystick.c x11_monitor.c x11_time.c x11_window.c
x11_unicode.c posix_tls.c)
x11_monitor.c x11_window.c x11_unicode.c posix_tls.c)
elseif (_GLFW_WAYLAND)
set(glfw_HEADERS ${common_HEADERS} wayland_platform.h posix_tls.h)
set(glfw_SOURCES ${common_SOURCES} wayland_clipboard.c wayland_gamma.c
wayland_init.c wayland_monitor.c wayland_window.c
posix_tls.c)
endif()
if (_GLFW_X11 OR _GLFW_WAYLAND)
list(APPEND glfw_HEADERS linux_joystick.h unix_time.h)
list(APPEND glfw_SOURCES linux_joystick.c unix_time.c)
endif()
if (_GLFW_EGL)