Commit Graph

423 Commits

Author SHA1 Message Date
Corentin Wallez 8a8eefa0d8 Fail Vulkan surface creation if window has context
OpenGL / OpenGL ES cannot share presentation on a window with Vulkan.
This adds an error to `glfwCreateWindowSurface` when it is called on a
window without the GLFW_CLIENT_API hint set to GLFW_NO_API.  This
prevents undefined bahevior and hard to debug crashes.

Fixes #1194.
Closes #1205.
2018-01-30 19:25:17 +01:00
Emmanuel Gil Peyrot a162004a90 Documentation work 2018-01-29 03:59:47 +01:00
Emmanuel Gil Peyrot 14ad79f035 Documentation work
Added missing compilation instructions for Wayland build.
2018-01-29 03:25:24 +01:00
Emmanuel Gil Peyrot f9b0dc9827 Documentation work
Added missing documentation for Wayland dependencies and extensions.
2018-01-29 03:15:33 +01:00
Camilla Löwy bb3ab87a18 Remove unmaintained internal Doxygen docs
The useful bits have been transformed to function definition comments.
The style guide stub has been added to the regular docs build.
2018-01-17 11:25:32 +01:00
Camilla Löwy d6b3a60fbc Documentation work
Added missing bits of documentation for GLFW_HOVERED.
2018-01-11 14:13:54 +01:00
Camilla Löwy ee9dffcd66 Add GLFW_HOVERED for polling cursor hover state
This window attribute corresponds to the cursor enter/leave callback.

Fixes #1166.
2018-01-09 18:02:52 +01:00
Camilla Löwy 370eac3c48 Add glfwSetWindowContentScaleCallback
Related to #677.
Related to #1115.
2018-01-09 18:00:22 +01:00
Camilla Löwy 7c2c7858c6 Add monitor and joystick user pointers 2017-12-19 15:08:28 +01:00
Camilla Löwy 9da2285b14 Cocoa: Make frame autosave hint a string 2017-12-19 15:08:28 +01:00
Camilla Löwy 6158801aeb Change glfwInitHintString to glfwWindowHintString
Fixes #1139.
2017-12-19 15:08:27 +01:00
Emmanuel Gil Peyrot c3cba58a71 Remove trailing whitespace 2017-12-14 15:36:55 +01:00
Camilla Löwy 0e8c4ea7ce Add lock key modifier bits input mode
This adds the GLFW_MOD_CAPS_LOCK and GLFW_MOD_NUM_LOCK modifier bits.
Set the GLFW_LOCK_KEY_MODS input mode to enable these for all callbacks
that receive modifier bits.

Fixes #946.
2017-12-06 18:01:34 +01:00
Camilla Löwy b8df6ae3c1 Finish deprecating charmods callback 2017-12-06 18:01:32 +01:00
Camilla Löwy bfe2d42af4 Documentation work 2017-11-27 02:11:11 +01:00
Camilla Löwy b5e24676a4 Move contribution guide to visible directory 2017-11-20 18:55:43 +01:00
Camilla Löwy 11e47f08b1 Add glfwGetWindowOpacity and glfwSetWindowOpacity
This adds support for setting the opacity of the whole window, including
any decorations.

Fixes #1089.
2017-11-15 15:46:01 +01:00
Camilla Löwy 49130ab8ec Rename framebuffer transparency hint
This is a breaking change of an unreleased API.
2017-11-14 17:21:36 +01:00
Camilla Löwy 546c99a3a3 Made sharing an example 2017-11-10 02:58:18 +01:00
Camilla Löwy 31cbb20ba2 Deprecate window parameter of clipboard functions 2017-11-10 02:52:16 +01:00
Camilla Löwy f2756d0b3f Documentation work
Related to #1065.
2017-11-02 19:30:12 +01:00
Camilla Löwy 9718675d86 Documentation work
Related to #1106.
2017-11-01 21:36:08 +01:00
Camilla Löwy 2867ca1e5b Documentation work
Fixes #1104.
2017-10-29 16:27:15 +01:00
Camilla Löwy 16bf872117 Add content scale queries
This adds glfwGetWindowContentScale and glfwGetMonitorContentScale for
querying the recommended drawing scale factor for DPI-aware rendering.

Parts of this patch are based on code by @ferreiradaselva.

Fixes #235.
Fixes #439.
Fixes #677.
Fixes #845.
Fixes #898.
2017-10-26 17:26:36 +02:00
Camilla Löwy 1be81a1540 Documentation work 2017-10-22 16:30:19 +02:00
siavashserver 81963967e5 Fix Doxygen navigation bar
The Doxygen CSS changed significantly in a recent release.

