Commit Graph

417 Commits

Author SHA1 Message Date
Jan Schürkamp
9f521e0778
Merge 1226d4a839 into d79afa8055 2024-01-28 11:30:10 -08:00
Camilla Löwy
d2b88cf7ab Update documentation for native access errors
The GLFW_PLATFORM_UNAVAILABLE error was not listed for those native
access function that can emit it.

The order of errors for many functions in glfw3native.h did not match
the order used in glfw3.h.

The documentation for GLFW_PLATFORM_UNAVAILABLE was a little bit terse.
2024-01-13 22:13:56 +01:00
Camilla Löwy
29885c6942 Win32: Improve clipboard contention issue
This is primarily a workaround for a GLFW application reading and/or
writing to the clipboard in rapid succession and catching up with the
Windows Clipboard History, which also has to contend for the lock.
2024-01-13 22:13:56 +01:00
Camilla Löwy
73948e6c0f Fix missing error in docs for glfwCreateWindow
The GLFW_NO_WINDOW_CONTEXT error can be emitted if the window passed in
for context sharing does not have a context.

Fixes #2456
2024-01-13 22:13:56 +01:00
Jan Schürkamp
0d9f1d625e
Merge branch 'glfw:master' into application-badge 2023-12-08 20:54:26 +01:00
Camilla Löwy
9959dc69ca Improve documentation relating to key tokens
Shifted the documentation away from the term 'named keys' as something
different than keys that glfwGetKeyName will return a name for.  The
already existing term 'key token' should now be used to refer to the
GLFW_KEY_* constants.

The associated term 'named mouse button' was also replaced with
'supported mouse button'.

The parts explaining which key tokens will return a valid scancode from
glfwGetKeyScancode have hopefully been clarified.  This issue was
reported in #2055.

The GLFW_KEY_UNKNOWN constant has been moved out of the list of key
tokens to simplify and hopefully clarify the related documentation.

Various other keyboard key related edits were made, hopefully resulting
in improvements.

Related to #2055
2023-12-05 19:10:06 +01:00
Camilla Löwy
557a633b2d Fix list of possible errors for glfwGetKeyName 2023-12-05 18:36:54 +01:00
Camilla Löwy
3f31519de8 Clarify documentation for glfwMakeContextCurrent 2023-12-05 18:36:54 +01:00
Grzesiek11
dbe810e403
Documentation: only named keys generate synthetic key releases
The current wording states that all keys have synthetic key release
events generated after focus is lost, but keys that aren't named
don't have any state held, so no such events are generated for them.

The new wording clarifies that only named keys have the events generated
for them.
2023-11-24 17:04:13 +00:00
GamesTrap
aec406ec1f
Merge upstream/master into origin/application-badge 2023-04-05 19:55:52 +02:00
ws909
1f13c042b2 Add documentation for glfwSetWindowBadge and glfwSetWindowBadgeString 2023-04-03 09:06:22 +02:00
Camilla Löwy
fbdb53b9ca Wayland: Add initial support for libdecor
This is partly based on the implementation of libdecor support in
PR #1693 by @ christianrauch.

Where available, the libdecor library is loaded at init and becomes the
preferred method for window decorations.  On compositors that support
XDG decorations, libdecor in turn uses those.  If not, libdecor has
a plug-in archtecture and may load additional libraries to either use
compositor-specific decorations or draw its own.

If necessary, support for libdecor can be disabled with the
GLFW_WAYLAND_LIBDECOR init hint.  This is mostly in case some part of
the dynamic loading or duplication of header material added here turns
out to cause problems with future versions of libdecor-0.so.0.

