1
0
Fork 0
mirror of https://github.com/gwm17/glfw.git synced 2024-11-23 18:58:52 -05:00
Commit Graph

180 Commits

Author SHA1 Message Date
Jonas Ådahl 8e99996321 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.
2014-04-08 16:07:20 +02:00
Camilla Berglund 78efc18079 Split out TLS code into separate modules.
This allows the TLS code to be re-used by partial ports like EGL.
2014-03-30 15:24:09 +02:00
Camilla Berglund 0c58df06d5 Added support for _NET_REQUEST_FRAME_EXTENTS. 2014-03-30 12:28:01 +02:00
Camilla Berglund eb3f75e03e Added glfwGetWindowFrameSize. 2014-03-30 10:57:32 +02:00
urraka 40c04a7565 Added support for custom system cursors.
This adds 3 functions to the GLFW API: glfwCreateCursor,
glfwDestroyCursor and glfwSetCursor.
2014-03-20 11:30:27 +01:00
Camilla Berglund 87dd7b89f5 Video mode detection cleanup. 2014-03-10 12:36:23 +01:00
Camilla Berglund 9309f75704 Fixed missing ICCCM protocol message checks. 2014-03-09 13:24:37 +01:00
Camilla Berglund 98552f1d75 Added caching of X11 NULL atom. 2014-03-09 13:18:58 +01:00
Camilla Berglund 2ec0acc972 Formatting (removed tab characters). 2014-02-13 13:30:15 +01:00
Camilla Berglund 58db8622bd Cleanup. 2014-01-22 20:15:27 +01:00
Camilla Berglund dd02b96c94 Added flag for non-functional RandR monitor path. 2014-01-22 20:13:19 +01:00
Camilla Berglund 611006af18 Updated API version in comment headers. 2014-01-22 01:32:00 +01:00
Camilla Berglund 0163bc05d6 Moved internal context function declarations. 2014-01-22 01:23:35 +01:00
Camilla Berglund 8f349e84ae Cleaned up drop callback design. 2014-01-21 18:23:25 +01:00
Camilla Berglund 8ae063bb1b Cleanup. 2014-01-21 15:25:49 +01:00
arturo 89d0723ba3 Initial drag and drop support. 2014-01-21 15:25:49 +01:00
Camilla Berglund e0a26aa62f Cursor mode cleanup. 2014-01-15 14:23:34 +01:00
Camilla Berglund 5ef4f77fb5 Added support for _NET_WM_BYPASS_COMPOSITOR. 2013-11-20 19:59:17 +01:00
Camilla Berglund 3cfc400cf9 Simplified source file comment headers. 2013-07-30 14:46:52 +02:00
Camilla Berglund 45653c5549 Cleaned up X error handler work. 2013-07-11 01:32:46 +02:00
siavash 3b4eb2f0a0 Added blank cursor creation error checking on X11. 2013-07-09 21:08:21 +04:30
Camilla Berglund dcb4d8ee32 Fixed possible X11 screensaver race condition. 2013-07-04 17:52:15 +02:00
Camilla Berglund 4883073b91 Cleanup. 2013-06-24 14:38:00 +02:00
Camilla Berglund a7ff236b32 Fixed duplicate events being reported. 2013-06-16 18:29:46 +02:00
Camilla Berglund 7f2eb7b15b New joystick API. 2013-05-22 21:56:14 +02:00
Camilla Berglund be28914732 Added setting of _NET_WM_PID. 2013-05-02 16:31:27 +02:00
Camilla Berglund 161c73ea66 Removed centered flag. 2013-05-01 16:34:11 +02:00
Camilla Berglund aa3364a73e Fixed jitter in captured cursor mode. 2013-04-30 15:50:01 +02:00
Camilla Berglund affb62514a Cleanup of clipboard manager work. 2013-04-29 21:06:54 +02:00
Camilla Berglund 179194a687 Added support for clipboard manager. 2013-04-29 13:16:56 +02:00
Camilla Berglund 1b34887e10 Formatting. 2013-04-29 13:01:30 +02:00
Camilla Berglund ae1532670c Separated formats from targets. 2013-04-29 13:01:30 +02:00
Camilla Berglund 822eb1c986 Added support for MULTIPLE target. 2013-04-29 13:01:26 +02:00
Camilla Berglund 7012d97958 Removed clipboard format index macros. 2013-04-29 00:23:59 +02:00
Camilla Berglund f5ba0d9f22 Video mode setting cleanup. 2013-04-21 21:28:07 +02:00
Camilla Berglund 26756b9ae1 Moved to use X11 context manager. 2013-04-15 02:24:43 +02:00
Camilla Berglund 32273c5d96 Formatting. 2013-04-14 16:33:20 +02:00
Camilla Berglund 49db3b2a9e Formatting. 2013-04-08 15:24:24 +02:00
Camilla Berglund d4a61bbd36 Removed unused type. 2013-04-08 13:59:04 +02:00
Camilla Berglund f41d85a209 Added initial XInput2 cursor motion. 2013-04-04 16:48:58 +02:00
Camilla Berglund 92a71e07d3 Made gamma ramp functions per-monitor. 2013-02-12 14:03:51 +01:00
Camilla Berglund 7c1932381b Reintroduced glfwGetWindowPos, glfwSetWindowPos. 2013-02-11 19:43:08 +01:00
Camilla Berglund 954d6383ee RandR monitor work.
Moved to CRTC plus usable output for native representation of monitors.
Moved to CRTCs for mode setting and simplified mode setting interface.
2013-02-01 18:03:02 +01:00
Camilla Berglund 065858e185 Removed declaration of removed function. 2013-02-01 18:03:02 +01:00
Camilla Berglund e209ac7a42 Fixed X11 clipboard regressions, event waiting. 2013-01-31 00:26:37 +01:00
Camilla Berglund f3e39ce680 Cleanup of clipboard and string atoms. 2013-01-29 02:45:08 +01:00
Camilla Berglund b1ff42b7bb Moved to WM_STATE for iconify events. 2013-01-25 00:44:26 +01:00
Camilla Berglund e820284015 Renamed WM atom struct members for clarity. 2013-01-25 00:44:19 +01:00
Camilla Berglund 38947b37af Renamed context API init/terminate functions. 2013-01-15 20:49:29 +01:00
Camilla Berglund f8df91d815 Inclusion guard fixes. 2013-01-15 02:00:03 +01:00
Camilla Berglund 6a4c175816 Made client-side RandR and Xf86VidMode required. 2013-01-12 19:23:53 +01:00
Camilla Berglund be8856af65 Made the X keyboard extension required. 2013-01-07 18:14:26 +01:00
Camilla Berglund 478347004d Cleanup. 2013-01-04 07:46:44 +01:00
Camilla Berglund 46c1e4028f Begun integrating mode setting and monitor API. 2013-01-03 17:56:59 +01:00
Camilla Berglund 1bc91bfe5b Formatting. 2013-01-02 17:07:04 +01:00
Camilla Berglund b72a97d531 Renamed global struct and substructs.
Renamed _glfwLibrary to _glfw and made all substructs lower-case, making
global variable names easier to read and type.  Partially inspired by the
internal naming conventions of glwt.
2013-01-02 01:44:57 +01:00
Camilla Berglund 52dac79219 Ripped out horribly broken refresh rate mess. 2012-12-31 02:06:19 +01:00
Camilla Berglund 73cdc34df7 Merge branch 'master' into multi-monitor
Conflicts:
	CMakeLists.txt
	readme.html
	src/CMakeLists.txt
	src/cocoa_platform.h
	src/win32_platform.h
	src/x11_platform.h
	tests/events.c
