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

488 Commits

Author SHA1 Message Date
Emmanuel Gil Peyrot 76406c7894 Mention that xdg-shell is mandatory on Wayland 2020-02-06 09:02:16 +01:00
Camilla Löwy d973acc123 Update OpenGL bits of build documentation slightly
This removes most references to GLU, replaces the legacy CMake cache
variables for OpenGL with the modern namespaced target and switches to
$() for command substitution.

Fixes #1580.
2020-01-19 23:35:59 +01:00
ByunghoonKim c5cb4a253a Cocoa: Add support for VK_EXT_metal_surface
This adds optional support for the VK_EXT_metal_surface instance
extension.

Closes #1619.
2020-01-16 05:28:24 +01:00
Camilla Löwy 4ec7daf3e9 Cocoa: Replace display link with IOKit query
This removes the final dependency on CoreVideo, using a display link to
get the refresh rate of monitors where Core Graphics report a refresh
rate of zero.  Instead we now query the I/O registry directly, similarly
to what the display link does at creation.

Thanks to @OneSadCookie for pointers to this solution.
2019-12-25 21:53:04 +01:00
Camilla Löwy 7dbdd2e6a5 Add more standard cursors
This adds the standard cursors for diagonal and omnidirectional
resize/move and operation-not-allowed.  It also adds new (better?) names
for the horizontal and vertical resize/move and pointing hand cursors.

References:
 - https://developer.apple.com/documentation/appkit/nscursor
 - https://stackoverflow.com/questions/10733228/
 - https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setsystemcursor
 - https://freedesktop.org/wiki/Specifications/cursor-spec/
 - https://tronche.com/gui/x/xlib/appendix/b/

Related to #427.
2019-11-28 22:24:00 +01:00
Camilla Löwy 50a6270e55 Add initial CODEOWNERS file 2019-11-14 19:50:14 +01:00
Camilla Löwy b804379463 Add initial GH support file 2019-11-14 19:50:14 +01:00
Camilla Löwy 8e288dc94c Win32: Add GLFW_WIN32_KEYBOARD_MENU
This platform specific window hint enables access to the Windows window
menu via the keyboard shortcuts.
2019-11-11 22:37:18 +01:00
Camilla Löwy c88ee1c9d3 Win32: Change transparent framebuffer key color
This is a temporary fix while we determine if the color key workaround
should be removed completely.  See issue thread for discussion.

Related to #1512.
2019-11-11 22:37:13 +01:00
Camilla Löwy 28d8507700 Fix order of words in window guide
Fixes #1571.
2019-11-01 13:43:47 +01:00
Camilla Löwy 82978bb3af Documentation work
This is the documentation update for the change introduced with
0b01d850ed, removing the requirement for
the forward-compatibility flag on macOS.
2019-10-29 12:04:22 +01:00
Camilla Löwy 376897a344 Replace notes for previous releases with links
The news / release notes page was getting a bit long.
2019-10-28 20:02:12 +01:00
Camilla Löwy 1e20218b3d Use HTTPS for Discourse forum 2019-10-16 02:33:12 +02:00
luz.paz 7105ff2dfd Fix typos
Found via `codespell -q 3 -S ./deps -L fo,numer,te,uint,wille`
2019-09-16 12:30:25 +02:00
Camilla Löwy aa8e8ab960 Remove deprecated tags from Doxyfile.in
This fixes warnings emitted by Doxygen 1.8.16.
2019-09-06 15:55:59 +02:00
Camilla Löwy 51bb76c7c3 Improve (?) reference documentation for callbacks 2019-05-24 14:58:54 +02:00
Camilla Löwy e1d9e2ba73 Clarify Doxyfile INPUT value generation 2019-05-24 14:43:49 +02:00
Camilla Löwy bb6945a18a Clarify difference between time and timer in docs 2019-05-24 14:43:49 +02:00
Camilla Löwy feaa532886 Add missing word 2019-05-24 14:43:49 +02:00
Camilla Löwy 3cf7645b96 Documentation work
Most context related hint and attribute links had copypaste errors.
The GLFW_CONTEXT_RELEASE_BEHAVIOR and GLFW_CONTEXT_NO_ERROR attributes
did not have guide documentation.
2019-05-24 14:43:49 +02:00
Camilla Löwy e4aba7feaa Convert triangle-opengl example to 3.3 core 2019-05-24 14:43:49 +02:00
Camilla Löwy a639d6e635 Rename OpenGL triangle example to triangle-opengl 2019-05-24 14:43:39 +02:00
Camilla Löwy 8ee589e43b Disable examples and tests when a subproject
This changes the default value of the GLFW_BUILD_EXAMPLES and
GLFW_BUILD_TESTS CMake options to false when GLFW is being added as
a subdirectory by another CMake project.

