Anonymous Maarten
69aede6c9e
Add missing _ in SDL_EVENT_LOCALECHANGED and SSDL_EVENT_TEXTEDITING_EXT
2023-02-02 00:49:09 +01:00
Anonymous Maarten
08bcee8570
test: don't use wiki urls for documentation comments
...
Also make consistent use of \ as documentation escape character.
2023-02-02 00:49:09 +01:00
Anonymous Maarten
4e6ab13d6f
Remove unused SDL_GetCPUName
2023-02-01 23:17:15 +01:00
Sam Lantinga
177a6f38e0
Only minimize the window for an assert if it's in exclusive fullscreen mode
2023-02-01 12:05:25 -08:00
Sam Lantinga
ac75fe9324
Folded SDL_WINDOW_FULLSCREEN_EXCLUSIVE and SDL_WINDOW_FULLSCREEN_DESKTOP into a single SDL_WINDOW_FULLSCREEN flag
...
The fullscreen video mode used by the window can be used to determine whether it's in exclusive fullscreen or fullscreen desktop mode.
2023-02-01 12:05:25 -08:00
Sam Lantinga
14338ab459
Removed display mode flags
...
They weren't really adding any value and added complexity to the API
2023-02-01 12:05:25 -08:00
Sam Lantinga
9ff1055489
Workaround for Visual Studio 2019 const warning
...
Visual Studio 2022, gcc, and clang all agree that "const SDL_DisplayMode **" is a non-const pointer to const data, but Visual Studio 2019 warns about this, so we'll just add a cast to the SDL_free() call for now.
Apparently this was a legitimate bug that has been recently fixed:
https://stackoverflow.com/questions/10403713/why-does-visual-c-warn-on-implicit-cast-from-const-void-to-void-in-c-but
2023-02-01 12:05:25 -08:00
Sam Lantinga
6b137579ea
Windows default to fullscreen desktop mode if they don't pick an explicit video mode
...
Rather than iterating over display modes using an index, there is a new function SDL_GetFullscreenDisplayModes() to get the list of available fullscreen modes on a display.
{
SDL_DisplayID display = SDL_GetPrimaryDisplay();
int num_modes = 0;
SDL_DisplayMode **modes = SDL_GetFullscreenDisplayModes(display, &num_modes);
if (modes) {
for (i = 0; i < num_modes; ++i) {
SDL_DisplayMode *mode = modes[i];
SDL_Log("Display %" SDL_PRIu32 " mode %d: %dx%d@%gHz, %d%% scale\n",
display, i, mode->pixel_w, mode->pixel_h, mode->refresh_rate, (int)(mode->display_scale * 100.0f));
}
SDL_free(modes);
}
}
SDL_GetDesktopDisplayMode() and SDL_GetCurrentDisplayMode() return pointers to display modes rather than filling in application memory.
Windows now have an explicit fullscreen mode that is set, using SDL_SetWindowFullscreenMode(). The fullscreen mode for a window can be queried with SDL_GetWindowFullscreenMode(), which returns a pointer to the mode, or NULL if the window will be fullscreen desktop. SDL_SetWindowFullscreen() just takes a boolean value, setting the correct fullscreen state based on the selected mode.
2023-02-01 12:05:25 -08:00
Anonymous Maarten
048df6260c
Remove disabled self test main functions in src/SDL_error.c
2023-02-01 20:14:48 +01:00
Anonymous Maarten
4af93990a9
Remove disabled self test main functions
2023-02-01 20:13:34 +01:00
Frank Praznik
d58693928d
video: Return the display ID when the window is fully enclosed
...
If the window was fully enclosed, GetDisplayForRect() would return the index of the display ID in the array instead of the display ID itself. Return the display ID itself.
2023-01-31 20:23:52 +01:00
Sam Lantinga
c5f570b30b
Make sure count is 0 in out of memory conditions
...
This prevents a crash if the caller assumes that they can always dereference the returned pointer if there is a non-zero count.
2023-01-31 10:04:51 -08:00
Vladyslav Serhiienko
47deebe23f
Fixes for Android builds
2023-01-31 08:39:51 -08:00
Sylvain
d66f27376e
Prevent setting an error "invalid display" when the parameter displayID hasn't been set.
2023-01-30 10:57:51 +01:00
Sam Lantinga
b07f8e987b
Fixed checking the return values of SDL_AddBasicVideoDisplay() and SDL_AddVideoDisplay()
...
Also fixed Wayland and Windows usage of SDL_DelVideoDisplay()
https://github.com/libsdl-org/SDL/issues/7192
2023-01-29 21:58:15 -08:00
Sam Lantinga
de766fdcd7
Fixed Haiku build
2023-01-29 21:35:45 -08:00
Sam Lantinga
22c69bccdf
Displays are now referenced by instance ID instead of index
2023-01-29 19:25:15 -08:00
Anonymous Maarten
758c0dd6d8
Rename mouse BUTTON(DOWN|UP) event to BUTTON_(DOWN|UP)
2023-01-29 19:24:48 -08:00
Frank Praznik
e22f5ed7d3
wayland: Check that all required dynamic symbols have been successfully resolved at init time
...
Ensure that all hard dependencies are resolved when dynamically loading the libraries required for the Wayland backend and fail gracefully if a required module was not initialized successfully.
2023-01-29 11:23:08 -08:00
Sasha Szpakowski
90795291e4
Remove SDL_GL/Metal/Vulkan_GetDrawableSize().
...
SDL_GetWindowSizeInPixels supersedes those functions.
2023-01-29 11:20:33 -08:00
Sasha Szpakowski
0d0a34f79f
iOS: fix the desktop display mode's display scale property.
2023-01-29 11:11:46 -08:00
Frank Praznik
a67b441a10
wayland: Send a pixel sized change event when the drawable size changes
2023-01-28 18:37:15 -08:00
Aaron Barany
4667d65f77
Fixes for building on Mac with OpenGL disabled.
2023-01-28 17:24:25 -08:00
Sam Lantinga
df7639f100
Call SDL_OnWindow* handlers after the event has been delivered
...
This guarantees that events which trigger other events will happen in dependency order, instead of being reversed.
2023-01-28 15:56:02 -08:00
Sam Lantinga
432af82a88
Don't deliver window events while it's being destroyed
2023-01-28 15:56:02 -08:00
Sam Lantinga
bf4095359c
Removed duplicated window size events, and added SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED
2023-01-28 15:56:02 -08:00
Sasha Szpakowski
af0ec13fc3
iOS: fix display modes to have accurate pixel sizes and screen scales.
2023-01-28 15:48:08 -08:00
Sam Lantinga
e83c54f271
SDL_WINDOW_FULLSCREEN and SDL_WINDOW_FULLSCREEN_DESKTOP are now distinct flags
2023-01-28 10:56:38 -08:00
Sasha Szpakowski
67037f064b
macOS: remove obsolete 10.7 and 10.8-specific code.
2023-01-27 20:46:38 -08:00
Sasha Szpakowski
d293145ec9
macOS: include @1x display modes with the same point-size as @2x modes
...
Previously they were discarded because SDL didn't expose enough information for apps to differentiate between a low-dpi and high-dpi mode which had the same size in DPI-scaled points. Now the information is available in SDL_DisplayMode.
Fixes #3025 .
2023-01-27 20:43:13 -08:00
Frank Praznik
ba74e76e56
wayland: Correct mode values to use pixels instead of screen units
...
Fixes the Wayland backend to report the desktop mode dimensions in pixels instead of screen units, adjusts enumerated fullscreen resolutions to use the correct pixel values and scaling, and changes some nomenclature to reflect the terminology used in the new DPI system.
2023-01-27 14:51:08 -08:00
Sam Lantinga
0229091f37
Fixed build
2023-01-27 14:24:06 -08:00
Sam Lantinga
24fec13ac1
Add full high DPI information to SDL_DisplayMode
...
SDL_DisplayMode now includes the pixel size, the screen size and the relationship between the two. For example, a 4K display at 200% scale could have a pixel size of 3840x2160, a screen size of 1920x1080, and a display scale of 2.0.
2023-01-27 12:38:46 -08:00
Frank Praznik
fc5f363ff7
video: Send the new fullscreen size in screen coordinates
...
After successfully entering fullscreen, send the new fullscreen window dimensions in screen coordinates, not pixels, to avoid a unit mismatch.
2023-01-27 08:16:27 -08:00
Frank Praznik
56120a132d
wayland: Remove duplicate code
...
Remove some duplicate code that was left behind when rearranging things during the new high-DPI support work.
2023-01-26 13:16:57 -08:00
Frank Praznik
b2cfcbdb64
wayland: Support new high-DPI system
...
- Adds support for scaled fullscreen modes
- General cleanup of scale factor setting and usage
2023-01-26 11:11:30 -08:00
Ozkan Sezer
b462027c53
SDL_test_common.c: minor warning fix (SDL_AudioDeviceID is unsigned)
2023-01-26 22:05:47 +03:00
Sam Lantinga
364db52ca3
Moved testautomation data out of SDL_test library
2023-01-26 10:25:44 -08:00
Frank Praznik
6895e1700f
video: Ensure that the closest returned video mode match always has a valid scale value
2023-01-25 20:18:45 -08:00
Sam Lantinga
a37f2aed7e
Hook up Android_ScreenDensity to convert pixels to screen coordinates on Android
...
Fixes https://github.com/libsdl-org/SDL/issues/7149
2023-01-25 13:06:42 -08:00
Sam Lantinga
9bbc402b81
Take the display scale into account in SDL_GetWindowSizeInPixels()
2023-01-25 13:06:42 -08:00
Sylvain
73dc327c84
Android get the display Density
2023-01-25 09:28:21 -08:00
Sam Lantinga
6a27188023
SDL_DisplayMode now represents physical pixels and has added a display scaling factor
...
Work in progress on https://github.com/libsdl-org/SDL/issues/7134
2023-01-25 09:26:59 -08:00
Sam Lantinga
4696c9556b
SDL 3.0 is going to be high DPI aware and officially separates screen… ( #7145 )
...
* SDL 3.0 is going to be high DPI aware and officially separates screen coordinates from client pixel area
The public APIs to disable high DPI support have been removed
Work in progress on https://github.com/libsdl-org/SDL/issues/7134
2023-01-25 01:23:17 -08:00
Sylvain
78cc95e34e
Rename internal GetDisplayDPI to GetDisplayPhysicalDPI
2023-01-25 00:04:00 -08:00
Sylvain
724d92fd65
Rename SDL_GetDisplayDPI to SDL_GetDisplayPhysicalDPI
...
to avoid confusion with logical DPI
2023-01-25 00:04:00 -08:00
Sam Lantinga
d496d187c5
Document that the pitch value may be zero for surfaces that will be filled in by the application later.
...
Also verify that the pitch isn't zero for surfaces with valid pixels
Fixes https://github.com/libsdl-org/SDL/issues/7143
2023-01-24 22:51:16 -08:00
Anonymous Maarten
3cb819ac48
vita: fix PVR_PSP2 (GLES) + gl4es4fita (GL)
2023-01-25 00:23:05 +01:00
Sam Lantinga
14eb8db152
Fixed build
2023-01-24 14:01:01 -08:00
Sam Lantinga
a06a593aa6
Renamed SDL_GetGamepadNumTouchpads and SDL_GetGamepadNumTouchpadFingers to match the new convention
2023-01-24 13:47:30 -08:00