Commit Graph

181 Commits

Author SHA1 Message Date
Camilla Berglund
660034332d Separated joystick state from window system state.
This is partially in preparation for pending support for additional
joystick APIs like XInput, DirectInput and IOHID.
2014-04-08 16:07:21 +02:00
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