2012-12-02 20:52:03 +01:00
Camilla Berglund 5da8ed250a Cleanup of backend option strings. 2012-12-02 19:01:20 +01:00
Camilla Berglund 14e71833bd Merge branch 'master' into EGL 2012-12-02 17:11:17 +01:00
Camilla Berglund 821997ad55 Merge branch 'master' into joystickname 2012-12-02 16:36:44 +01:00
Camilla Berglund 69a900592e Added explicit support for sRGB framebuffers. 2012-12-02 16:10:00 +01:00
Camilla Berglund 41bc0d18f4 Merge branch 'master' into multi-monitor
Conflicts:
	include/GL/glfw3.h
	readme.html
	src/CMakeLists.txt
	src/win32_window.c
	src/window.c
	src/x11_window.c
	tests/clipboard.c
	tests/defaults.c
	tests/events.c
	tests/fsfocus.c
	tests/glfwinfo.c
	tests/joysticks.c
	tests/peter.c
	tests/sharing.c
	tests/tearing.c
	tests/title.c
	tests/windows.c
2012-11-27 16:55:04 +01:00
Camilla Berglund 34d383399c Finished initial window/context backend split. 2012-11-27 15:02:26 +01:00
Camilla Berglund 10cc85343a Formatting. 2012-11-27 13:38:21 +01:00
Camilla Berglund e4ddcefc14 Merge branch 'master' into EGL
Conflicts:
	CMakeLists.txt
	include/GL/glfw3.h
	readme.html
	src/CMakeLists.txt
	src/cocoa_window.m
	src/config.h.in
	src/glx_opengl.c
	src/internal.h
	src/opengl.c
	src/window.c
	tests/glfwinfo.c
2012-11-27 12:21:54 +01:00
m@bitsnbites.eu 1c21fc1383 Removed GLFW_SYSTEM_KEYS from the GLFW API
Rationale: Disabling system commands is inherently
dangerous, and should not be encouraged. Also, it's very
difficult to define and implement a reliable and
consistent cross-platform mechanism.
2012-11-10 22:20:47 +01:00
m@bitsnbites.eu c9f4dedd96 Introduced window positioning hints and window position properties 2012-11-10 22:19:55 +01:00
Camilla Berglund 85cfc6bdd0 Merge branch 'master' into joystickname
Conflicts:
	src/x11_joystick.c
