Commit Graph

2858 Commits

Author SHA1 Message Date
Anonymous Maarten
4e5f9b0419 Fix -Wundef warnings due to use of unguarded SDL_LOADSO_DISABLED 2023-03-28 19:29:42 +02:00
Anonymous Maarten
0c3777d566 video: fix warnings about unused variables when building without duff's loop 2023-03-28 16:59:27 +00:00
Anonymous Maarten
f7961b7c9a video/blit: fix -Wimplicit-fallthrough warnings 2023-03-28 16:59:27 +00:00
Sylvain
c838ccf0e3 Safety fix: clear "_this->wakeup_window" when destroying the window 2023-03-28 08:28:31 -07:00
Sylvain
0c048d98af Safety fix: clear "_this->current_glwin" when destroying the window 2023-03-28 08:28:31 -07:00
Sylvain
e494844e9a Fixed bug #7515 - Window still grabbed after destroying 2023-03-28 09:42:19 +02:00
Sylvain
1fe2110755 Don't clear checked_texture_framebuffer 2023-03-28 09:40:17 +02:00
Elad Lahav
5fee62d774 Rename files under src/video/qnx 2023-03-27 15:33:08 -07:00
Elad Lahav
b98a501e0d glGetProcAddress() should return SDL_FunctionPointer 2023-03-27 15:33:08 -07:00
Elad Lahav
4374645738 Add QNX video and audio modules 2023-03-27 15:33:08 -07:00
Anonymous Maarten
9ada9daf51 SDL_blit_copy: Don't call potentially FPU using SDL_memcpy in SDL_memcpyMMX 2023-03-27 06:12:49 +00:00
Frank Praznik
5a0095d373 video: Try to match the requested video mode when moving fullscreen windows
Try to match the requested video mode when a fullscreen window is moved to a new display, or it may not be returned to the requested mode if it is moved to a display with no matching mode, then back to the original display.
2023-03-26 12:50:32 -04:00
Frank Praznik
11323abf57 wayland: Set the minimized flag on windows until cleared by a focus event
The behavior when minimizing a window on Wayland is compositor dependent and clients are not informed when windows enter or leave the minimized state, however we can assume that, when receiving a minimize request from the application, the minimized window should set and keep the minimized status flag until the window regains focus.

This is required when attaching a renderer context to a minimized window, as the renderer creation process destroys and recreates the target window, and without retaining the minimized flag, the recreated window will lose the minimized state.
2023-03-24 16:17:16 -04:00
Frank Praznik
6bb48b4fe9 wayland: Unref the libdecor window when hiding
Hiding the decorations while not unreferencing the frame was a workaround for an internal libdecor use-after-free bug that was fixed some time ago. Revert to unreferencing the window when hiding to ensure that it is properly destroyed.

Reverts dd2e318
2023-03-24 16:17:16 -04:00
Sam Lantinga
26f511a8f4 Add SWP_NOACTIVATE to SetWindowPos flags passed in WIN_SetWindowAlwaysOnTop 2023-03-24 10:39:56 -07:00
Sylvain
d4d26e0ddb testautomation_video: if SDL_SetWindowSize/Position isn't honored, we should check there is an event
x11: send the events if various occasions
2023-03-24 09:52:05 +01:00
Sylvain
4b1378fe8e X11: fix size/position (test video_setWindowCenteredOnDisplay)
this fix x11 backend to correctly pass video_setWindowCenteredOnDisplay()
- get border values early  (eg status bar)
- wait for size/position change to get valid values

Fix set topleft is client rendering area
2023-03-24 09:52:05 +01:00
Anonymous Maarten
749f3ebd14 Fix arguments of SDL_BlitCopyMMX 2023-03-24 02:18:06 +01:00
Ozkan Sezer
2e4ce78b33 tidy-up SDL_yuv.c 2023-03-21 23:03:02 +03:00
Anonymous Maarten
b5b9ddb205 SDL_intrin.h: define SDL_<simd>_INTRINSICS in user-visible header 2023-03-21 23:03:02 +03:00
Ozkan Sezer
79513afc19 build fixes to SDL_yuv.c 2023-03-21 23:03:02 +03:00
Ozkan Sezer
69de6964e5 use target attributes of gcc / clang for SIMD code. 2023-03-21 23:03:02 +03:00
Sam Lantinga
08d5c1386e Fixed always on top windows on Windows
Also cleaned up some SetWindowPos() calls and made it explicit when we change the topmost flag
2023-03-17 10:37:21 -07:00
Sam Lantinga
e4be1247d0 Added a hint to retain window content during state changes
In my testing window content is always retained, but this makes our intent explicit.
2023-03-16 20:43:07 -07:00
Sam Lantinga
a776188d77 Don't change the Z order when moving or resizing windows 2023-03-16 17:19:38 -07:00
Sam Lantinga
3f67f02d0e Fixed SDL_WINDOW_SKIP_TASKBAR on Windows
The WS_EX_APPWINDOW forces a window onto the taskbar, which is not what we want. Set the style to 0 to use the default behavior.
2023-03-16 16:56:46 -07:00
Sam Lantinga
c7ab378c61 We don't need to track whether we were hidden by parent focus change 2023-03-16 14:11:41 -07:00
Sam Lantinga
76176c9845 Conversely, we shouldn't automatically show children when we get focus 2023-03-16 14:09:46 -07:00
Sam Lantinga
0cb7c4ba58 Don't hide popups when losing focus
This isn't the behavior on Windows, and this should probably be an application defined behavior.