Closes #1100.
2017-10-22 16:29:44 +02:00
Camilla Löwy 66c0394ae1 Fix typo in window guide
Fixes #1099.
2017-10-18 16:48:21 +02:00
Camilla Löwy f308228a19 Documentation work
Remove sentence describing GLFW-specific behavior.  This describes the
behavior of glfwUpdateGamepadMappings, whose behavior is a mix between
the two related SDL functions, but is not part of the format.
2017-10-18 16:47:00 +02:00
Camilla Löwy 32e78aeb2e Add GLFW_TRANSPARENT attribute and documentation
This completes support for window framebuffer transparency on Windows,
macOS and X11.  Note that the hint/attribute may be renamed before
release to clarify its relationship to GLFW_OPACITY.

Fixes #197.
Closes #1079.
Related to #663.
Related to #715.
Related to #723.
Related to #1078.
2017-09-27 21:54:04 +02:00
Bailey Cosier 93e66661d3 Cleanup
This is an extract of a commit, minimally edited to ensure it compiles.

Closes #1078.
Related to #197.
2017-09-27 21:33:03 +02:00
Camilla Löwy 176ab9a5d2 Fix Doxyfile gen not handling paths with spaces
Fixes #1081.
2017-09-24 17:04:47 +02:00
Camilla Löwy 1955c37c48 Documentation work 2017-09-12 22:54:00 +02:00
Camilla Löwy d099181307 Add library name override macros 2017-09-10 21:02:26 +02:00
Camilla Löwy b7a0f225ea Cleanup
Don't advertise native functions in public API guides.  Don't list
primary selection access as most notable new feature.  Don't have
different levels of abstraction among selection helper functions.  Don't
forget to take credit.

Related to #1056.
2017-08-13 21:22:36 +02:00
Kristian Nielsen 29a75ab09d X11: Add native access to primary selection
This adds the native access functions glfwSetX11SelectionString and
glfwGetX11SelectionString under GLFW_EXPOSE_NATIVE_X11.  They are
similar to glfwSetClipboardString and glfwGetClipboardString but operate
on the PRIMARY selection.

The primary selection is widely used in X11, and so seems important to
support.  Primary selection is mostly an X11-specific thing, hence it's
exposed as an X11 native interface.

Fixes #894.
Closes #1056.

Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
2017-08-13 18:52:24 +02:00
Camilla Löwy 5bc1c38159 Documentation work
[ci skip]
2017-08-09 12:20:51 +02:00
Camilla Löwy 5b7281bd41 Add glfwGetJoystickGUID
This function completes the first round of support for
SDL_GameControllerDB.

Fixes #900.
2017-07-30 16:15:12 +02:00
Camilla Löwy 213dd2d0d6 Add glfwInitHintString
Adds string type init hints.  Adds X11 specific init hints for WM_CLASS
components.  Documentation work.

Fixes #893.
2017-07-25 23:53:52 +02:00
Camilla Löwy d3247a8c83 Documentation work 2017-07-13 01:26:06 +02:00
Camilla Löwy 8e899ccc29 Cocoa: Add support for MoltenVK dynamic library
Tested with MoltenVK 0.18.0.

Related to #870.
2017-07-10 21:34:02 +02:00
Camilla Löwy 6634c47e57 Documentation work 2017-07-09 21:55:06 +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 8c0512027f Fix table header text alignment
[ci skip]
2017-07-07 10:30:02 +02:00
Camilla Löwy 539a728063 Documentation work
[ci skip]
2017-06-30 12:45:29 +02:00
Camilla Löwy 0321bec232 Documentation work
[ci skip]
2017-06-08 16:09:17 +02:00
Camilla Löwy d2779aa765 Documentation work
[ci skip]
2017-06-08 16:09:14 +02:00
Camilla Löwy 14a3fe0ac0 Make glfwGetError also provide description
Related to #970.
2017-06-08 16:08:36 +02:00
Camilla Löwy beaeb0d4af Add missing pixel format documentation
Fixes #1027.
2017-06-07 20:07:24 +02:00
Camilla Löwy c48127fa9e Fix some CSS issues caused by Doxygen 1.8.12 2017-06-06 18:02:20 +02:00
Camilla Löwy baa9cd8968 Cleanup
Closes #988.
2017-05-11 20:10:04 +02:00
Camilla Löwy 4e8e25a521 Documentation work 2017-05-11 13:34:22 +02:00
Camilla Löwy f737e8ce9f Documentation work 2017-05-05 19:05:00 +02:00
Camilla Löwy 6350641f0a Add glfwGetError
Related to #970.

