Commit Graph

26 Commits

Author SHA1 Message Date
Armin Novak
0caa0fb4f6 [client,sdl] make logging less verbose 2026-02-20 10:04:41 +01:00
Armin Novak
1ac24accf0 [client,sdl] fix move constructor of SdlWindow 2026-02-14 20:35:25 +01:00
Armin Novak
da71c28c9c [client,sdl] create a map of pixel coordinates
We need pixel coordinates for each monitor, but SDL may return logical
coordinates depending on HighDPI mode used by the system.
This commit does:
* Detect which HighDPI mode is in use isHighDPIWindowsMode
* Creates a map of pixel coordinates for each monitor
  * recreated whenever a monitor changes)
  * Updates the window rdpMonitor data for existing windows
2026-02-13 19:24:15 +01:00
akallabeth
efa15e1dc2 [client,sdl] implement a static SdlWindow::query function
The display settings can not be proplerly queried by SDL without a
window. Create a temporary, invisible window for a requested monitor and
query the required details from that window.
2026-02-13 19:24:14 +01:00
motor-dev
d01698752c [client,sdl] fix multimon/fullscreen on wayland
Help SDL identify the display to use for fullscreen even when compositors interfere with window positions.
SDL respects the intent of a window if it is moved to the appropriate display just before it is made fullscreen.
2026-02-05 23:16:24 +01:00
akallabeth
1be664218c [client,sdl] simplify window creation 2026-01-28 13:41:05 +01:00
akallabeth
3eb660ace5 [client,sdl] remove display id from title 2026-01-28 13:22:29 +01:00
akallabeth
7258c77838 [client,sdl] fix local scaled drawing
* Add scaling factor to drawing routines
* Update local scaling on each draw
2026-01-27 15:22:25 +01:00
akallabeth
743e1a6799 [client,sdl] add new SdlWindow members
* get orientation of window on display
* get window size (in logical size)
2026-01-27 15:22:20 +01:00
akallabeth
845ef25997 [client,sdl] fix unused return warnings 2026-01-27 15:22:15 +01:00
akallabeth
5f8c0a86d9 [client,sdl] encapsulate window class 2026-01-27 15:22:11 +01:00
akallabeth
07c2c39972 [client,sdl] set metadata after command line parsing
This allows to apply a user provided /wm-class setting.
2025-09-26 10:11:22 +02:00
akallabeth
a978a8124f [client,sdl] fix orientation update
* Properly set display orientation in display update messages
* Unify some conversion functions
2025-04-10 15:06:11 +02:00
akallabeth
3c354a5f1b [client,sdl] refactor display update 2025-04-10 08:31:45 +02:00
akallabeth
0a3602cb9a [client,sdl] fix multimonitor fullscreen 2025-04-03 13:37:20 +02:00
akallabeth
8d469feda0 [client,sdl] fix initial window size
* on high dpi displays set appropriate initial display size (divide
  pixel size with scale)
* send display resize on window resize events
* send display resize on any window event (minimize/maximize/expose/...)
2025-03-26 20:34:57 +01:00
jpy794
0b6329bdd6 enable sdl3 hidpi
fix wait create windows

enable sdl hidpi

map mouse event

fix smart sizing

dynamic resolution in hidpi

reset drawing offset when resize is done

tirgger a full redraw to sdl window after resizing

format & fix warning

sdl hidpi cursor workaround

clean up

format
2025-03-25 00:51:31 +08:00
akallabeth
86a21d461e [client,warnings] fix -Wunused-parameter for SDL 2025-02-13 15:54:01 +01:00
akallabeth
6701359cc1 [warnings] fix integer casting
* use WINPR_ASSERTING_INT_CAST where possible
* clean up client code
2024-12-19 12:45:23 +01:00
akallabeth
699fc70941 [client,sdl] update to current sdl3-api 2024-09-20 10:19:29 +02:00
akallabeth
06097575a4 [client,sdl] fix redundant initializer 2024-09-11 20:50:36 +02:00
akallabeth
d93d9765b3 [client,sdl] add minimize shortcut 2024-09-10 12:28:36 +02:00
David Fort
3a9a820092 sdl3: fix build with last version of SDL3 2024-09-05 14:57:11 +02:00
akallabeth
500495dc00 [warnings] fix SDL3 related issues 2024-08-29 16:03:51 +02:00
David Fort
4e6f7fb989 [sdl3] fix build against last SDL3 2024-08-12 11:50:02 +02:00
akallabeth
cc038ad89b [client,sdl] merge SDL2 and SDL3 projects 2024-05-16 20:34:11 +02:00