Commit Graph

169 Commits

Author SHA1 Message Date
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
Camilla Berglund
23021422f3 Added explicit configuration header macro. 2013-11-20 12:06:07 +01:00
Camilla Berglund
16e63adc40 Tenative setting of install_name. 2013-10-16 20:56:59 +02:00
Andrew Corrigan
34f1c298b6 config.h.in --> glfw_config.h.in 2013-10-04 09:41:08 -04:00
Camilla Berglund
10017b27bb Cleanup. 2013-06-17 12:46:51 +02:00
Camilla Berglund
01ccc56423 Added missing headers to library target. 2013-06-17 10:31:25 +02:00
Camilla Berglund
d31322cdcd Added option for disabling install. 2013-06-16 13:31:39 +02:00
Camilla Berglund
15ed715f4e Moved public headers to the GLFW directory. 2013-05-22 22:46:34 +02:00
Lambert Clara
f6eccf145b Add glfwConfig module.
This module allows cmake projects to find glfw with FIND_PACKAGE.
2013-05-12 16:55:33 +02:00
Camilla Berglund
121ce7fbd6 Renamed X11 keysym to Unicode conversion file. 2013-01-17 18:59:35 +01:00
Camilla Berglund
cc45a9e53d Updated native API and merged into related files. 2013-01-15 22:38:14 +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
ccdb776cc3 Cleanup of configuration variable use. 2012-12-02 19:13:01 +01:00
Camilla Berglund
47c11b4ea6 Tweaked comment. 2012-12-02 19:02:32 +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
1eef0f0869 Renamed context module files. 2012-11-27 15:21:49 +01:00
Camilla Berglund
5ea3591586 Cocoa NSGL fixes. 2012-11-27 15:17:24 +01:00
Camilla Berglund
34d383399c Finished initial window/context backend split. 2012-11-27 15:02:26 +01:00
Camilla Berglund
b934cdf573 Begun preparations for Win32 EGL support. 2012-11-27 13:07:26 +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
Camilla Berglund
508c7fe0e6 Merge branch 'master' into multi-monitor
Conflicts:
	src/window.c
2012-09-27 23:32:26 +02:00
Camilla Berglund
7fa27f1e98 Fixed warnings on VC++. 2012-09-27 02:49:20 +02:00
Camilla Berglund
9d6945a766 Merge branch 'master' into EGL
Conflicts:
	CMakeLists.txt
	include/GL/glfw3.h
	readme.html
	src/CMakeLists.txt
	src/internal.h
	src/window.c
2012-09-23 15:35:45 +02:00
Camilla Berglund
633839502c Fixed various VC++ warnings. 2012-09-13 00:05:54 +02:00
Camilla Berglund
1071966d55 Merge branch 'master' into multi-monitor
Conflicts:
	src/CMakeLists.txt
	src/fullscreen.c
2012-09-12 21:42:21 +02:00
Camilla Berglund
c4d5da0090 Moved DllMain into Win32 init module. 2012-09-12 21:23:04 +02:00
Camilla Berglund
55419bda67 Merged fullscreen and monitor modules. 2012-09-12 21:04:24 +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
7be55239e7 Disabled native API by default. 2012-09-11 20:02:13 +02:00
Camilla Berglund
7493bbe0c8 Removed X11 prefix from EGL and GLX files. 2012-09-09 19:33:40 +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
bd5ff15769 Moved error handling to init module. 2012-08-26 18:49:39 +02:00
Camilla Berglund
3f34b091b8 Gave MinGW link library a .a suffix. 2012-08-16 19:23:54 +02:00
Camilla Berglund
39c171a61d Merge branch 'master' into multi-monitor
Conflicts:
	tests/modes.c
2012-08-14 14:02:37 +02:00
jonathan MERCIER
31c0212c25 Able to install to lib64 if LIB_SUFFIX var is set to 64 2012-08-11 17:50:56 +02:00
Camilla Berglund
854e634fec Merge branch 'master' into multi-monitor
Conflicts:
	include/GL/glfw3.h
	src/CMakeLists.txt
	src/fullscreen.c
	src/internal.h
	src/win32_fullscreen.c
	src/win32_platform.h
	src/x11_fullscreen.c
	tests/modes.c
2012-08-03 02:57:33 +02:00
Camilla Berglund
0b25bba5b5 Merge branch 'master' into EGL 2012-07-31 18:55:00 +02:00
John Bartholomew
0f0e42b975 Use SOVERSION for shared libraries on Unix-like systems. 2012-07-30 01:04:08 +01:00
John Bartholomew
93ec9fa901 Changed library output name to "glfw3", and pkg-config name to libglfw3.
Since the headers are already named differently, this allows
side-by-side installation of GLFW 2.x and GLFW 3.x.
2012-07-30 00:14:09 +01:00
Camilla Berglund
3f9fa39564 Merge branch 'master' into EGL
Conflicts:
	src/CMakeLists.txt
2012-07-22 16:19:24 +02:00
Camilla Berglund
d83119a874 Added explicit access to native handles. 2012-07-22 15:26:15 +02:00
Camilla Berglund
1a05d6db70 Renamed GLX implementation file. 2012-07-20 02:10:39 +02:00
Cloudef
28db982d0a Add x11_fullscreen.c to the source list 2012-07-17 22:25:47 +03:00
Cloudef
1327c124a4 Seperate Context from Window in CMakeLists, add option to build for EGL 2012-07-17 22:25:47 +03: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
cbe29b4963 Merge branch 'master' into clipboard 2012-03-29 14:30:21 +02:00
Camilla Berglund
fcf54b4b27 Moved dynamic loading macros to configuration header. 2012-03-29 14:21:04 +02:00
Camilla Berglund
dd8b098387 Moved _GLFW_BUILD_DLL into configuration header. 2012-03-29 14:06:26 +02:00
Camilla Berglund
92d4c02e07 Merge branch 'master' into clipboard
Conflicts:
	src/CMakeLists.txt
2012-03-29 13:29:28 +02:00
Camilla Berglund
d022e54934 Merge branch 'master' into clipboard 2012-03-28 14:58:03 +02:00
Camilla Berglund
a12b395442 Added headers to project. 2012-03-26 15:21:13 +02:00
Camilla Berglund
6fd6c5f7e4 Moved pkg-config file generation. 2012-03-26 03:11:43 +02:00
Camilla Berglund
e53bbfd2dd Renamed pkg-config file template. 2012-03-26 03:06:45 +02:00
Camilla Berglund
865aa05ec1 Merge branch 'master' into clipboard
Conflicts:
	src/CMakeLists.txt
	src/libglfw.pc.cmake
2012-03-26 03:04:29 +02:00
Camilla Berglund
2588c9be17 Renamed GLFW_BUILD_DLL to _GLFW_BUILD_DLL. 2012-03-25 17:40:30 +02:00
Camilla Berglund
bd8eb1399a Put platform detection in a single place. 2012-03-25 16:51:24 +02:00
Camilla Berglund
20e685d37b Formatted variables not used outside of the local CMake project. 2012-03-25 16:49:15 +02:00
Camilla Berglund
d743793e71 Pkg-config dependency generation fixes. 2012-03-25 14:51:56 +02:00
Camilla Berglund
7b46a184cb Added standard option to switch between static and dynamic library, dropped dynamic test. 2012-03-25 13:55:39 +02:00
Camilla Berglund
812ad163eb Formatting. 2012-03-22 14:29:23 +01:00