If we decide we want this globally, it should probably be implemented at a higher level in SDL_OnWindowFocusLost(), and properly handle the transition of focus to a child window.
2023-03-16 14:04:12 -07:00
Sylvain
5da9e99da0 Fixed bug #7462 - 8888 as default GL backbuffer red/green/blue/alpha bit sizes 2023-03-16 13:54:11 -07:00
Sylvain
b95b203116 Refresh generation of SDL_blit_auto.c after simplifying sdlgenblit.pl 2023-03-16 20:25:59 +01:00
Sylvain
41b8fee833 Simplify SDL_BLENDMODE_MUL in sdlgenblit.pl 2023-03-16 20:25:59 +01:00
Sylvain
99668c286b Simplify SDL_BLENDMODE_MUL 2023-03-16 20:25:59 +01:00
Sylvain
ad1a216d65 Refresh generation of SDL_blit_auto.c 2023-03-16 20:25:59 +01:00
Sam Lantinga
66eff69d2b Don't update hidden child windows, their relative position doesn't change
This improves performance when moving a top level window that has many hidden child windows
2023-03-16 11:24:21 -07:00
Frank Praznik
a8ea8db6d7 wayland: Update the popup window geometry on configure events 2023-03-16 14:01:42 -04:00
Frank Praznik
be70d9a9c7 wayland: Clarify the popup position restriction purpose
Child popups don't necessarily need to be within, but must intersect or be partially adjacent to the parent, per the xdg-positioner spec.
2023-03-16 14:01:42 -04:00
Frank Praznik
c270d151b0 wayland: Handle cases where the compositor does not scale the monitor viewport in its compositing space
The xdg-output spec was updated to clarify its usage rules, and what was previously thought to be a bug is actually valid behavior. Gnome, when not using 'scale-monitor-framebuffer', does not scale the viewport of the display in the global compositor space, and thus the physical and logical sizes of the display will match. This value still needs to be divided by the integer scale value to get the logical output dimensions in screen units though.
2023-03-16 14:01:42 -04:00
Sam Lantinga
5dd317b869 Fixed position when setting WM hints on X11 popup windows 2023-03-15 20:23:03 -07:00
Sam Lantinga
422517c036 Allow passing 0 to SDL_SetWindowMinimumSize() and SDL_SetWindowMaximumSize() to indicate no limit 2023-03-15 16:13:56 -07:00
Anonymous Maarten
d27db3defa cmake+video: always use altivec.h header for detection + introduce SDL_ENABLE_ALTIVEC 2023-03-15 14:54:20 +01:00
Anonymous Maarten
9cb5f0bfc6 video: fix ARM neon and simd 2023-03-15 14:54:20 +01:00
Anonymous Maarten
ba5b1f2fd2 Fix build with -DX11MODES_DEBUG in CPPFLAGS 2023-03-15 14:54:20 +01:00
Anonymous Maarten
fc4085b54e cmake: Allow build system to disable arm neon intrinsics 2023-03-15 14:54:20 +01:00
Anonymous Maarten
46de6241d7 cmake: Allow build system to disable loongarch intrinsics 2023-03-15 14:54:20 +01:00
Anonymous Maarten
4681240241 cmake: Detect AVX + allow build system to disable Intel intrinsics 2023-03-15 14:54:20 +01:00
Sam Lantinga
a17ad65f2b Revert "Popup window parent defaults to the first toplevel window"
This reverts commit e8e2c8175c.

Conceptually tooltips and context menus always have parent windows
2023-03-14 14:53:54 -07:00
Frank Praznik
969e0842e6 video: Preserve the flag to restore popup windows with the parent when recreating the window during renderer initialization 2023-03-14 16:37:09 -04:00
Sam Lantinga
e8e2c8175c Popup window parent defaults to the first toplevel window 2023-03-14 11:42:58 -07:00
Sylvain
2cafa52598 - Added SDL_WINDOW_TRANSPARENT to request a window with transparent framebuffer
- Remove SDL_VIDEO_EGL_ALLOW_TRANSPARENCY hint, EGL now checks 'window->flags & SDL_WINDOW_TRANSPARENT'
2023-03-13 21:23:04 +01:00