If you have opinions on the design or implementation of this function,
please come join us in #970 before it is frozen for release.
2017-05-03 18:30:11 +02:00
Camilla Löwy 16ddfafeaa Allow object creation from callbacks 2017-05-03 15:10:36 +02:00
Camilla Löwy 9457cf33d1 Documentation work 2017-04-06 14:40:02 +02:00
Camilla Löwy 798d7c6d68 Implement glfwGetJoystickHats
This moves the buttons-as-hats logic to shared code and adds the
GLFW_JOYSTICK_HAT_BUTTONS input mode as a way to disable this legacy
behavior.

Fixes #889.
2017-03-06 03:23:29 +01:00
Camilla Löwy c50aba1335 Cocoa: Add support for MainMenu.nib loading 2017-03-01 04:36:00 +01:00
Camilla Löwy 6d9a58bfef Add glfwInitHint
This allows setting hints that control how the library is initialized,
transforming more compile-time options into run-time ones.
2017-03-01 04:35:41 +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 3fa6f48ac6 Documentation work
Related to a570d0a129.
2017-02-27 01:31:20 +01:00
Camilla Löwy 918b4e81d2 Win32: Move to WM_INPUT for disabled cursor motion
Related to #125.
2017-02-26 18:48:03 +01:00
Camilla Löwy 463930761b Documentation work
[ci skip]
2017-02-20 16:35:02 +01:00
Camilla Löwy f69829f7b4 Documentation work
[ci skip]
2017-02-14 14:56:29 +01:00
Camilla Löwy 77a8f103d8 Add GLFW_COCOA_GRAPHICS_SWICTHING
This provides control over whether the context should participate in
macOS Automatic Graphics Switching.

Closes #377.
Closes #935.
2017-02-10 01:29:29 +01:00
Camilla Löwy 21eabd3938 Documentation work 2017-02-08 06:53:04 +01:00
Camilla Löwy 98bdd36231 Fix glfwVulkanSupported semantics 2017-02-07 21:28:50 +01:00
Camilla Löwy 5a74b5008d Cleanup
Related to #842.
2017-02-06 15:16:27 +01:00
Liam Middlebrook 72ac5badb0 Add GLFW_CENTER_CURSOR
Adds a hint for controlling whether the cursor is centered over newly
created full screen windows.

Fixes #749.
Closes #842.
2017-02-06 15:16:26 +01:00
Camilla Löwy a46c95c7f2 Clarify requirements for receiving joystick events
As of c5694b3013 this is now consistent
enough across platforms to describe.

Fixes #887.

[ci skip]
2017-02-01 05:40:48 +01:00
Camilla Löwy 5a11d19940 Start adding links to GLU replacements 2017-01-24 21:45:03 +01:00
Camilla Löwy 3edaa5280d Add GLFW_INCLUDE_ES32 2017-01-02 06:06:01 +01:00
Camilla Löwy 4661315192 Add GLFW_COCOA_FRAME_AUTOSAVE
Fixes #195.
2017-01-01 19:58:34 +01:00
Camilla Löwy 6eae8f22dc X11: Load Xxf86vm at run-time 2016-12-11 00:05:15 +01:00
Camilla Löwy 21eeaffc23 Documentation fix
Doxygen cannot handle line breaks in Markdown links.
2016-12-09 01:32:09 +01:00
Camilla Löwy 58ceab5f1e Add GLFW_COCOA_RETINA_FRAMEBUFFER
Look, a can of worms!  I wonder what's inside.

This adds the first platform specific window hint, transforming
a compile-time option to a run-time per-window one.
2016-12-08 16:56:05 +01:00
Camilla Löwy 766a9dc9fd Documentation work
Related to glfw/website#34.
2016-12-08 16:56:05 +01:00
Camilla Löwy 9e56099edd Add glfwSetWindowAttrib
This function allows updating the GLFW_DECORATED, GLFW_RESIZABLE,
GLFW_FLOATING and GLFW_AUTO_ICONIFY attributes for existing windows.

Fixes #537.
2016-12-06 15:59:18 +01:00
Camilla Löwy ce161c2c02 Documentation work
[ci skip]
2016-12-06 13:58:45 +01:00
Camilla Löwy fd127d59fa Cocoa: Improve OpenGL version restriction messages
Fixes #904.
2016-12-03 20:15:26 +01:00
Camilla Löwy 29b72c59f3 Documentation work
Related to #902.

