Commit graph raylib/src/platforms/rcore_desktop_glfw.c
Author SHA1 Message Date
SuperUserNameMan
79316b2da9
typos 2024-07-22 18:14:24 +02:00
SuperUserNameMan
2ffca57629
GetWindowScaleDPI() return {1,1} if HDPI or fullscreen modes 2024-07-22 17:45:08 +02:00
SuperUserNameMan
19020153ca
rcore_desktop_glfw.c : disable FLAG_WINDOW_HIGHDPI on Wayland
If Ubuntu is not mistaking me, on Wayland `FLAG_WINDOW_HIHDPI` could just be ignored because the window decorator (or whatever subsystem in charge) already rescale the window and its content according to the display scale.
2024-07-22 17:09:42 +02:00
SuperUserNameMan
1a7657ebd0
rcore_desktop_glfw.c : SetWindowMonitor() workaround for Wayland
According to my understanding of current GLFW version, on Wayland, the only way to move the windowed window from one monitor to another is to toggle it to fullscreen twice (since only a fullscreen window can be moved to another monitor by code).
2024-07-22 16:06:32 +02:00
SuperUserNameMan
c5f90a5edd
rcore_desktop_glfw.c : improved Wayland support 2024-07-22 15:35:26 +02:00
SuperUserNameMan
9fb406ac1a
rcore_desktop_glfw.c - Wayland compatibility
Because Wayland does not let know or set the position of a window, it broke some basic Raylib's features and functions. I tried to find a balance between crossplatform compatibilities, and the Wayland way of doing things. So, on Wayland, `SetWindowMonitor()` won't move a windowed window from a monitor to another, but can be used to select on which monitor the user wants the hardware fullscreen mode.
2024-07-21 16:01:58 +02:00
SuperUserNameMan
04138459f0
invalid window size default to 3/4 of the display 2024-07-21 09:54:27 +02:00
SuperUserNameMan
b2c9c5ef88
make SetWindowMonitor() works with FLAG_BORDERLESS_WINDOWED 2024-07-20 15:48:40 +02:00
SuperUserNameMan
05b172008f
GLFW : Wayland don't support setting or getting window pos
Using `glfwGetWindowPos()` or `glfwSetWindowPos()` trigger errors that should be cleared with `glGetError(NULL)` to avoid misinterpretation of later use of `glGetError()`
2024-07-20 15:23:54 +02:00
SuperUserNameMan
a2ccd820e5
CodeQL bot : Variable result hides another variable of the same name (on ). 2024-07-17 18:47:50 +02:00
SuperUserNameMan
2d225145d7
Merge branch 'raysan5:master' into fix-ToggleBorderlessWindowed 2024-07-17 18:24:00 +02:00
SuperUserNameMan
a2d1e66ec4
Update rcore_desktop_glfw.c : replace old PR with new branch PR 2024-07-17 18:10:15 +02:00
MrScautHD
576bee5cce
Adding GetKeyName(int key) (WIP) (#4161) 2024-07-16 14:00:00 +02:00
SuperUserNameMan
dc4c60bf62
detect Wayland special case at runtime 2024-07-15 18:42:45 +02:00
SuperUserNameMan
312f9c2cb7
disable GLFW_AUTO_ICONIFY for all fullscreen modes
If the user requires this feature, they can replicate the behavior on their code side using a simple : `if ( ! IsWindowFocused() ) MinimizeWindow();`
2024-07-15 14:49:02 +02:00
SuperUserNameMan
32e9d882d7
InitPlatform() set GLFW_SCALE_FRAMEBUFFER to false by default 2024-07-13 10:45:16 +02:00
SuperUserNameMan
1b800a14eb
explicit focus request in ToggleFullscreen()
fix issue mentioned by @paulmelis ?
2024-07-12 13:09:38 +02:00
SuperUserNameMan
b004531efb
immediate access to GetScreenWidth/Height(), GetRenderWidth/Height()
Call `WindowSizeCallback()` manually so we don't have to wait for after the next `EndDrawing()` to have access to up to date `GetScreenWidth()` etc value.
2024-07-11 19:02:47 +02:00
SuperUserNameMan
545665da87
toggle currently active fullscreen mode and leave
Trying to go straight forward from one fullscreen mode to another make things more complicated to control. 
Seems a full loop is required when trying to change fullscreen modes and window size properly for now.
Maybe will restore the ability to jump from one fullscreen mode to another when more cleaning will be done deeper in the rabbit hole.
2024-07-11 18:36:56 +02:00
SuperUserNameMan
a76adf9a48
little ToggleFullscreen() cleanup 2024-07-11 18:14:12 +02:00
SuperUserNameMan
21bff481ff
comment clarification 2024-07-11 17:53:08 +02:00
SuperUserNameMan
7ddb880f02
should fix all issues related to HDPI, fullscreen and bordeless
Work perfect on Linux wirth X11
Needs confirmation on Linux Wayland, MacOS, and Windows.
2024-07-10 17:13:17 +02:00
SuperUserNameMan
3f605e3143
some code style convention and we should be good 2024-07-10 12:02:40 +02:00
SuperUserNameMan
949aa21a7a
should fix ToggleBorderlessWindowed() on Linux and Macos
should fix issue #4149

Linux MATE : tested
Macos : tested

Windows : need confirmation

---

thanks to @SoloByte and to @paulmelis for their help and efforts to solve this issue
2024-07-10 11:48:09 +02:00
SuperUserNameMan
174313acbf
WindowSizeCallback() should not try to handle DPI since already managed by GLFW (#4143)
If `FLAG_WINDOW_HIGHDPI` is set, `InitPlatform()` will aks GLFW to handle resize window content area based on the monitor content scale using : ` glfwWindowHint(GLFW_SCALE_TO_MONITOR, GLFW_TRUE); `

So `WindowSizeCallback()` does not have to handle it a second time.
2024-07-09 09:23:14 +02:00
Ray
3abe728712 Minor tweaks 2024-07-08 22:54:19 +02:00
NishiOwO
598b7f5210
Add workaround for NetBSD (#4139) 2024-07-08 22:47:35 +02:00
Ray
d243094ede WARNING: BREAKING: Renamed PLATFORM_DESKTOP to PLATFORM_DESKTOP_GLFW
This could potentially be a breaking change, for consistency, now every possible desktop backend has the proper name assigned: GLFW, SDL, RGFW
raylib build system has been reviewed to fallback to `PLATFORM_DESKTOP_GLFW` by default when `PLATFORM_DESKTOP` defined
2024-07-01 18:28:44 +02:00
Renamed from src/platforms/rcore_desktop.c (Previous history)