If you want the previous behavior, force these options to true before
adding the GLFW subdirectory:

set(GLFW_BUILD_EXAMPLES ON CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS ON CACHE BOOL "" FORCE)
add_subdirectory(path/to/glfw)

Doing this is backward compatible with earlier versions of GLFW.

The GLFW_BUILD_DOCS option is left enabled as it also requires Doxygen
to have any effect, is quicker to build and is more likely to be useful
when GLFW is a subproject.
2019-05-17 16:12:52 +02:00
Camilla Löwy a255e7ace6 Move to the modern CMake project version option
This replaces the manual ad-hoc version variables we have used since
CMake 2.x (and GLFW 2.x lite).
2019-05-17 16:12:52 +02:00
Camilla Löwy be71147ad5 Documentation work
The monitor content scale was missing from the monitor properties
paragraph.
2019-05-17 16:12:52 +02:00
Emmanuel Gil Peyrot 599fb3de34 Wayland: Remove wl_shell support
This protocol is part of the core Wayland, but it is pretty badly
designed and is missing quite a few features, and is in the process of
being phased out in compositors.  Its support in GLFW requires
duplicating pretty much every single window management codepath.

This bumps the required compositor versions to the ones which have
implemented xdg-shell, approximately two years ago, which seems sensible
to me.
2019-04-20 10:05:15 +02:00
Camilla Löwy a337c56848 Start 3.4 2019-04-16 23:08:39 +02:00
Camilla Löwy f4f1002d14 Documentation work 2019-04-15 02:46:07 +02:00
Camilla Löwy d7e30b1c74 Replace glad and the Vulkan SDK with glad2
This removes all dependencies from the GLFW test programs on the Vulkan
SDK.

It also removes support for linking the GLFW shared library (dynamic
library, DLL) against the Vulkan loader static library.
2019-04-15 02:45:48 +02:00
Camilla Löwy 0fa77ea63a Documentation work 2019-04-08 20:51:34 +02:00
Camilla Löwy 0267cebe00 Update for Doxygen CSS changes 2019-04-05 14:25:28 +02:00
r00ster f8a70aca67 Add an n
Closes #1460.
2019-04-05 05:18:39 +02:00
Camilla Löwy 422bf79e8f Documentation work 2019-04-05 03:26:52 +02:00
Camilla Löwy 5644b66bac Documentation work 2019-04-01 19:57:54 +02:00
Camilla Löwy c0a3a9aefe Sort release notes by seemingly arbitrary criteria 2019-03-29 00:47:04 +01:00
Camilla Löwy a43d1a4937 Documentation work
Fixes #920.
Related to #1322.
2019-03-05 16:59:46 +01:00
Camilla Löwy 1155c83013 Rename raw input to raw mouse motion, cleanup
This renames 'raw input' to 'raw mouse motion' as there are other kinds
of raw input.  The update path is restructured to avoid reinitializing
all of disabled cursor mode.  Modification of shared state is moved out
into shared code.  Raw mouse motion is disabled by default for
compatibility.

Related to #1401.
2019-02-22 13:04:11 +01:00
Emmanuel Gil Peyrot bcd8f9aff2 Documentation work
Describe #1341.
2019-02-15 19:02:33 +01:00
Camilla Löwy d5ab3e919a Cleanup
Replace client area with content area.
2019-01-25 12:46:46 +01:00
Camilla Löwy 55b1a16f90 Remove window requirement for all event functions
This lets an application wait for non-window events without needing to
create a window.

Fixes #1317.
2019-01-15 19:28:17 +01:00
Rolf Eike Beer f9923e9095 Use GNUInstallDirs for install destinations
This has the advantage that the user may override e.g. the include
location, and the correct libdir (lib, lib64, lib/something) is
automatically determined.

