Commit Graph

130 Commits

Author SHA1 Message Date
Emmanuel Gil Peyrot
65166858ff Wayland: Add support for the idle-inhibit protocol
Closes #955.
2017-11-20 22:27:37 +01:00
Camilla Löwy
0882fffc37 Fix missing CMake file path quoting 2017-08-20 14:47:44 +02:00
Camilla Löwy
2d0ffd788b Fix type in filename 2017-08-13 21:24:58 +02:00
Camilla Löwy
e27dc50689 Add non-VS warning about C99 declarations
This adds a warning in GCC and Clang about using intermingled
variable declarations in source files that will be built by VS.

This currently excludes egl_context.c and osmesa_context.c.  It will
be addressed by a separate commit.

Related to #1026.
2017-08-13 21:24:58 +02:00
Camilla Löwy
3ee7f8f695 Cocoa: Fix warnings caused by _XOPEN_SOURCE 2017-08-10 22:24:44 +02:00
Camilla Löwy
e376404d38 Cleanup 2017-08-09 16:26:29 +02:00
Camilla Löwy
079518617c Linux: Fix missing feature macro for using strdup
This adds _XOPEN_SOURCE = 500.

Fixes #1055.
2017-08-09 16:25:47 +02:00
Camilla Löwy
953106e74d Add support for SDL_GameControllerDB
This adds support for importing and applying mappings from the
SDL_GameControllerDB database.

Related to #900.
2017-07-07 15:52:33 +02:00
Camilla Löwy
58c05ba8ee Fix library destination for DLL platforms
Fixes #1035.
2017-06-28 12:07:39 +02:00
Camilla Löwy
a3007b9b0e Rename thread source files
This to reflect that they now contain more than TLS.
2017-06-08 16:09:14 +02:00
Emmanuel Gil Peyrot
0e0862cfc7 Wayland: Fix broken build
Regression caused by e9560ef021.
2017-03-03 17:51:40 +00:00
Camilla Löwy
d88347ee7d Mir: Fix broken build
Regression caused by e9560ef021.
2017-03-02 17:52:32 +01:00
Camilla Löwy
53f46d32e2 Make OSMesa backend an almost proper null backend
It still depends on POSIX time and TLS.
2017-02-28 21:57:43 +01:00
Camilla Löwy
e9560ef021 Add GLFW_OSMESA_CONTEXT_API
This allows the creation of OpenGL contexts via OSMesa on existing
platforms.  It does not add a compile- or link-time dependency on
OSMesa.

Fixes #281.
2017-02-28 20:38:10 +01:00
Camilla Löwy
67a55efa27 Add null joystick backend
This prepares the X11 backend to support other joystick APIs, for
example the FreeBSD libusb one.
2017-02-01 03:07:25 +01:00
Camilla Löwy
ec410fb6fe Cocoa: Enable EGL 2017-01-02 15:32:55 +01:00
Jason Daly
368fa9475d Add headless OSMesa backend
Allows creation and drawing to in-memory OpenGL contexts.

This backend does not provide input.

Related to #850.
2016-11-09 01:23:43 +01:00
Camilla Berglund
ef80beab81 Add run-time context creation API selection
Fixes #145.
2016-05-04 17:00:07 +02:00
Jonas Ådahl
cb08dc574c wayland: Implement 'DISABLED' cursor mode
This implements support for the 'DISABLED' cursor mode, which
effectively means locking the pointer to the surface. The cursor is also
explicitly hidden.

This adds two new build dependencies: wayland-scanner and
wayland-protocols.