[ci skip]
2016-12-03 20:15:26 +01:00
Camilla Berglund fef21361c5 OSMesa: Cleanup
Fixes formatting, semantics and documentation.  Adds
glfwGetOSMesaContext.  Adds support for OSMesa context attributes.
Updates changelog and credits.  Adds license and copyright headers.
Removes superfluous code (the shared code provides many conveniences).
Removes loading of unused OSMesa functions.  Removes empty platform
structs.  Fixes version string format.  Removes build dependency on
the OSMesa header and library (only the library is needed and only at
runtime).

Closes #850.
2016-11-09 01:36:21 +01:00
Camilla Berglund e94d16667b Cocoa: Add basic support for Vulkan via MoltenVK
This adds basic support for MoltenVK, a Vulkan implementation on top of
Metal, on macOS 10.11 and later.  It looks for MoltenVK in the process
via RTLD_DEFAULT symbol lookup if _GLFW_VULKAN_STATIC is disabled.

glfwCreateWindowSurface now creates and sets a CAMetalLayer for the
window content view, which is required for MoltenVK to function.

You must help CMake find MoltenVK for the Vulkan test to be built.

Fixes #870.
2016-11-01 21:39:54 +01:00
Camilla Berglund 8d6f265441 Update default name from OS X to macOS
Note that earlier releases are still referred to by their proper names;
OS X <version> or Mac OS X <version>.
2016-10-20 00:53:37 +02:00
linkmauve bc8b0480e9 Wayland: Document when behaviour differs
This should describe all of the Wayland-specific points, mostly in
three categories:
- Missing GLFW features, for example window frame, screensaver
  inhibition, clipboard or file drop.
- Missing protocols, like setting gamma on a monitor or specifying a
  window icon.
- Fundamental incompatibilities with Wayland concepts, like trying to
  handle global positioning of a window in a 2D space, trying to bring
  a window to front, or trying to change the monitor’s mode.

Closes #881.
2016-10-16 16:52:39 +02:00
Camilla Berglund efc6b35615 Rename joystick ID variables 2016-10-16 14:07:18 +02:00
Camilla Berglund c156b50e4c Add glfwSetWindowMaximizeCallback
Fixes #778.
2016-09-29 01:24:56 +02:00
Camilla Berglund 433db8f9f9 Allow combining Vulkan and GL/GLES header macros 2016-09-14 22:59:12 +02:00
Camilla Berglund bb3cb8f233 Cleanup
Clean up code and documentation for glfwGetKeyScancode and add
implementation for Wayland and Mir.

Related to #830.
2016-09-07 16:46:48 +02:00
Michael Stocker e745b0dd47 Add glfwGetKeyScancode
Allows retrieval of platform scancode from GLFW_KEY_*.  Implemented for
Win32, Cocoa and X11.  Stubs for Mir and Wayland.

Closes #830.
2016-09-07 16:38:22 +02:00
Camilla Berglund 53fafad915 Start 3.3 2016-08-18 23:55:49 +02:00
Camilla Berglund 999f3556fd Documentation work 2016-08-18 13:32:27 +02:00
Camilla Berglund 80ba9944e5 Remove msvcrt recommendation 2016-08-12 13:33:03 +02:00
Camilla Berglund 0f12be7549 Documentation work 2016-08-12 01:57:17 +02:00
Camilla Berglund c98d09f15d Documentation work 2016-08-12 01:46:17 +02:00
Camilla Berglund 7c3706763a Cleanup
Cleanup of 8bdb105897.

Add build macro to configuration header and documentation.  Add
corresponding CMake option.  Add change log entry and credit.  Add
loader static library to link dependencies and add detection to
FindVulkan.cmake.
2016-08-05 01:00:08 +02:00
Camilla Berglund fb418b26d7 Fix grammar
Fixes #776.
2016-07-17 15:39:25 +02:00
Camilla Berglund c1b1e0aab1 Documentation work
[ci skip]
2016-07-14 18:21:43 +02:00
Camilla Berglund 4bccb3dc9f Start 3.2.1 2016-06-15 01:35:05 +02:00
Camilla Berglund f6ec835599 Fix documentation for timer thread safety 2016-06-02 16:13:47 +02:00
Camilla Berglund 9e86826eab Documentation work 2016-06-01 21:25:18 +02:00