Closes #1367.
2018-12-03 19:28:31 +01:00
Camilla Löwy 9bfdd218fb Fix Markdown table heads 2018-11-11 18:49:47 +01:00
Camilla Löwy a9892acb94 Add tutorial to Doxygen menu 2018-11-05 19:04:27 +01:00
Camilla Löwy fb01b16b94 Use Doxygen layout file 2018-11-05 19:04:27 +01:00
Camilla Löwy bc5a24fee6 Fix newlines in Doxygen aliases 2018-11-05 19:04:27 +01:00
Camilla Löwy 53c8c72c67 Fix CSS for Doxygen Markdown tables
Doxygen changed the CSS classes for table-related elements.
2018-11-04 23:23:55 +01:00
Camilla Löwy 9bb50db6dd Use HTTPS when possible 2018-11-04 21:52:33 +01:00
MrVallentin da8f3bc174 Updated URLs 2018-11-03 11:57:47 +01:00
MrVallentin 85fd5aa6c4 Use HTTPS when possible 2018-11-03 11:57:47 +01:00
MrVallentin 769f727e47 Fixed repeated words 2018-11-02 23:09:59 +01:00
tnixeu 245461eb86 Fix guide example callback name mismatch
The cursor position callback is named differently in example usage and
example declaration.

Closes #1364.
2018-10-24 18:01:12 +02:00
Siavash Eliasi 2de2589f91
Documentation work. (#1328)
Using GLFW_TRUE where applicable.
2018-10-22 17:45:11 +03:30
Camilla Löwy 868f1e7bfc Remove language requiring linking against opengl32
This has not been a requirement since 3.2.

Fixes 1347.
2018-10-22 00:51:08 +02:00
Emmanuel Gil Peyrot cc805c0963 Mir: Remove this experimental backend
As of the release of Mir 1.0, libmirclient has been deprecated[1] and
its developers recommend clients using it to switch to Wayland.  This
patch removes support for libmirclient and instruct users to use the
experimental Wayland backend instead.

[1] https://discourse.ubuntu.com/t/mir-news-28th-september-2018/8184
2018-10-05 11:59:26 +02:00
Camilla Löwy 089ea9af22 Add GLFW_SCALE_TO_MONITOR
This adds the GLFW_SCALE_TO_MONITOR window hint for automatically
resizing the content area of a window to the requested size times the
monitor content scale each time it is placed on a new monitor.  This
only applies to windowed mode windows and includes the initial placement
at window creation.

This hint only has an effect on platforms where screen coordinates and
pixels always map 1:1 such as Windows and X11.  Platforms like macOS
instead change the resolution of the framebuffer independently of the
window size.

Related to #676.
Related to #1115.
2018-09-03 23:12:39 +02:00
Emmanuel Gil Peyrot 8d3595fb4d Remove redundant redundancy 2018-08-23 09:51:01 +02:00
Coşku Baş ccef385f02 Fix content scale callback func name
Related to #1310.
2018-08-09 19:03:42 +02:00
Doug Binks 0be4f3f75a Add GLFW_FOCUS_ON_SHOW window hint and attribute
This adds a window hint and attribute for controlling whether
glfwShowWindow gives the specified window input focus in addition to
making it visible.

Fixes #1189.
Closes #1275.
2018-05-29 15:51:36 +02:00
Camilla Löwy bf6551a3ca Cocoa: Fix FindVulkan.cmake paths for LunarG SDK
Fixes #1278.
2018-05-28 17:30:14 +02:00
Emmanuel Gil Peyrot 617a322bd8 Documentation work 2018-05-19 20:19:23 +02:00
Camilla Löwy 2167bee551 Documentation work 2018-05-11 14:40:33 +02:00
Camilla Löwy 23dfeee4cb Add semver link to documentation 2018-04-09 00:05:59 +02:00
siavashserver b4c99aacd4 Fix OpenGL header inclusion guide
Closes #1233.
2018-03-19 15:19:47 +01:00
Camilla Löwy ab3bfb4205 Cocoa: Update MoltenVK support for LunarG SDK
GLFW now checks for the libvulkan.1.dylib loader instead of what is now
the ICD.  This removes checking for libMoltenVK.dylib to avoid cryptic
errors.  This unfortunately also breaks compatibility with the
standalone MoltenVK SDK.

This also removes support for the static loader library as that is not
present in the LunarG SDK.

Related to #870.
2018-03-01 21:45:46 +01:00
Camilla Löwy 2040309d0c Add support for gamepad mapping input modifiers
This adds support for the + and - and ~ input modifiers for joystick
axes.  It also changes how joystick axes are translated to buttons to
more closely match SDL 2.0.7.

Output modifiers are still not supported but have not yet been seen in
the wild.
2018-02-13 18:30:07 +01:00
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