2012-09-23 15:46:42 +02:00
Camilla Berglund 830f2b439c Cleanup. 2012-09-12 20:41:14 +02:00
Camilla Berglund 83f5b920b9 Merge branch 'master' into multi-monitor
Conflicts:
	.gitignore
	src/CMakeLists.txt
	src/x11_window.c
2012-09-12 06:04:17 +02:00
Camilla Berglund 0272ce2e98 Merge branch 'master' into EGL
Conflicts:
	src/glx_opengl.c
	src/opengl.c
	tests/glfwinfo.c
2012-09-09 19:52:33 +02:00
Camilla Berglund 7493bbe0c8 Removed X11 prefix from EGL and GLX files. 2012-09-09 19:33:40 +02:00
Camilla Berglund 74488bec67 Further isolated X11-specific parts of EGL code. 2012-09-09 19:21:14 +02:00
Camilla Berglund 0ca1e67d7a Moved X11-specific defines to X11 header. 2012-09-09 19:03:17 +02:00
Camilla Berglund 4cb569b5b3 Replaced guessing with dirent and regex. 2012-09-07 15:27:41 +02:00
Camilla Berglund 93a1d1c226 Added stubs, implemented on Linux and Cocoa. 2012-09-07 01:01:34 +02:00
Camilla Berglund cbcab56a25 Merge branch 'master' into EGL
Conflicts:
	include/GL/glfw3.h
	src/opengl.c
	src/win32_opengl.c
	src/window.c
	src/x11_fullscreen.c
	src/x11_glx_opengl.c
	src/x11_platform.h
	src/x11_window.c
	tests/glfwinfo.c
2012-09-06 21:05:03 +02:00
Camilla Berglund 560b6b5a11 Merge branch 'master' into multi-monitor
Conflicts:
	src/CMakeLists.txt
	src/internal.h
	src/x11_platform.h
2012-08-29 20:36:07 +02:00
Camilla Berglund c28fb4ca0c Cleaned up Linux joystick code. 2012-08-26 18:15:47 +02:00
Camilla Berglund bf3486f077 Comment updates and formatting. 2012-08-26 15:38:18 +02:00
Camilla Berglund f559b217af Merge branch 'master' into multi-monitor 2012-07-20 01:05:09 +02:00
Camilla Berglund be12cbca15 Added separate platform headers for EGL and GLX. 2012-07-19 23:06:15 +02:00
Cloudef 819b09d479 Add member struct defines for window's context members so code can be shared 2012-07-17 22:25:47 +03:00
Camilla Berglund aa328c0bbd Added support for GLX_MESA_swap_interval. 2012-07-15 16:49:05 +02:00
Camilla Berglund 73622a2f3c Formatting. 2012-07-06 14:36:29 +02:00
Camilla Berglund c06f838d88 Merge branch 'master' into multi-monitor
Conflicts:
	.gitignore
	examples/CMakeLists.txt
	include/GL/glfw3.h
	src/CMakeLists.txt
	src/internal.h
	src/win32_platform.h
	src/win32_window.c
	src/x11_fullscreen.c
	src/x11_platform.h
	tests/listmodes.c
2012-07-05 16:15:01 +02:00
Camilla Berglund fbb2f24ebb Merge branch 'context-window-split'
Conflicts:
	src/x11_init.c
	src/x11_platform.h
	src/x11_window.c
2012-06-03 16:31:56 +02:00
Camilla Berglund 322407ae9f Moved X11 gamma ramp termination to gamma module. 2012-05-31 01:34:21 +02:00
Camilla Berglund 1a37788143 Moved X11 gamma ramp init to gamma module. 2012-05-24 11:36:43 +02:00
Camilla Berglund a22fbf7e9b Moved remaining X visual management into opengl module. 2012-04-23 22:31:55 +02:00
Camilla Berglund f77c8f8b21 Made GLX extension management global instead of per-window. 2012-04-23 13:08:34 +02:00
Camilla Berglund 9614b9b22f Moved OpenGL init and terminate to opengl module. 2012-04-23 13:00:49 +02:00
Camilla Berglund 49dfbe86b2 Moved the majority of GLX code into opengl module. 2012-04-23 12:50:04 +02:00
Camilla Berglund 21e77fe1a6 Split platform-specific global data. 2012-04-22 15:53:02 +02:00
Camilla Berglund f231ed37f0 Re-worked and fixed X11 clipboard support. 2012-04-11 23:32:50 +02:00
Camilla Berglund e0c4d81e46 Added function for processing only pending events. 2012-04-10 01:15:50 +02:00
Camilla Berglund 952c6b7e82 Merge branch 'master' into clipboard 2012-04-09 15:33:03 +02:00
Camilla Berglund fcd67c69ec Simplified clipboard cache layout. 2012-04-09 15:27:32 +02:00
Camilla Berglund b8676f01db Clarified clipboard format atom use. 2012-04-09 15:21:54 +02:00