Closes #708.
2016-02-22 12:36:34 +01:00
Camilla Berglund
9b75bffc88 Add basic Vulkan support
Added GLFW_INCLUDE_VULKAN.  Added glfwVulkanSupported,
glfwGetRequiredInstanceExtensions, glfwGetInstanceProcAddress,
glfwGetPhysicalDevicePresentationSupport and glfwCreateWindowSurface.
Added port of LunarG SDK tri example.
2016-02-16 14:58:58 +01:00
Camilla Berglund
7f7ad39e15 CMake target installation fixes 2016-02-02 06:10:22 +01:00
Marcus Geelnard
075140aefe Add public header path to target interface
Closes #697.
2016-02-02 06:00:18 +01:00
Nicholas Vitovitch
453631773e Export transitive dependencies for static library 2016-02-02 06:00:18 +01:00
Zbigniew Mandziejewicz
8637612908 Add GLFW_DLL to target interface 2016-02-02 06:00:18 +01:00
Camilla Berglund
d2d57c70e2 Fix pkg-config file generation regression
Fixes regression cased by 37c93ba031.

Fixes #664.
Closes #679.
2015-12-30 21:09:40 +01:00
Camilla Berglund
37c93ba031 Compiler flag cleanup 2015-12-15 22:37:23 +01:00
Camilla Berglund
7fec7a0569 Make source file names more consistent
Use platform prefix for files specific to that platform AND that have no
credible alternative API on that platform.

The exception is WinMM, which will be replaced before 3.2.
2015-12-13 14:51:44 +01:00
Camilla Berglund
12b6c56903 Add suffixes to platform specific helper functions
Also merge win32_tls.h into win32_platform.h.
2015-12-13 14:50:59 +01:00
Camilla Berglund
eea46be4e6 Fix missing MinGW import library prefix
Fixes #657.
2015-12-12 18:08:45 +01:00
Camilla Berglund
5f6aa9c34c Added IDE folders to CMake files.
Fixes #328.
2015-01-05 01:19:02 +01:00
BrandonSchaefer
cfb7d2f036 Start with the skeleton code for Mir support. 2014-11-10 02:00:14 +01:00
Camilla Berglund
5f13279557 Merged time functions into input module. 2014-10-13 15:48:40 +02:00
Camilla Berglund
bb98eae131 Merged joystick functions into input module. 2014-10-13 15:48:40 +02:00
Camilla Berglund
2a255e49e2 Made static library build with -fPIC for Rust.
Fixes #199.
2014-10-07 12:48:01 +02:00
Camilla Berglund
8d170c7f47 Merged clipboard code into input. 2014-09-09 16:36:41 +02:00
Camilla Berglund
59d1aa52f2 Merged gamma files into monitor files. 2014-08-18 12:31:48 +02:00
Camilla Berglund
3b7d34a1d5 Moved XKB header to header variable. 2014-08-11 23:56:05 +02:00
Camilla Berglund
aa4ec94d71 Removed link interface no-op.
Closes #327.
2014-08-11 20:30:21 +02:00
Camilla Berglund
6e0ea02f17 Quoted all CMake paths with substitution.
Fixes #258.
2014-08-11 20:26:37 +02:00
Jonas Ådahl
9ac854b7bb wayland: Add keyboard support
Adds libxkbcommon as a dependency when enabling the Wayland backend.
2014-06-29 23:21:06 +02:00
Jonas Ådahl
2f71bfc152 x11: Move KeySym to unicode converter out of x11 backend
To be used by the Wayland backend.
2014-06-29 23:18:40 +02:00
Camilla Berglund
1127c0e6e5 Renamed Wayland files to match prefix. 2014-04-08 17:47:38 +02:00
Camilla Berglund
7c925353a5 Renamed context module headers. 2014-04-08 17:47:38 +02:00
Camilla Berglund
8113c00712 Merged CMake platform file picking blocks. 2014-04-08 17:47:38 +02:00
Camilla Berglund
17d9051b82 Separated time state from window system state. 2014-04-08 17:47:38 +02:00
Camilla Berglund
fce0114174 Renamed POSIX time module. 2014-04-08 17:47:38 +02:00
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
Camilla Berglund
b7fc8099f1 Removed duplicate addition of POSIX time header. 2014-04-08 16:07:20 +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