Fixes #1639
Closes #1693
Related to #1725
2023-03-27 22:03:36 +02:00
GamesTrap
3ed4a360fd
Merge origin/taskbar-progress into origin/application-badge 2023-03-21 13:36:38 +01:00
GamesTrap
de81fae268
Added GLFW_WIN32_GENERIC_BADGE window hint 2023-03-08 21:22:10 +01:00
Andreas
ef4d722b76
Merge(#3): Finalized progress API 2023-03-08 14:10:00 +01:00
GamesTrap
367a50e82d
Renamed badge API functions 2023-03-08 01:00:21 +01:00
ws909
cf2d81d116 Add glfwSetWindowTaskbarBadgeString
Change from GLFW_DONT_CARE to 0 for disabling the badge for glfwSetWindowTaskbarBadge
2023-03-06 13:23:55 +01:00
GamesTrap
94fb107c24
Added boilerplate glfwSetWindowTaskbarBadge() 2023-03-04 21:08:05 +01:00
GamesTrap
9f17a69a67
glfwSetWindowTaskbarProgress Polishing 2023-03-03 16:18:16 +01:00
ws909
2244051453 Per-window progress indicator states and values for the MacOS Dock icon 2023-03-02 18:43:27 +01:00
ws909
a9b36d48d7 Simplify _glfwSetWindowTaskbarProgressCocoa
Fix merge issues
Rename taskbarState to progressState
Remove const qualifier from progressState parameter
2023-03-02 15:51:10 +01:00
GamesTrap
0f142e3a1a
glfwSetWindowTaskbarProgress Changed value type from int to double 2023-03-02 13:55:42 +01:00
GamesTrap
a480de9b1d
glfwSetWindowTaskbarProgress Renamed parameter completed to value 2023-03-01 22:27:52 +01:00
GamesTrap
3e7b016a00
Renamed GLFW_TASKBAR_PROGRESS_NOPROGRESS to GLFW_TASKBAR_PROGRESS_DISABLED 2023-03-01 22:22:01 +01:00
GamesTrap
19f9247a68
Added documentation 2023-02-05 02:50:53 +01:00
GamesTrap
11ddcdde9f
Merge remote-tracking branch 'upstream/master' into taskbar-progress 2022-10-14 18:05:48 +02:00
Camilla Löwy
97b9e49637 Documentation work 2022-09-20 17:03:30 +02:00
Camilla Löwy
b2b087cd8e Fix documented errors for gamma ramp functions
Fixes #2186
2022-09-20 17:02:51 +02:00
GamesTrap
827cf79f63
Linux Added support for taskbar progress (KDE & Unity) 2022-09-02 02:49:53 +02:00
Jan Schürkamp
fb4c22ed9c
Merge branch 'glfw:master' into taskbar-progress 2022-08-06 16:38:09 +02:00
Camilla Löwy
0f9a9578f3 Add window hints for initial position
This adds window hints for the initial position, in screen coordinates,
of a window.  The special value GLFW_ANY_POSITION means the window
manager will be allowed to position the window.

It is not possible to set window positions on Wayland and GLFW will
always behave as if these hints are set to GLFW_ANY_POSITION.

Fixes #1603
Fixes #1747
2022-07-29 11:50:13 +02:00
Camilla Löwy
2efc598d70 Fix native access macros being mutually exclusive
The documentation was updated with the introduction of run-time platform
selection, but the preprocessor logic was not.
2022-07-28 15:56:47 +02:00
Camilla Löwy
488008e0a2 Add cursor mode GLFW_CURSOR_CAPTURED
This adds a cursor mode that provides a visible cursor confined to the
content area of the window.

Fixes #58
2022-07-25 18:02:57 +02:00
Michael Pennington
b9ed25d2e9 Wayland: Add GLFW_WAYLAND_APP_ID window hint
This adds a window hint string for the xdg_toplevel::app_id, which is
used by desktop environments to connect windows with application icons
and other information.  This is similar to the WM_CLASS property on X11.

A few very minor fixes were done by @elmindreda during merge.

Fixes #2121
Closes #2122
2022-07-24 17:51:54 +02:00
GamesTrap
8acb72b9a1
Win32 Added support for taskbar progress 2022-07-23 21:28:35 +02:00
Camilla Löwy
aa80d24d01 Documentation work
Fixes #1596
2022-07-12 19:08:01 +02:00
Camilla Löwy
2796e61af7 Documentation work 2022-07-11 20:54:22 +02:00
Camilla Löwy
05f6c13d11 Add support for GLFW_NATIVE_INCLUDE_NONE macro
By default, the glfw3native.h header will include the platform-specific
headers necessary for the return types of GLFW native access functions.

Sometimes it is preferrable to declare those types

This commit adds support for the GLFW_NATIVE_INCLUDE_NONE macro, which
when defined disables the inclusion of all platform-specific headers.

Fixes #1348
2022-06-08 22:14:38 +02:00
Camilla Löwy
edec334b32 Cocoa: Use system header to declare id type
Related to #1348
2022-06-08 22:14:38 +02:00
Camilla Löwy
ce85c7dcaf Fix GLAPIENTRY not being defined for native access
This is a follow-up to 535c3ce632.

That commit made glfw3native.h undefine GLAPIENTRY whenever
GLFW_EXPOSE_NATIVE_GLX or GLFW_EXPOSE_NATIVE_OSMESA was defined, on the
assumption that it was glfw3.h that had defined GLAPIENTRY.

If gl.h or an extension loader header has been included before glfw3.h,
then it has defined inclusion guards preventing GLAPIENTRY from being
defined later when the GLX or OSMesa header includes gl.h.

This commit ensures GLAPIENTRY is only undefined if glfw3.h defined it.

Related to #2010
2022-05-06 19:18:47 +02:00
Camilla Löwy
685de9089f Fix and clarify comments for GLFWAPI 2022-04-28 21:58:44 +02:00
Camilla Löwy
06089a91a6 Document delayed initialization of EGL display 2022-04-28 21:18:49 +02:00
Camilla Löwy
66a4882eb1 Add checks for some invalid values to public API
There were no checks for invalid values or asserts for all invalid NULL
pointers to glfwSetWindowIcon or glfwCreateCursor.

Fixes #1862
2022-03-18 00:23:20 +01:00
Camilla Löwy
add0521efb Fix accidental C99 in C89 header 2022-03-16 18:41:27 +01:00
Camilla Löwy
535c3ce632 Fix GLAPIENTRY redefinition warning
On a Unix system, if you define GLFW_INCLUDE_NONE and
GLFW_EXPOSE_NATIVE_GLX, then include glfw3.h and glfw3native.h, you will
get a redefinition warning for GLAPIENTRY.

The glfw3.h header defines GLAPIENTRY as a service for OpenGL related
headers that assume it's already defined.  However, glx.h includes gl.h,
which defines GLAPIENTRY unconditionally.

If not for Hyrum's law, the better solution would have been not to
define GLAPIENTRY if GLFW_INCLUDE_NONE is defined.

Fixes #2010
2022-03-16 18:40:26 +01:00
Camilla Löwy
8edbc4971d Wayland: Document delayed window showing 2021-12-27 01:31:38 +01:00
Camilla Löwy
05b0e2fab2 Update docs for specific Vulkan surface extensions
Related to #2014
2021-12-26 18:10:18 +01:00
InKryption
c19f36b28d Add missing errors section for glfwGetGamepadName
The reference documentation for glfwGetGamepadName lacked the possible
errors section.

Closes #2007
2021-12-08 19:20:45 +01:00
Stephen Gutekanst
37fc28bff6 Fix docs calling GLFW_CONTEXT_REVISION a hint
This docstring previously indicated that GLFW_CONTEXT_REVISION was
a window hint and attribute, but in fact it is only a window attribute
(there is no code which uses this constant in any other context.)

We noticed this in https://github.com/hexops/mach/pull/71/files#r749741814

Closes #1992

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-11-25 23:44:12 +01:00
InKryption
bb193325cc Add missing error to glfwGetClipboardString docs
Add GLFW_FORMAT_UNAVAILABLE to the list of possible errors in the
reference documentation for glfwGetClipboardString.

Slightly edited by @elmindreda.

Closes #1998
2021-11-25 23:24:26 +01:00