Commit Graph

340 Commits

Author SHA1 Message Date
Camilla Löwy
761d7e7c4e Add keyboard layout support
This adds a keyboard layout switch callback and a query for the
human-readable name of the current layout.

Fixes #1201.
2020-05-18 21:15:38 +02:00
Camilla Löwy
41a19ed49c Disambiguate Vulkan support reference link 2020-05-05 00:38:14 +02:00
Camilla Löwy
72366ac9a9 Cocoa: Finish launching NSApp in glfwInit
This moves the remaining bits of NSApplication initialization into
_glfwPlatformInit.  As a side-effect of this, any command-line program
initializing GLFW will get a menu bar, which is not ideal.

If this has happened to you and a bisect led you here, please see the
GLFW_COCOA_MENUBAR init hint introduced in GLFW 3.3.

If this patch is a terrible idea, please get in touch in the 3.4 release
timeframe.

This is a replacement for 6e6805000a,
which attempts to preserve the existing menu bar creation behavior for
the 3.3-stable branch.

Fixes #1649.
2020-03-12 01:56:35 +01:00
Camilla Löwy
4381b86b6b X11: Fix CJK IME input when locale CTYPE is "C"
Fixes #1587.
Fixes #1636.
2020-02-12 19:01:16 +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
2fb336268f Shorten name of Info.plist template file
Our template file is not simply a copy of the file included in CMake and
so should not be named as if it was.
2019-12-09 23:35:50 +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
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
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
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
56ca0cb3b3 Unify key name string handling
This makes key names per-key static strings for all supported platforms.

Fixes #1200.
2019-08-27 19:29:56 +02:00
Lukas Zanner
84b13113ed Fix typo in glfwGetRequiredInstanceExtensions docs
Closes #1500.
2019-07-12 15:03:44 +02:00
Camilla Löwy
62b7fe8311 Cleanup 2019-07-12 15:02:04 +02:00
Camilla Löwy
773f4495f0 Win32: Fix symbol redefinition warnings
When both GLFW_INCLUDE_VULKAN and VK_USE_PLATFORM_WIN32_KHR were
defined, the GLFW header would define replacement versions of APIENTRY
and WINGDIAPI /before/ including the Vulkan header, which would include
windows.h, which (justifiably) defines APIENTRY and WINGDIAPI blindly.

Fixes #1524.
2019-07-12 15:02:04 +02:00
Camilla Löwy
51bb76c7c3 Improve (?) reference documentation for callbacks 2019-05-24 14:58:54 +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
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
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
ab118b2529 Fix copyright years (somewhat) 2019-04-15 20:50:00 +02:00
Camilla Löwy
422bf79e8f Documentation work 2019-04-05 03:26:52 +02:00
Camilla Löwy
a43d1a4937 Documentation work
Fixes #920.
Related to #1322.
2019-03-05 16:59:46 +01:00
Camilla Löwy
0118743333 Formatting
Related to #1322.
2019-03-05 16:58:45 +01:00
Doug Binks
f1d40fa046 Documentation work.
This adds documentation for work area size.

Related to #1322.
2019-03-05 16:10:59 +01:00
Doug Binks
6907629cbf Fix version number in glfwGetMonitorWorkarea docs
Related to #1322.
2019-03-05 16:10:59 +01:00
Doug Binks
154db76a6c Documentation work
Related to #1322.
2019-03-05 16:10:59 +01:00
Doug Binks
3fd70cc513 Documentation work
This adds documentation for the width and height parameters of
glfwGetMonitorWorkarea.

Related to #1322.
2019-03-05 16:10:59 +01:00
Felipe Ferreira da Silva
be295ccbea Add glfwGetMonitorWorkarea
This function retrieves the work area rectangle of the specified
monitor.

Related to #920.
Closes #989.
2019-03-05 16:10:59 +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
Nathan Poirier
9e29f556fd Add GLFW_RAW_INPUT and glfwRawInputSupported
This adds runtime per-window control of whether accelerated or raw mouse
motion is provided when the cursor is disabled.

Fixes #1400.
Closes #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
Camilla Löwy
3531c320af Fix glfwSetGamma generating ramps of invalid sizes
This makes glfwSetGamma generate a gamma ramp of the same size as the
monitor's current ramp, which will avoid failure on non-256 entry
monitors on X11 and avoid ramp interpolation on macOS.

Closes #1387.
Fixes #1388.
2018-12-26 15:00:39 +01:00
Camilla Löwy
8e313d911b Cleanup
GLFW_PLATFORM_ERROR should be listed last.
2018-12-26 14:44:14 +01:00
Sylvain Boilard
3b255af4c3 Documentation work
The error section of the reference documentation for
glfwWaitEventsTimeout was missing.

Closes #1326.
2018-12-26 14:43:49 +01:00
Camilla Löwy
86e7bf4169 Documentation work 2018-12-25 22:11:23 +01:00
Camilla Löwy
bb2ca1da13 Remove trailing whitespace 2018-11-27 21:49:19 +01:00
Camilla Löwy
9bfdd218fb Fix Markdown table heads 2018-11-11 18:49:47 +01:00
Camilla Löwy
041167895d Documentation work 2018-11-05 19:04:27 +01:00
Camilla Löwy
6a199c1f5e Allow exposing only native context APIs
Fixes 1349.
2018-10-24 18:01:12 +02:00
Emmanuel Gil Peyrot
64c034edfb Documentation work 2018-10-24 14:03: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
Coşku Baş
f4764f7288 Accidentally a word
Related to #1310.
2018-08-09 19:03:51 +02:00
Camilla Löwy
e1495c013d Fix missing API reference thread safety section
Fixes #1312.
2018-08-09 13:57:10 +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
d222a40046 Documentation work 2018-04-10 17:53:25 +02:00
Camilla Löwy
34d20b0f03 Fix documentation
Fixes #1226.
2018-03-03 22:24:26 +01:00
Emmanuel Gil Peyrot
5e5bc14468 Fix documentation about window decorations 2018-02-25 16:54:44 +01:00