ws909
5805c51eab
Add color specifier to GLFWtheme.
...
Add color specifier parameter to glfwThemeGetColor and glfwThemeSetColor.
Add GLFW_THEME_COLOR_MAIN.
Remove GLFW_THEME_ATTRIBUTE_HAS_COLOR.
2023-02-01 04:44:22 +01:00
ws909
afae2b0dfa
Implement _glfwGetSystemDefaultThemeCocoa.
...
Fix bug in _glfwGetThemeCocoa always reporting a light theme for system default themes.
2023-01-30 03:09:39 +01:00
ws909
d87fc99503
Change GLFWtheme's public API flags to attributes
2023-01-30 01:12:12 +01:00
ws909
b5758af155
Add limited inline documentation.
...
Change _GLFWtheme's color components to floats.
2023-01-30 00:02:44 +01:00
ws909
a63905b2f6
Fix clear color in theming test
2023-01-29 22:57:30 +01:00
ws909
bcd5cf6f8e
Fix glfwSetTheme conflicting declaration
2023-01-29 21:18:48 +01:00
ws909
3e7ce3ac63
Convert GLFWtheme to an opaque object.
...
Add creation, copying and destruction functions for theming objects.
Add setters and getters for theme objects.
2023-01-29 21:06:42 +01:00
Andreas
4963e8ba94
Merge branch 'glfw:master' into theming
2023-01-27 19:23:54 +01:00
Camilla Löwy
8f470597d6
Add support for manually running build workflow
2023-01-26 18:41:46 +01:00
ws909
17ab6209df
Fix duplicate syntax error in win32_init, wl_init, x11_init
2023-01-26 10:22:40 +01:00
ws909
266f67c6db
Add stubs for all platforms
2023-01-26 10:16:55 +01:00
ws909
b5363d87d2
Fix remaining build errors for Cocoa.
2023-01-26 08:50:42 +01:00
ws909
bbd5bcb7fd
Attempt at fixing compilation errors for MacOS
2023-01-26 08:31:31 +01:00
ws909
fe1eddc2ad
Conditionally execute theming based on OS version
2023-01-26 06:38:27 +01:00
ws909
2db9a368f7
Add credit
2023-01-26 04:07:43 +01:00
ws909
1259135f1a
Fix NSAppearance conversion to GLFWtheme
...
No longer attempts to set high contrast modes, as Cocoa does not allow this.
2023-01-26 04:06:14 +01:00
ws909
5ee6c4526d
Guard Cocoa system appearance observation in ifdefs for MacOS 10.14+
...
NSAppearanceName constants have various OS constraints, and so require more thorough checks.
2023-01-26 02:30:27 +01:00
ws909
b091cc0c80
Fix glfwSetSystemThemeCallback and its Cocoa implementation
2023-01-26 02:22:57 +01:00
ws909
ae437d3eaa
Fix _glfwGetThemeCocoa
2023-01-26 00:46:37 +01:00
ws909
9636949882
Add theming test program to CMake
2023-01-25 20:24:19 +01:00
ws909
f81a9b32c3
Add empty theme support for Null platform
...
Add TODO comments for Null and Cocoa theming functions.
2023-01-25 20:19:41 +01:00
ws909
da9e6dac24
Add theming test program source
2023-01-25 19:53:15 +01:00
ws909
e7922d7b4f
Add GLFW theming functions
...
Cocoa implementations are broken.
Other platforms have no stubs, and therefore can't be compiled for.
2023-01-25 19:46:16 +01:00
Camilla Löwy
57cbded076
Add credit
...
Related to #2225
2022-12-16 13:44:59 +01:00
Takuro Ashie
41d8da1cea
Wayland: Fix wrong array size for _GLFWofferWayland
...
Closes #2225
2022-12-16 13:40:36 +01:00
TheBrokenRail
00967cbb8a
Linux: Fix joystick input being disabled
...
Closes #2192
2022-12-15 20:18:59 +01:00
Camilla Löwy
dd8a678a66
Update Doxyfile template for Doxygen 1.9.5
...
This is mostly to disable Doxygen HTML output dark mode (for now).
2022-09-20 19:38:37 +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
Camilla Löwy
d299d9f788
Remove Doxyfile tags deprecated by Doxygen 1.9.5
2022-09-15 22:25:10 +02:00
Camilla Löwy
ed1d9e1ca7
Document X11 WM_CLASS hint behavior
...
Fixes #2180
2022-09-15 22:25:10 +02:00
Camilla Löwy
ab3ea8ac9f
Win32: Remove unhelpful helper function
2022-09-15 22:25:10 +02:00
Camilla Löwy
c812b9d87c
Add conditional compilation for platform units
...
This is a step towards being able to compile GLFW manually without
needing to duplicate a lot of platform- or OS-specific logic.
2022-09-15 22:24:39 +02:00
Camilla Löwy
8a72918bcd
Move helper macros to single point of use
2022-09-15 22:14:41 +02:00
Camilla Löwy
ab1b1edfd0
EGL: Cleanup
...
Both config parameters are "desired", but one is older and never had its
name updated.
This commit at least makes it clearer that they are similar.
2022-09-15 22:14:41 +02:00
Camilla Löwy
93e93135f2
EGL: Add better error for no stereo
2022-09-15 22:14:41 +02:00
Camilla Löwy
e057666642
EGL: Add better errors for client API mismatch
...
Because EGL ties client API support to configs, attempts to create
a context with an unavailable client API will fail with the unhelpful
"failed to find suitable config" error description.
This attempts to detect cases where there are usable configs for the
other client API and emit a hopefully more helpful error.
Related to #2173
2022-09-15 22:09:56 +02:00
Camilla Löwy
6b57e08bb0
Check if context creation APIs match when sharing
2022-08-22 19:17:12 +02:00
Camilla Löwy
2c0f34b60f
WGL: Fix count of displayable pixel formats
...
We only care about displayable pixel formats (as defined in
WGL_ARB_pixel_format) for window context creation.
This changes pixel format enumeration to ignore non-displayable formats,
which are specified to be listed after displayable ones, by always using
the return value of DescribePixelFormat as the pixel format count.
2022-08-22 19:15:41 +02:00
Camilla Löwy
ef6c9d8b4f
Wayland: Fix window opacity on older systems
...
On systems lacking the EGL_EXT_present_opaque extension, some
compositors treat any buffer with an alpha channel as per-pixel
transparent.
This commit ignores any EGLConfig with an alpha channel if the extension
is missing and the window is created with GLFW_TRANSPARENT_FRAMEBUFFER
set to false.
This is technically not a breaking change since GLFW_ALPHA_BITS is not
a hard constraint, but it is still going to inconvenience anyone using
the framebuffer alpa channel to store other kinds of data.
Related to #1895
2022-08-01 19:19:51 +02:00
Camilla Löwy
c18851f52e
GLX: Add support for loading glvnd libGLX
2022-07-29 19:14:04 +02:00
Camilla Löwy
55aad3c37b
EGL: Add support for loading glvnd libOpenGL
2022-07-29 19:14:04 +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
7d73629e50
X11: Preserve unrelated values in WM_NORMAL_HINTS
...
This stops GLFW overwriting the whole WM_NORMAL_HINTS property every
time it updates size-related parts of it.
2022-07-28 22:50:17 +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
TheChocolateOre
2e12ef00bb
Fix typos and other issues in docs
...
This fixes spelling, grammar and punctuation issues, missing words and
stray words across the documentation. A confusing sentence was removed
from the tutorial.
Closes #2085
2022-07-28 15:56:18 +02:00
Camilla Löwy
3a60992a41
Wayland: Add error for unsupported feature
2022-07-25 18:02:57 +02:00
Camilla Löwy
3a5c726d1b
Wayland: Remove unreachable code
...
This platform function is only called if the cursor is enabled.
2022-07-25 18:02:57 +02:00
Camilla Löwy
7be6a2cabe
Wayland: Clean up pointer helper function order
2022-07-25 18:02:57 +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