Commit Graph

3275 Commits

Author SHA1 Message Date
Sam Lantinga b32c9615a7 SDL_GetHaptics() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga 9de8cb888a SDL_GetFullscreenDisplayModes() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga 9758e102bc SDL_GetDisplays() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga 01199469de SDL_GetCameras() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga 0fe6603747 SDL_GetCameraSupportedFormats() follows the SDL_GetStringRule
Also changed the function to return an array of pointers and added example usage to testcamera
2024-07-19 12:22:03 -07:00
Sam Lantinga 637e9700dd Standardize placement of '*' in function declarations
Implemented using these sed commands on the headers:
sed -E -i'' '/SDLCALL|;/ s,([a-z])\* ,\1 *,g' *
sed -E -i'' 's,(\(.*[^\*])\* ([a-z])(.*\)),\1*\2\3,g' *
sed -E -i'' 's,\*const,* const,g' *
sed -E -i'' 's,\*SDLCALL,* SDLCALL,g' *
sed -E -i'' 's,void\(,void (,g' *
git checkout *gl*
2024-07-19 12:22:03 -07:00
Sam Lantinga bdafc8e212 SDL_GetWindows() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga 8ca6caeda5 SDL_GetAudioPlaybackDevices() and SDL_GetAudioRecordingDevices() follow the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga ef884c8aa6 Transfer event memory between the local pool and the event queue
This allows threads to free memory from their local pool without affecting events that are queued, and to transfer memory ownership cleanly between threads that are queuing and dequeuing events.
2024-07-19 12:22:03 -07:00
Sam Lantinga f95ecac300 Added SDL_ClaimEventMemory() 2024-07-19 12:22:03 -07:00
Sam Lantinga 2816745f48 Allow passing a pointer to SDL_FreeEventMemory()
Also clarify in the documentation that you should not call SDL_FreeEventMemory(NULL) from your main thread.
2024-07-19 12:22:03 -07:00
Sam Lantinga 217330a7b3 Made return value descriptions more consistent across the API 2024-07-19 12:22:03 -07:00
Sam Lantinga d73c7311d5 Clarify that the SDL_GetStringRule means that SDL will automatically free the memory later. 2024-07-19 12:22:03 -07:00
SDL Wiki Bot e949f12f63 Sync SDL3 wiki -> header 2024-07-18 01:04:46 +00:00
Sam Lantinga 02a072a1b7 Added SDL_ClearSurface() and SDL_ReadSurfacePixelFloat() 2024-07-17 18:04:16 -07:00
Sam Lantinga de6595bda6 SDL_MUSTLOCK() should return true if the surface needs locking even if it's currently locked.
There's a bunch of code that assumes this in SDL, and presumably in applications as well.
2024-07-17 18:04:16 -07:00
Sam Lantinga 334962b056 Enhancements for SDL_PremultiplyAlpha()
The function can now convert between pixels of different formats, and takes a parameter to control whether the premultiplication is done in sRGB or linear space.

Also added SDL_PremultiplySurfaceAlpha(), which can premultiply the pixels of a surface in-place.
2024-07-17 18:04:16 -07:00
Frank Praznik b99ea1ff75
wayland: Add SDL_VIDEO_DOUBLE_BUFFER support
Manual cherry-pick of 9e6b8d56e3

thanks @vanfanel
2024-07-17 18:27:46 -04:00
Sam Lantinga 5f5e91eab6 Reverted 3d2e5a0b66
Applying these changes to external code doesn't actually improve anything, and within the context of the other Get* functions for renderers and surfaces, these stand out as outliers, so I'm going to back this change out.
2024-07-17 10:27:37 -07:00
Sam Lantinga 8c25129458 SDL_EVENT_WINDOW_LAST should be SDL_EVENT_WINDOW_HDR_STATE_CHANGED
Fixes https://github.com/libsdl-org/SDL/issues/10299
2024-07-16 22:43:02 -07:00
SDL Wiki Bot b92ec25147 Sync SDL3 wiki -> header 2024-07-17 04:33:30 +00:00
Sam Lantinga 3d2e5a0b66 Fixed a few remaining functions to directly return their values instead of an error code. 2024-07-16 21:32:17 -07:00
Sam Lantinga b7ec2119dd Use a dither palette when converting RGB images to indexed formats 2024-07-16 17:57:12 -07:00
Sam Lantinga 9ca1792848 Renamed driverdata to internal
This was done to SDL_DisplayMode for consistency with SDL_Surface and gives it a type so we don't have to do casts in SDL code.

I considered switching to an ID and hashing the driver data, etc. but all of that involved a lot of internal code churn and this solution gives us flexibility in how we handle this in the future.

After consideration, I made this renaming global across the project, for consistency.

Fixes https://github.com/libsdl-org/SDL/issues/10198
2024-07-16 17:17:13 -07:00
SDL Wiki Bot fe183872ee Sync SDL3 wiki -> header 2024-07-16 20:45:34 +00:00
Ryan C. Gordon 4dda785c69 gamepad: Several gamepad mapping functions now follow the SDL_GetStringRule.
Reference Issue #10229.
2024-07-16 16:44:36 -04:00
Ryan C. Gordon ed1f93cd11 filesystem: `SDL_Glob*Directory()` functions now follow the SDL_GetStringRule.
Reference Issue #10229.
2024-07-16 16:44:36 -04:00
Ryan C. Gordon 52bf7ff42d filesystem: SDL_GetPrefPath() now follows the SDL_GetStringRule.
Reference Issue #10229.
2024-07-16 16:44:36 -04:00
Ryan C. Gordon 2321726ff1 filesystem: SDL_GetUserFolder() now follows the SDL_GetStringRule.
It also now caches at the higher level, so the platform-specific bits don't
change their interface much.

Reference Issue #10229.
2024-07-16 16:44:36 -04:00
Ryan C. Gordon d40b89dff6 clipboard: SDL_GetPrimarySelectionText() now follows the SDL_GetStringRule.
Reference Issue #10229.
2024-07-16 16:44:36 -04:00
Ryan C. Gordon 158fc459f1 clipboard: SDL_GetClipboardText() now follows the SDL_GetStringRule.
Reference Issue #10229.
2024-07-16 16:44:36 -04:00
Ryan C. Gordon 3bc81a81f5 filesystem: SDL_GetBasePath() now follows the SDL_GetStringRule.
It also now caches at the higher level, so the platform-specific bits don't
change their interface much.

A little code hygiene work was applied to some of the platform bits on top of
this.

Reference Issue #10229.
2024-07-16 16:44:36 -04:00
SDL Wiki Bot d65a8146b9 Sync SDL3 wiki -> header 2024-07-16 19:03:15 +00:00
Sam Lantinga 4aeabb3c3b Made event and temporary string memory thread-local and added SDL_FreeEventMemory()
Fixes https://github.com/libsdl-org/SDL/issues/10283
2024-07-16 12:01:51 -07:00
Sam Lantinga ec3bb4c029 Removed the need for SDL_CreateTLS()
This eliminates the tap dancing needed for allocating TLS slots, we'll automatically allocate them as needed, in a thread-safe way.
2024-07-16 12:01:51 -07:00
SDL Wiki Bot 70727d36b2 Sync SDL3 wiki -> header 2024-07-16 16:37:08 +00:00
Sam Lantinga 027671bedb SDL_GetWindowOpacity() directly returns the opacity instead of using an out parameter.
Fixes https://github.com/libsdl-org/SDL/issues/10286
2024-07-16 09:36:11 -07:00
Sam Lantinga 58270ef3f2 Finished renaming functions in SDL_system.h 2024-07-16 09:35:49 -07:00
SDL Wiki Bot 4ac67f5ba6 Sync SDL3 wiki -> header 2024-07-16 01:38:55 +00:00
Sam Lantinga 033df70d4c SDL_DelayNS() will attempt to sleep exactly the requested amount of time
This provides a highly accurate sleep function for your application, although you are still subject to being switched out occasionally.

Fixes https://github.com/libsdl-org/SDL/issues/10210
2024-07-15 18:38:09 -07:00
Sam Lantinga 54366181c3 Rename functions in SDL_system.h to match SDL 3.0 naming convention
Fixes https://github.com/libsdl-org/SDL/issues/10277
2024-07-15 16:27:48 -07:00
Sam Lantinga 70c8fe61d7 Align SDL_BLENDMODE_INVALID with the other constants 2024-07-15 15:00:09 -07:00
Sam Lantinga bf501ab2d4 Made the SDL_BlendMode values wiki-friendly 2024-07-15 14:46:56 -07:00
Sam Lantinga df573391b1 Added SDL_BLENDMODE_BLEND_PREMULTIPLIED and SDL_BLENDMODE_ADD_PREMULTIPLIED
Fixes https://github.com/libsdl-org/SDL/issues/2485
2024-07-15 14:12:33 -07:00
SDL Wiki Bot 9406a9d527 Sync SDL3 wiki -> header 2024-07-14 23:42:33 +00:00
Sam Lantinga 5c875e1183 Renamed *FromID() to *ForID()
While it makes sense to get an object pointer from an object ID, you want to get object attributes for an ID, otherwise e.g. GetNameFromID() sounds like it's a name ID, not an object ID. This is also consistent with the function naming convention in SDL2.
2024-07-14 15:56:50 -07:00
SDL Wiki Bot 0cdc60666b Sync SDL3 wiki -> header 2024-07-14 21:04:37 +00:00
Ryan C. Gordon f61900465c
stdinc: Fixed up documentation details for standard types. 2024-07-14 17:03:15 -04:00
SDL Wiki Bot cb854d1bc9 Sync SDL3 wiki -> header 2024-07-14 20:02:23 +00:00
Sam Lantinga 9797c5d0c0 Renamed CameraDevice to Camera
This is consistent with the rest of the SDL API
2024-07-14 13:01:53 -07:00
Sam Lantinga 9358333286 Renamed SDL_GetKeyboardInstanceName() and SDL_GetMouseInstanceName()
For consistency with other device APIs
2024-07-14 13:01:53 -07:00
Sam Lantinga d154b37b41 Renamed *FromInstanceID() to *FromID() 2024-07-14 13:01:53 -07:00
Sam Lantinga cad9e6ea20 Fixed SDL_SINT64_C typo
Apparently all the platforms we compile on have INT64_C defined?

Fixes https://github.com/libsdl-org/SDL/issues/10268
2024-07-14 12:53:32 -07:00
Ryan C. Gordon 90e69f81e5
SDL_hidapi.h: Fixed something that apparently upset wikiheaders. 2024-07-14 15:20:26 -04:00
Ryan C. Gordon 15f850babc
SDL_hidapi.h: remove struct predeclaration before typedef. 2024-07-14 15:18:08 -04:00
Sam Lantinga a17b742e34 Added documentation references to the components of a colorspace 2024-07-14 11:43:39 -07:00
SDL Wiki Bot abaef81615 Sync SDL3 wiki -> header 2024-07-14 18:04:00 +00:00
Sam Lantinga 6217094c40 Updated colorspace documentation for the wiki 2024-07-14 11:02:56 -07:00
Sam Lantinga 1fecef5e4b Assign numeric values to pixel format enums
This makes it easier to generate language bindings for these.
2024-07-14 11:02:56 -07:00
Sam Lantinga cb395f7e80 Change SDL_AudioFormat into an enum
This makes it easier to understand in the debugger, and is consistent with SDL_PixelFormat and SDL_Colorspace
2024-07-14 10:04:31 -07:00
Sam Lantinga e90060d07f Renamed functions to get information from device IDs
Fixes https://github.com/libsdl-org/SDL/issues/10237
2024-07-14 09:03:59 -07:00
Sam Lantinga bfee544685 Changed SDL_GetWindowPixelFormat() to return SDL_PixelFormat
Fixes https://github.com/libsdl-org/SDL/issues/10257
Closes https://github.com/libsdl-org/SDL/pull/10258
2024-07-14 07:19:20 -07:00
SDL Wiki Bot 2596482c3f Sync SDL3 wiki -> header 2024-07-13 21:32:39 +00:00
Sam Lantinga 650271af46 Added SDL_CreateSurfacePalette() 2024-07-13 14:31:28 -07:00
captain0xff 0506cf18ab android: enable vulkan renderer 2024-07-13 08:16:26 -07:00
Sam Lantinga 730d5cf2f8 Added fractional representation of refresh rate to SDL_DisplayMode 2024-07-12 18:09:14 -07:00
Sam Lantinga 1162a1cb8e Added SDL_EVENT_DISPLAY_DESKTOP_MODE_CHANGED and SDL_EVENT_DISPLAY_CURRENT_MODE_CHANGED 2024-07-12 18:09:14 -07:00
SDL Wiki Bot 3f446a12df Sync SDL3 wiki -> header 2024-07-12 19:42:55 +00:00
Ryan C. Gordon 8779c95905 android: Added SDL_AndroidGetCachePath().
Fixes #8408.
2024-07-12 15:41:54 -04:00
SDL Wiki Bot d949673bc9 Sync SDL3 wiki -> header 2024-07-12 18:25:57 +00:00
Sam Lantinga 4c88ddf86d More property documentation clarification 2024-07-12 11:24:40 -07:00
SDL Wiki Bot cf441332c4 Sync SDL3 wiki -> header 2024-07-12 18:21:05 +00:00
Sam Lantinga 0e56f6a3ca Clarify property group documentation
Fixes https://github.com/libsdl-org/SDL/issues/10241
2024-07-12 11:20:15 -07:00
SDL Wiki Bot d6fe06bb5d Sync SDL3 wiki -> header 2024-07-12 17:42:22 +00:00
Sam Lantinga 5bf6bc4d7d Renamed SDL_Get/SetProperty() to SDL_Get/SetPointerProperty()
This is consistent with the naming for the functions that affect other data types

Fixes https://github.com/libsdl-org/SDL/issues/10241
2024-07-12 10:41:02 -07:00
Ryan C. Gordon bf03dee866
Remove `struct SDL_Camera` predeclare.
This is unnecessary and confuses the wiki bridge.
2024-07-12 13:25:06 -04:00
SDL Wiki Bot f531003776 Sync SDL3 wiki -> header 2024-07-12 15:37:23 +00:00
SDL Wiki Bot 68dfae1322 Sync SDL3 wiki -> header 2024-07-12 15:35:05 +00:00
Sam Lantinga 282cf286fc SDL_GetPixelFormatName() returns a string 2024-07-12 05:59:45 -07:00
SDL Wiki Bot 50589cbff6 Sync SDL3 wiki -> header 2024-07-12 12:33:26 +00:00
SDL Wiki Bot f0ceb92dca Sync SDL3 wiki -> header 2024-07-11 19:01:27 +00:00
Ethan Lee 1993ef664e Add SDL_Vulkan_GetPresentationSupport 2024-07-11 15:00:59 -04:00
Ryan C. Gordon af2dbf3ff3 video: Rename SDL_GL_DeleteContext to SDL_GL_DestroyContext.
Turns out that there isn't a strong OpenGL naming convention for "Delete" ...
WGL offers "wglDeleteContext" but the GLX equivalent is "glxDestroyContext"
and then EGL sealed the deal by going with Destroy as well! Since it matches
SDL3 naming conventions (Create/Destroy), we're renaming it.

Fixes #10197.
2024-07-10 15:54:08 -04:00
SDL Wiki Bot 29b0076659 Sync SDL3 wiki -> header 2024-07-10 19:45:01 +00:00
Ryan C. Gordon 4755055bc3 audio: Separate channel maps out of SDL_AudioSpec. 2024-07-10 15:43:57 -04:00
SDL Wiki Bot fdc04708f1 Sync SDL3 wiki -> header 2024-07-10 07:48:48 +00:00
Sam Lantinga 2ba76dbe80 Simplified SDL_Surface
SDL_Surface has been simplified and internal details are no longer in the public structure.

The `format` member of SDL_Surface is now an enumerated pixel format value. You can get the full details of the pixel format by calling `SDL_GetPixelFormatDetails(surface->format)`. You can get the palette associated with the surface by calling SDL_GetSurfacePalette(). You can get the clip rectangle by calling SDL_GetSurfaceClipRect().

SDL_PixelFormat has been renamed SDL_PixelFormatDetails and just describes the pixel format, it does not include a palette for indexed pixel types.

SDL_PixelFormatEnum has been renamed SDL_PixelFormat and is used instead of Uint32 for API functions that refer to pixel format by enumerated value.

SDL_MapRGB(), SDL_MapRGBA(), SDL_GetRGB(), and SDL_GetRGBA() take an optional palette parameter for indexed color lookups.
2024-07-10 00:48:18 -07:00
Sam Lantinga 4fa5196820 Revert "Switch pixel format loss fields to number of bits"
This reverts commit 3c90b1c1f6.

It turns out this is problematic for sdl2-compat. We're investigating a more complete separation between SDL2 and SDL3 surfaces, but in the meantime, I'll fix the breakage.
2024-07-07 19:41:05 -07:00
SDL Wiki Bot bfa4e71284 Sync SDL3 wiki -> header 2024-07-07 18:05:35 +00:00
SDL Wiki Bot e37d6f71b3 Sync SDL3 wiki -> header 2024-07-07 18:02:15 +00:00
Sam Lantinga 3c90b1c1f6 Switch pixel format loss fields to number of bits
This makes more sense and handles pixel formats with > 8 bits per channel

Fixes https://github.com/libsdl-org/SDL/issues/10168
2024-07-06 11:37:16 -07:00
SDL Wiki Bot f3ac2d9d4f Sync SDL3 wiki -> header 2024-07-06 15:46:41 +00:00
Frank Praznik fbb5652d3e
video: Document that SDL_RaiseWindow is a request and subject to window manager policy
The result of SDL_RaiseWindow is ultimately subject to window manager policy, particularly if the request would result in stealing focus from another window. Document that this is only a request, and if successful, will result in a focus gained event along with the input focus flag being set on the window.
2024-07-06 11:45:43 -04:00
Sam Lantinga 0fa74d8aa8 Wiki-compatible documentation for SDL_ALPHA_OPAQUE and SDL_ALPHA_TRANSPARENT 2024-07-06 05:53:40 -07:00
SDL Wiki Bot d5a0f60963 Sync SDL3 wiki -> header 2024-07-05 15:59:26 +00:00
Sam Lantinga 8412f52853 Clarified that the renderer should be destroyed before the window
I didn't add a note to SDL_DestroyWindow() because we actually protect against this case now, but it's useful information to know conceptually when working with the renderer.
2024-07-05 08:57:30 -07:00
SDL Wiki Bot b43f1688d9 Sync SDL3 wiki -> header 2024-07-04 15:12:07 +00:00
Ryan C. Gordon c3bf874abf stdlib: Clean up and export SDL_UCS4ToUTF8().
Also fix internal usage of the function.

Fixes #10157.
2024-07-04 11:10:50 -04:00
Ryan C. Gordon f338fa20dd emscripten: Let SDL hints be set by URL parameters.
Any parameters (key/value pairs after the '?' in a URL) that have a keyname
that starts with `SDL_` will be put into Emscripten's environment variable
emulation table at startup, before SDL_main runs.

This lets users set hints the same way they might set them from a shell's
command line on a desktop platform:

For example:

`https://example.com/my_sdl3_application.html?SDL_RENDER_DRIVER=software`

Fixes #10154.
2024-07-04 11:09:42 -04:00
SDL Wiki Bot d7a875432b Sync SDL3 wiki -> header 2024-07-03 20:07:11 +00:00
Ryan C. Gordon 2a8f1e11ca audio: Add gain support to audio streams and logical audio devices.
Fixes #10028.
2024-07-03 16:05:55 -04:00
Frank Praznik 74cc06db1b Remove the SDL_EVENT_WINDOW_TAKE_FOCUS event
This was added by the Unreal Engine to handle the input focus for popups and dialogs, window types for which SDL3 has built-in, cross-platform support.

This was only ever implemented in X11, and the only purpose was to hint that a client application may want to call the SDL_SetWindowInputFocus() function, which has since been removed, rendering it pointless now.
2024-07-03 15:08:21 -04:00
Frank Praznik be13328cb1 Remove SDL_SetWindowInputFocus
This was added to SDL2 for the Unreal Engine's implementation of menus and dialogs on X11, window types for which SDL3 has added built-in, cross-platform support.

Remove this function, as it was only ever implemented for X11 and is now basically useless aside from allowing annoying or malicious client apps to discretely steal focus. As the documentation states: "You almost certainly want SDL_RaiseWindow() instead of this function."
2024-07-03 15:08:21 -04:00
SDL Wiki Bot 98f27b8f2e Sync SDL3 wiki -> header 2024-07-03 18:39:46 +00:00
Ryan C. Gordon 16e7fdc4f2 audio: Add channel remapping to SDL_AudioSpec and SDL_AudioStream.
Fixes #8367.
2024-07-03 14:38:33 -04:00
SDL Wiki Bot b948d1446a Sync SDL3 wiki -> header 2024-07-03 01:35:19 +00:00
Sam Lantinga ed9bbb2dca Restore default behavior for keypad keycodes
Added a hint to translate numpad keycodes into their non-numpad versions based on the NumLock state
2024-07-02 18:34:35 -07:00
Ryan C. Gordon e290d16c47
include: Clean up SDL_GetKeyName documentation. 2024-07-02 12:29:33 -04:00
SDL Wiki Bot f787790243 Sync SDL3 wiki -> header 2024-07-01 20:57:56 +00:00
Sam Lantinga d4497ecdbd Numpad scancodes have non-numpad keycodes
This allows the numpad to work as the user expects based on the numlock state. If the application needs to distinguish the keys, it can check to see whether the scancode is a numpad key or not.
2024-07-01 13:56:49 -07:00
Sam Lantinga 78dbf9be50 Document that SDL_GetKeyName() always returns uppercase names for alphabetic keycodes 2024-07-01 13:56:49 -07:00
Sam Lantinga e8dbbf8380 Renamed SDLK_a-z to SDLK_A-Z
Made the symbols uppercase for consistency with the other SDLK_* constants, but the values are still lowercase.
2024-07-01 13:56:49 -07:00
Sam Lantinga d9dc4b320a The keycode in key events is the base, unmodified, keycode for the current keyboard layout 2024-07-01 13:56:49 -07:00
SDL Wiki Bot ede4483420 Sync SDL3 wiki -> header 2024-06-29 21:26:31 +00:00
Sam Lantinga 473257cce6 Added SDL_GetRenderLogicalPresentationRect()
Fixes https://github.com/libsdl-org/SDL/issues/8815
2024-06-29 14:25:59 -07:00
Sam Lantinga 6f199eabb8 Removed SDL_RenderGeometryRawFloat()
After discussion with @ocornut, SDL_RenderGeometryRaw() will take floating point colors and conversion from 8-bit color can happen on the application side.  We can always add an 8-bit color fast path in the future if we need it on handheld platforms.

If you need code to do this in your application, you can use the following:

int SDL_RenderGeometryRaw8BitColor(SDL_Renderer *renderer, SDL_Texture *texture, const float *xy, int xy_stride, const SDL_Color *color, int color_stride, const float *uv, int uv_stride, int num_vertices, const void *indices, int num_indices, int size_indices)
{
    int i, retval, isstack;
    const Uint8 *color2 = (const Uint8 *)color;
    SDL_FColor *color3;

    if (num_vertices <= 0) {
        return SDL_InvalidParamError("num_vertices");
    }
    if (!color) {
        return SDL_InvalidParamError("color");
    }

    color3 = (SDL_FColor *)SDL_small_alloc(SDL_FColor, num_vertices, &isstack);
    if (!color3) {
        return -1;
    }

    for (i = 0; i < num_vertices; ++i) {
        color3[i].r = color->r / 255.0f;
        color3[i].g = color->g / 255.0f;
        color3[i].b = color->b / 255.0f;
        color3[i].a = color->a / 255.0f;
        color2 += color_stride;
        color = (const SDL_Color *)color2;
    }

    retval = SDL_RenderGeometryRaw(renderer, texture, xy, xy_stride, color3, sizeof(*color3), uv, uv_stride, num_vertices, indices, num_indices, size_indices);

    SDL_small_free(color3, isstack);

    return retval;
}

Fixes https://github.com/libsdl-org/SDL/issues/9009
2024-06-29 00:10:08 -07:00
SDL Wiki Bot 2cfcb144e4 Sync SDL3 wiki -> header 2024-06-29 02:42:49 +00:00
Sam Lantinga 212a491f7c Renamed SDL_HINT_IME_NATIVE_UI to SDL_HINT_IME_IMPLEMENTED_UI
This inverts the logic to make more sense from an application perspective.
2024-06-28 19:41:37 -07:00
SDL Wiki Bot 9332de9f25 Sync SDL3 wiki -> header 2024-06-29 00:09:51 +00:00
Sam Lantinga 4c7db129df SDL_HINT_IME_INTERNAL_EDITING and SDL_HINT_IME_SHOW_UI are replaced with SDL_HINT_IME_NATIVE_UI 2024-06-28 17:09:22 -07:00
Sam Lantinga bdd531986b SDL_SetTextInputRect() has been renamed to SDL_SetTextInputArea()
The new function includes the cursor position so IME UI elements can be placed relative to the cursor, as well as having the whole text area available so on-screen keyboards can avoid it.
2024-06-28 17:09:22 -07:00
Sam Lantinga ed2022a175 Added SDL_EVENT_TEXT_EDITING_CANDIDATES
This allows applications that have set SDL_HINT_IME_SHOW_UI to "0" to get candidates lists they can draw themselves.

Fixes https://github.com/libsdl-org/SDL/issues/4855
2024-06-28 17:09:22 -07:00
Ryan C. Gordon ecfa363889 begin_code: Solaris Studio has `__has_attribute` defined by isn't usable here.
Fixes #10095.

(cherry picked from commit d96f1d5360)
2024-06-27 22:13:48 -07:00
Ryan C. Gordon d7ee9ce455
SDL_endian.h: Fix byte order detection on Solaris (and some SPARC compilers).
Fixes #10093.

(Sort of cherry-picked from 14183f8ecac099982883331ae7e405f82e42aa6b.)
2024-06-28 00:14:26 -04:00
SDL Wiki Bot b7ab5182d3 Sync SDL3 wiki -> header 2024-06-27 21:37:27 +00:00
Ryan C. Gordon a9cfcf6bde stdinc: Drastically improve SDL_StepUTF8() and make it a public API.
Fixes #10105.
2024-06-27 17:36:09 -04:00
Ryan C. Gordon 982feb7a65 vulkan: SDL_Vulkan_CreateSurface now returns the usual int (0=ok, -1=error).
Fixes #10091.
2024-06-27 15:25:10 -04:00
Sam Lantinga c7f7464174 Updated scancode documentation 2024-06-26 12:33:16 -07:00
Ryan C. Gordon 9fd54b724f
include: Added documentation for SDL_PRESSED and SDL_RELEASED.
Fixes #10069.
2024-06-26 14:08:56 -04:00
SDL Wiki Bot 3d121d9bc7 Sync SDL3 wiki -> header 2024-06-25 03:32:46 +00:00
Sam Lantinga def7a43a2e SDL_HINT_IME_SHOW_UI defaults to SDL_TRUE
This hint is currently only used on Windows, and this matches the behavior of other platforms.
2024-06-24 20:32:03 -07:00
Sam Lantinga 377014c430 Added some documentation to the SDL_EVENT_TEXT_EDITING event 2024-06-24 20:32:03 -07:00
Anonymous Maarten d52ea20916 cmake: check for valid isinf/isinff/isnan/isnanf macros 2024-06-24 22:00:53 +02:00
SDL Wiki Bot ea11c9e0c7 Sync SDL3 wiki -> header 2024-06-24 19:23:37 +00:00
Sam Lantinga 0ff5c05486 Added SDL_GetWindows() 2024-06-24 12:22:12 -07:00
SDL Wiki Bot 2c745dbd3c Sync SDL3 wiki -> header 2024-06-24 18:50:19 +00:00
Sam Lantinga 2f5b20fcb5 Updated based on feedback from @JKaniarz 2024-06-24 11:49:15 -07:00
Sam Lantinga a938e2b979 Replaced test framework random code with SDL random functions 2024-06-24 11:49:15 -07:00
Sam Lantinga 96f2f23240 Simplified SDL random function names and added thread-safe versions 2024-06-24 11:49:15 -07:00
Sam Lantinga 89cdadf7c3 Added SDL_isinf(), SDL_isinff(), SDL_isnan(), and SDL_isnanf() 2024-06-24 11:49:15 -07:00
SDL Wiki Bot 410bed20ba Sync SDL3 wiki -> header 2024-06-24 18:21:18 +00:00
Sam Lantinga 76631a0978 The text input state has been changed to be window-specific.
SDL_StartTextInput(), SDL_StopTextInput(), SDL_TextInputActive(), SDL_ClearComposition(), and SDL_SetTextInputRect() all now take a window parameter.

This change also fixes IME candidate positioning when SDL_SetTextInputRect() is called before SDL_StartTextInput(), as is recommended in the documentation.
2024-06-24 11:20:08 -07:00
Anonymous Maarten 5217c040be Sort possible SDL_KeyCode values (swap SDLK_PERCENT and SDLK_DOLLAR) 2024-06-23 22:52:17 +02:00
Frank Praznik 974bbea20b x11: Add keymap support
XkbKeycodeToKeySym is replaced with XkbLookupKeySym, which can take the modifier states. The associated cmake check has been renamed for consistency.

Only the XKB path is currently handled. The deprecated XKeycodeToKeysym path is TODO.
2024-06-23 15:40:55 -04:00
Sam Lantinga fd3143f445 Added more documentation for SDL_HINT_MOUSE_RELATIVE_CURSOR_VISIBLE and SDL_HINT_MOUSE_RELATIVE_CLIP_INTERVAL 2024-06-23 00:11:56 -07:00
SDL Wiki Bot 398391b01e Sync SDL3 wiki -> header 2024-06-23 07:11:23 +00:00
expikr 3b504c4a89
Add SDL_HINT_MOUSE_RELATIVE_CLIP_INTERVAL (#10085) 2024-06-23 00:09:59 -07:00
SDL Wiki Bot ba188e7555 Sync SDL3 wiki -> header 2024-06-22 07:20:00 +00:00
Sam Lantinga 90034b16dc The keycode in key events is affected by modifiers by default.
This behavior can be customized with SDL_HINT_KEYCODE_OPTIONS.
2024-06-22 00:19:06 -07:00
SDL Wiki Bot 1e81424b3d Sync SDL3 wiki -> header 2024-06-22 05:06:38 +00:00
Sam Lantinga c9cfa4688e Use unsigned constants for SDL_Keycode values
Fixes https://github.com/libsdl-org/SDL/issues/10020
Closes https://github.com/libsdl-org/SDL/pull/10070
2024-06-21 22:06:08 -07:00
Sam Lantinga 0dd579d40d Removed SDL_Keysym 2024-06-21 22:06:08 -07:00
Sam Lantinga 679e4471ed Added the ability to query the keymap for keycodes based on modifier state 2024-06-21 22:06:08 -07:00
Sam Lantinga ef9bd8b609 Add the raw platform specific key code to SDL_Keysym
This allows applications to handle keys that SDL doesn't recognize, in a platform dependent way.

Fixes https://github.com/libsdl-org/SDL/issues/6390
2024-06-21 22:06:08 -07:00
Sam Lantinga 9d816c72ef Updated SDL3 scancode list
This adds more app editing and audio control keys and removes keys that launch applications

Work in progress on https://github.com/libsdl-org/SDL/issues/6390
2024-06-21 22:06:08 -07:00
Sam Lantinga 306c4164bc Added SDL_AllocateEventString() 2024-06-21 22:06:08 -07:00
Sam Lantinga fa5367d379 Enable virtual joystick support for Emscripten 2024-06-21 12:06:53 -07:00
SDL Wiki Bot 83933fdfa0 Sync SDL3 wiki -> header 2024-06-20 19:55:37 +00:00
Frank Praznik 2f276a2eea video: Expose HDR metadata per-window
Moves the HDR properties from the display to be per-window, and adds the frog_color protocol to enable HDR under Wayland.
2024-06-20 15:55:07 -04:00
SDL Wiki Bot e6944584a0 Sync SDL3 wiki -> header 2024-06-20 00:01:27 +00:00
John Kaniarz 8f29f8cae5 Renamed SDL_rand() to SDL_rand_bits() and updated tests 2024-06-19 17:00:58 -07:00
SDL Wiki Bot 237bbfcb9d Sync SDL3 wiki -> header 2024-06-19 18:02:45 +00:00
John Kaniarz 16e69cb4c9 Removed SDL_rand_r() 2024-06-19 11:02:02 -07:00
John Kaniarz 86b06f74dc Updated docs 2024-06-19 11:02:02 -07:00
John Kaniarz 83d21e20df Added SDL_rand_float and SDL_rand_n to API 2024-06-19 11:02:02 -07:00
SDL Wiki Bot ab98d51b9f Sync SDL3 wiki -> header 2024-06-19 14:15:46 +00:00
Hubert Maier 81d8fcb5d8
JANITORIAL: Fix judgement typos (#10059) 2024-06-19 07:14:58 -07:00
Hubert Maier 3acdb8a90b
JANITORIAL: Fix typos in comments in various files (#10058) 2024-06-19 07:13:46 -07:00
Zack Middleton 5ecf125456 Update descriptions for window resize cursors
The SIZENWSE, SIZENS, etc cursors were renamed.
2024-06-18 12:22:02 -04:00
Sam Lantinga d7391394d3 Switched the camera format to use framerate ratio instead of interval ratio
This is more intuitive for game developers and users.

Fixes https://github.com/libsdl-org/SDL/issues/9896
2024-06-18 07:39:52 -07:00
Sam Lantinga aeea819494 Added colorspace to SDL_CameraSpec 2024-06-16 17:47:16 -07:00
Sam Lantinga 182a28b343 Fixed documentation typo 2024-06-16 08:01:16 -07:00
SDL Wiki Bot 4e5ed569c3 Sync SDL3 wiki -> header 2024-06-16 14:42:00 +00:00
Sam Lantinga d1d484ddbe Added SDL_srand(), SDL_rand(), and SDL_rand_r() (thanks @JKaniarz!)
These are simple random functions that should not be used for serious random number generation.

Fixes https://github.com/libsdl-org/SDL/issues/4968
2024-06-16 07:41:00 -07:00
SDL Wiki Bot 65f0691866 Sync SDL3 wiki -> header 2024-06-16 13:21:56 +00:00
expikr ee559d51be
Add SDL_MOUSE_RELATIVE_CURSOR_VISIBLE (#7947) 2024-06-16 06:21:29 -07:00
Anonymous Maarten a64960cfc0 SDL_GLContext is not a void* pointer anymore 2024-06-15 14:44:09 +02:00
SDL Wiki Bot 63138c79af Sync SDL3 wiki -> header 2024-06-15 05:09:09 +00:00
Ryan C. Gordon 38f0214e8a audio: Refer to audio devices to "playback" and "recording".
Fixes #9619.
2024-06-15 01:08:12 -04:00
Anonymous Maarten 031dc0743f Use an opaque struct typedef for SDL_GLContext
Using a struct typedef instead of a void pointer results in extra C typechecks
2024-06-15 01:43:22 +02:00
Ryan C. Gordon 51902d4ac5
Updated headers with latest wikiheaders tweaks. 2024-06-14 02:09:55 -04:00
Ryan C. Gordon 5bc654aad3
camera: SDL_GetCameraDeviceName() now follows the SDL_GetStringRule. 2024-06-13 18:13:51 -04:00
Ryan C. Gordon 2ad7c70ac6
documentation: clean up a minor syntax issue. 2024-06-13 18:10:28 -04:00
Ryan C. Gordon 466886049c
SDL_main.h: fix up SDL_main_func documentation to match SDL_main. 2024-06-13 18:08:40 -04:00
SDL Wiki Bot 2253c3cacf Sync SDL3 wiki -> header 2024-06-13 21:49:55 +00:00
Sam Lantinga 0635112119 Added SDL_HINT_WINDOWS_ERASE_BACKGROUND_MODE (thanks @lostgoat!) 2024-06-13 14:54:36 -07:00
SDL Wiki Bot d46b8bc54e Sync SDL3 wiki -> header 2024-06-13 21:31:58 +00:00
SDL Wiki Bot fa3e22c5da Sync SDL3 wiki -> header 2024-06-13 21:04:27 +00:00
Ryan C. Gordon 12119cbaad
include: Several documentation tweaks; cleaned up new wikiheaders warnings. 2024-06-13 17:03:31 -04:00
SDL Wiki Bot 49f2a3463f Sync SDL3 wiki -> header 2024-06-13 19:34:29 +00:00
SDL Wiki Bot 674cc04ef4 Sync SDL3 wiki -> header 2024-06-13 02:25:45 +00:00
Sam Lantinga 80a907e0e6 Backed out the viewport and cliprect changes in 9fb5a9ccac
This ended up being lots of application code churn without any real benefit in practice.
2024-06-12 19:25:15 -07:00
SDL Wiki Bot 99f0309ac1 Sync SDL3 wiki -> header 2024-06-12 23:34:42 +00:00
SDL Wiki Bot 9e3e489012 Sync SDL3 wiki -> header 2024-06-12 19:10:53 +00:00
Ryan C. Gordon 5416bd5fdc
ios: Move animation callback to its own typedef. 2024-06-12 15:10:16 -04:00
SDL Wiki Bot 5b0f14a936 Sync SDL3 wiki -> header 2024-06-12 17:19:08 +00:00
Sam Lantinga 9fb5a9ccac Use floating point values for viewport, clip rectangle, and texture sizes
These are integer values internally, but the API has been changed to make it easier to mix other render code with querying those values.

Fixes https://github.com/libsdl-org/SDL/issues/7519
2024-06-12 10:18:39 -07:00
SDL Wiki Bot 2d13fefc20 Sync SDL3 wiki -> header 2024-06-12 02:20:21 +00:00
SDL Wiki Bot a4bb93e8e4 Sync SDL3 wiki -> header 2024-06-12 01:34:03 +00:00
Anonymous Maarten 32907a9606 Rename SDL_Swap(16|32|64)(LE|BE) to SDL_Swap(LE|BE)(16|32|64) 2024-06-12 02:29:39 +02:00
Anonymous Maarten ef6123886e Add SDL_ReadS8 and SDL_WriteS8 2024-06-12 01:39:08 +02:00
SDL Wiki Bot f003461a0b Sync SDL3 wiki -> header 2024-06-11 16:23:27 +00:00
Ryan C. Gordon 96f2ef77ab
include: Make function pointer params into typedefs.
This is easier to read and document in general, but will also make some
new parsing work in wikiheaders much easier.
2024-06-11 12:22:46 -04:00
Ryan C. Gordon 8e782602de
wikiheaders: Fixes and cleanups to fix SDL_ReportAssertion's wiki page. 2024-06-11 11:29:44 -04:00
Sam Lantinga 66aac9aced Fixed channel order typo 2024-06-10 18:05:31 -07:00
SDL Wiki Bot 454d890bef Sync SDL3 wiki -> header 2024-06-11 00:57:54 +00:00
Ryan C. Gordon d3a62d8298
audio: Update docs on channel ordering. 2024-06-10 20:56:50 -04:00
Sam Lantinga 4fc68a48f2 Keep track of whether a controller was a gamepad
Fixes https://github.com/libsdl-org/SDL/issues/9996
2024-06-09 17:45:20 -07:00
Ryan C. Gordon 8ddf05855b
iostream: clarified SDL_IO_STATUS_READY documentation. 2024-06-09 13:21:31 -04:00
SDL Wiki Bot 9651ca5918 Sync SDL3 wiki -> header 2024-06-09 05:52:14 +00:00
Ryan C. Gordon 6110405c07
include: Fill in some documentation gaps. 2024-06-09 01:51:30 -04:00
Ryan C. Gordon 7d54a37d74
iostream: Make seeking's `whence` value a real enum. 2024-06-09 01:50:48 -04:00
SDL Wiki Bot 35adef17a8 Sync SDL3 wiki -> header 2024-06-09 05:33:28 +00:00
Ryan C. Gordon 40e8d0155e
SDL_joystick.h: Add some notes to the category documentation. 2024-06-09 01:32:41 -04:00
Ryan C. Gordon 8af58b4bec
SDL_FLT_EPSILON: Updated documentation to be wikiheaders-friendly. 2024-06-08 23:15:21 -04:00
Green Sky 997dd3e6eb reword SDL_FlashWindow params
so they link the types in the wiki
2024-06-08 17:25:27 -04:00
Anthony e9982bf1b5
Filter Android drivers according to SDL_***_DISABLED macros to help reduce APK size (#9986) 2024-06-08 08:55:15 -07:00
Sam Lantinga e69272344c Added documentation for SDL_FLT_EPSILON (thanks @MrOnlineCoder!)
Closes https://github.com/libsdl-org/sdlwiki/pull/549
2024-06-08 08:29:17 -07:00
SDL Wiki Bot 9a4fc81bff Sync SDL3 wiki -> header 2024-06-06 17:59:48 +00:00
Sam Lantinga 5701c4f4bc Added migration documentation for iOS window properties
Fixes https://github.com/libsdl-org/SDL/issues/9430
2024-06-06 10:59:15 -07:00
SDL Wiki Bot a5356f9b45 Sync SDL3 wiki -> header 2024-06-06 17:08:43 +00:00
Sam Lantinga 23db1062fc Document that you can pass NULL to SDL_PeepEvents()
Fixes https://github.com/libsdl-org/sdlwiki/issues/547
2024-06-06 10:08:20 -07:00
Sam Lantinga 9b2debb131 Renamed old function reference 2024-06-04 22:25:37 -07:00
SDL Wiki Bot e5101ebae6 Sync SDL3 wiki -> header 2024-06-04 04:11:34 +00:00
Sam Lantinga a0d1445ccb Replaced SDL_GetRendererInfo() with SDL_GetRendererName()
The texture formats are available via the SDL_PROP_RENDERER_TEXTURE_FORMATS_POINTER property

Fixes https://github.com/libsdl-org/SDL/issues/9851
2024-06-03 21:10:58 -07:00
SDL Wiki Bot 74c9c9a325 Sync SDL3 wiki -> header 2024-06-04 01:23:30 +00:00
Semphris 8c8ee2174d Dialog: Add filter number, remove NULL termination 2024-06-03 18:22:26 -07:00
Sam Lantinga a9a51cebde Disable raw keyboard input by default
It interferes with keyboard hooks and most applications don't expect key events coming from another thread
2024-06-03 14:43:46 -07:00
SDL Wiki Bot 39c2dacc8f Sync SDL3 wiki -> header 2024-06-03 18:21:49 +00:00
Ryan C. Gordon e23257307e Introduce formal policy for APIs that return strings.
This declares that any `const char *` returned from SDL is owned by SDL, and
promises to be valid _at least_ until the next time the event queue runs, or
SDL_Quit() is called, even if the thing that owns the string gets destroyed
or changed before then.

This is noted in the headers as "the SDL_GetStringRule", so this will both be
greppable to find a detailed explaination in docs/README-strings.md and
wikiheaders will automatically turn it into a link we can point at the
appropriate documentation.

Fixes #9902.

(and several FIXMEs, both known and yet-undocumented.)
2024-06-03 14:20:49 -04:00
Carlo Bramini b1f3682216 SDL_assert: add support for aarch64-w64-mingw32
GCC 15 development branch provides an experimental support for Windows on ARM64, which will be officially released next year, according to latest news.
I tried to compile SDL2 with this new compiler but I got a tiny problem into SDL_assert.h because it couldn't find the right platform.
However, it has been easy to fix and I included it into this PR.
More details can be also found here:
https://learn.microsoft.com/en-us/cpp/intrinsics/debugbreak?view=msvc-170

(cherry picked from commit 2cb1a2d0a7)
2024-06-03 10:55:14 -07:00
Ryan C. Gordon 9a9a3d1a33 SDL_SystemCursor: rename enum items to match CSS.
Fixes #9079.
2024-06-01 22:32:43 -04:00
Ozkan Sezer 49b6c24722 always define PRI?64 using 'I64' when targeting windows
avoids -Wformat warnings from mingw toolchains -- e.g.:
src/test/SDL_test_harness.c:581:37: warning: unknown conversion type character 'l' in format [-Wformat=]
2024-06-01 22:35:40 +03:00
Sam Lantinga b1b4638cac Add basic vulkan support to offscreen video driver so it doesn't crash if you happen to get the offscreen driver and try to use vulkan.
Enable offscreen video driver in windows to make it easier to test.
Enable offscreen video driver in macos just to complete the desktop computer trio.
2024-05-28 20:02:55 -07:00
SDL Wiki Bot 04a0a85d92 Sync SDL3 wiki -> header 2024-05-29 02:48:51 +00:00
Sam Lantinga 542a3663de Added SDL_GetDefaultKeyFromScancode() to the public API
This is useful when getting the English name of a key for a non-Latin keyboard layout, for example.
2024-05-28 19:48:24 -07:00
Ozkan Sezer 2b374e6c0f check dxgi1_6.h before enabling sdr/hdr code in SDL_windowsmodes.c
thanks @madebr
2024-05-28 22:11:56 +03:00
SDL Wiki Bot 98fdef75bb Sync SDL3 wiki -> header 2024-05-28 18:54:02 +00:00
Sam Lantinga c74886ab00 Added SDL_SetWindowAspectRatio() and SDL_GetWindowAspectRatio()
Fixes https://github.com/libsdl-org/SDL/issues/1573
2024-05-28 11:52:31 -07:00
Sam Lantinga 36015ad5e5 Fixed compiling SDL_platform_defines.h on macOS with older compilers (thanks @sezero!)
Fixes #9632
2024-05-27 14:34:21 -07:00
Ryan C. Gordon e508d82f74
include: Tweaked some vsync-related documentation.
Reference PR #9903.
2024-05-27 16:57:32 -04:00
SDL Wiki Bot 6524f9c9b8 Sync SDL3 wiki -> header 2024-05-27 20:12:47 +00:00
Sam Lantinga dfe4445214 Added SDL_SetWindowSurfaceVSync() and SDL_GetWindowSurfaceVSync()
Fixes https://github.com/libsdl-org/SDL/issues/9347
2024-05-27 13:12:17 -07:00
SDL Wiki Bot 7c75801571 Sync SDL3 wiki -> header 2024-05-27 20:04:46 +00:00
Ryan C. Gordon 3364aff757
main: Make the main callback return value symbols smaller (thanks, @Lzard!).
Reference #9901.
2024-05-27 16:03:45 -04:00
SDL Wiki Bot a086144dad Sync SDL3 wiki -> header 2024-05-27 16:59:55 +00:00
Ryan C. Gordon 0fe9900429
main: Main callback docs recommend returning the symbols instead of -1, 0, 1.
Reference #9901.
2024-05-27 12:58:22 -04:00
Sam Lantinga 7d81e9d46c Note that you can redraw in response to SDL_EVENT_WINDOW_EXPOSED from an event watch callback 2024-05-27 08:06:13 -07:00
SDL Wiki Bot 54fcacae31 Sync SDL3 wiki -> header 2024-05-27 14:58:03 +00:00
Sam Lantinga 14667cc0a3 Document that the timer callback can potentially be called before the timer returns. 2024-05-27 07:57:33 -07:00
Sam Lantinga 99599d9236 Added SDL_AddTimerNS() 2024-05-27 07:57:33 -07:00
Sam Lantinga b6360516e4 Added the timerID to the SDL timer callback
Fixes https://github.com/libsdl-org/SDL/issues/2593
2024-05-27 07:57:33 -07:00
Sam Lantinga df25e4022d Removed short aliases for 16-bit pixel formats
These were potentially misleading in the same way the RGB888/BGR888 aliases were

Fixes https://github.com/libsdl-org/SDL/issues/4994
2024-05-27 07:24:46 -07:00
SDL Wiki Bot 5fa9432b7d Sync SDL3 wiki -> header 2024-05-27 02:54:30 +00:00
Ryan C. Gordon 066f49da1a
main: Add some macros for main callback return codes.
Fixes #9883.
2024-05-26 22:53:06 -04:00
SDL Wiki Bot c168ccc3c3 Sync SDL3 wiki -> header 2024-05-27 02:00:01 +00:00
Anonymous Maarten ddb826d1a0 VC+d3d12: spread test for __has_include and d3d12.h test over multiple lines 2024-05-27 03:02:10 +02:00
Anonymous Maarten 4fa5006247 VC+d3d12: use __has_include to detect presence of d3d12 ehaders 2024-05-27 00:44:53 +02:00
Sam Lantinga 606903c02f Updated window event names 2024-05-26 11:13:34 -07:00
Ryan C. Gordon a4ccace9c5
include: Fix warnings from gendynapi.py.
Fixes #9890.
2024-05-26 13:44:16 -04:00
Ryan C. Gordon a0376ab057 SDL_MouseButtonFlags: Clarified some documentation. 2024-05-26 13:23:21 -04:00
Ryan C. Gordon 10bbf9d1da Fixed SDL_PenCapabilityFlags from Uint64 to Uint32. 2024-05-26 13:23:21 -04:00
Ryan C. Gordon 0e6db371e8 pen: Make the `\since` field in SDL_PenCapabilityFlags match everything else. 2024-05-26 13:23:21 -04:00
Ryan C. Gordon cf2874080f mouse: Move mouse button state from a Uint32 to a formal typedef.
Reference Issue #9812.
2024-05-26 13:23:21 -04:00
Ryan C. Gordon 13b18e3c41 test: Moved some `Uint32` bitfields over to typedefs.
Reference Issue #9812.
2024-05-26 13:23:21 -04:00
Ryan C. Gordon 0f0570b060 pen: Change a Uint32 bitfield into a typedef.
Reference Issue #9812.
2024-05-26 13:23:21 -04:00
SDL Wiki Bot 8e3ff8c3a1 Sync SDL3 wiki -> header 2024-05-26 17:21:54 +00:00
Sam Lantinga 534768c7c5 Added SDL_PauseAudioStreamDevice() and SDL_ResumeAudioStreamDevice() 2024-05-26 13:21:23 -04:00
SDL Wiki Bot a6da2e6f8b Sync SDL3 wiki -> header 2024-05-26 16:19:32 +00:00
Ryan C. Gordon 2626304e70
properties: add formal SDL_CleanupPropertyCallback type, improve docs. 2024-05-26 12:17:34 -04:00
SDL Wiki Bot 84cb065da2 Sync SDL3 wiki -> header 2024-05-26 03:34:35 +00:00
Ryan C. Gordon 033793faed
audio: SDL_OpenAudioDeviceStream() now allows a NULL spec. 2024-05-25 23:34:01 -04:00
Ryan C. Gordon 6a40a8eb12
audio: Minor documentation clarifications. 2024-05-25 23:34:00 -04:00
Sam Lantinga 7a043d9958 Note that SDL_BlitSurface() was renamed SDL_BlitSurfaceScaled() 2024-05-24 05:33:51 -07:00
Sam Lantinga 89caa88b73 Get the definition for SDL_PropertiesID in SDL_thread.h 2024-05-23 17:14:07 -07:00
SDL Wiki Bot 66fbbdf46a Sync SDL3 wiki -> header 2024-05-23 17:09:44 +00:00
SDL Wiki Bot 3e8d8f81b4 Sync SDL3 wiki -> header 2024-05-23 17:04:35 +00:00
SDL Wiki Bot be5d4e5857 Sync SDL3 wiki -> header 2024-05-22 21:40:15 +00:00
SDL Wiki Bot 6429806dce Sync SDL3 wiki -> header 2024-05-22 19:47:56 +00:00
Ryan C. Gordon daf5009395
dialog: fixed typo in docs. 2024-05-22 14:26:50 -04:00
Semphris 93a0db597a Add documentation about dialogs and events 2024-05-22 11:26:03 -07:00
Ryan C. Gordon f2e3437311
include: Fixed headers to not break with wikiheaders. This is a hack for now.
I broke the "Don't taunt wikiheaders" rule.  :)

https://wiki.libsdl.org/SDL3/README/documentation-rules#dont-taunt-wikiheaders
2024-05-22 12:29:30 -04:00
SDL Wiki Bot b7bb220e60 Sync SDL3 wiki -> header 2024-05-22 15:40:15 +00:00
Ryan C. Gordon b2ca8fe458 thread: Simplified docs, moved some technical details to a non-wiki comment. 2024-05-22 11:39:43 -04:00
Ryan C. Gordon b83bb035e6 thread: SDL_CreateThreadWithStackSize is now SDL_CreateThreadWithProperties. 2024-05-22 11:39:43 -04:00
Ryan C. Gordon 0ec716819e thread: Reworked SDL_CreateThread to be consistent across platforms.
Also documented missing and weird bits, rename typedefs to fit SDL standards.
2024-05-22 11:39:43 -04:00
SDL Wiki Bot 983544a53e Sync SDL3 wiki -> header 2024-05-22 00:41:09 +00:00
Dragon-Baroque 05fb91c7b4 TESTWM : Option and Keyboard action to ShowCursor and HideCursor
In include/SDL3/SDL_test_common.h
   Add flag hide_cursor
In src/test/SDL_test_common.c
   Handle option --hide-cursor to SDL_HideCursor
   Handle Ctrl-h toggle to SDL_HideCursor and SDL_ShowCursor
2024-05-21 13:49:35 -07:00
SDL Wiki Bot 71050341d4 Sync SDL3 wiki -> header 2024-05-20 16:46:41 +00:00
Ryan C. Gordon dd09d4b4ee
hidapi: Replace BSD license with "original" hidapi license.
HIDAPI's source code licensing says this:

```
HIDAPI can be used under one of three licenses.

1. The GNU General Public License, version 3.0, in LICENSE-gpl3.txt
2. A BSD-Style License, in LICENSE-bsd.txt.
3. The more liberal original HIDAPI license. LICENSE-orig.txt

The license chosen is at the discretion of the user of HIDAPI. For example:
1. An author of GPL software would likely use HIDAPI under the terms of the
GPL.

2. An author of commercial closed-source software would likely use HIDAPI
under the terms of the BSD-style license or the original HIDAPI license.
```

Since the original license in LICENSE-orig.txt is basically only clause 3 of
the zlib license (do not remove this notice from the source code), it makes
sense to switch to it, since it adds no new requirements to the user.

(Plus, it's extremely short and direct, which is always nice.)

The entire license:

```
 HIDAPI - Multi-Platform library for
 communication with HID devices.

 Copyright 2009, Alan Ott, Signal 11 Software.
 All Rights Reserved.

 This software may be used by anyone for any reason so
 long as the copyright notice in the source files
 remains intact.
```

Fixes #9786.
2024-05-20 12:45:11 -04:00
SDL Wiki Bot c6cc719067 Sync SDL3 wiki -> header 2024-05-20 01:46:10 +00:00
Sam Lantinga 6f2621438a Renamed DECLSPEC to SDL_DECLSPEC 2024-05-17 17:09:09 -07:00
SDL Wiki Bot eda9247f01 Sync SDL3 wiki -> header 2024-05-17 12:37:31 +00:00
Brick b6b9d5508e Renamed SDL_MixAudioFormat to SDL_MixAudio, and use float volume 2024-05-17 13:36:51 +01:00
Ali Emre Gülcü f17b556c76
Add SDL_Vulkan_DestroySurface functionality (#9817)
Added SDL_Vulkan_DestroySurface, its documentation and corresponding platform specific implementations. Fixed some header inclusion orders to improve consistency between platforms. Added TODOs regarding MetalView creation and destruction which will benefit from the new functionality.
2024-05-16 17:41:15 -07:00
vittorioromeo a69eaae32e Add `SDL_NODISCARD` macro to `SDL_begin_code.h` 2024-05-16 17:08:52 -07:00
Sam Lantinga 7cddde32ac Removed SDL_SWSURFACE, added unsigned suffix for surface flags 2024-05-16 11:40:38 -07:00
SDL Wiki Bot 919c012d29 Sync SDL3 wiki -> header 2024-05-16 18:24:34 +00:00
Sam Lantinga abfd0dc683 Added SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL 2024-05-16 11:23:29 -07:00
Sam Lantinga 02ff85f2f3 Renamed SDL_SIMDGetAlignment() to SDL_GetSIMDAlignment() 2024-05-16 10:22:15 -07:00
Sam Lantinga 4609af618a Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
Ryan C. Gordon 241cfaf38f
surface: Make a typedef for SDL_Surface bitflags, as is SDL3 policy.
Reference Issue #9812.
2024-05-16 12:29:58 -04:00
Ryan C. Gordon 253c917296
SDL_render.h: Remove unnecessary `struct x;` before `typedef struct x x;`. 2024-05-16 12:21:14 -04:00
Ryan C. Gordon 45df084287
SDL_keyboard.h: Added a `\sa` to SDL_Keysym's docs. 2024-05-16 12:19:50 -04:00
Ryan C. Gordon 665ff8c5f6
include: Removed `::` from symbol names in comments.
This isn't C++ code, so there's no need to append global symbols with two
colons. It looks ugly.

I _did_ leave them for actual C++ things in WinRT-specific comments and other
places, like a reference to a Perl class thing.

Also, even though it's not valid C, it's a useful expression to say
`StructType::SpecificField`, so I left those alone, too.
2024-05-16 12:16:57 -04:00
SDL Wiki Bot 10ab623d43 Sync SDL3 wiki -> header 2024-05-16 16:02:15 +00:00
Ryan C. Gordon 5e6d85b8f0
wikiheaders: bridge wiki Category docs to the headers!
Did an initial cleanup on the headers and wrote a few pieces of documentation,
but this needs more work to fill out the documentation.
2024-05-16 11:48:23 -04:00
Sam Lantinga fbe7e2e6d3 Moved the SDL version back to SDL_version.h
Added a comment at the top of SDL.h with the current version, for informational purposes
2024-05-15 14:38:29 -07:00
SDL Wiki Bot c6354252a1 Sync SDL3 wiki -> header 2024-05-15 21:33:30 +00:00
Susko3 e6345716e0 Fix typo 2024-05-15 14:32:11 -07:00
Susko3 968e8c9275 Prefix names with `SDL_RENDERER_` 2024-05-15 14:32:11 -07:00
Susko3 8d7f91f8e4 Add defined constants for renderer vsync values 2024-05-15 14:32:11 -07:00
SDL Wiki Bot 60d355eb0b Sync SDL3 wiki -> header 2024-05-15 18:55:12 +00:00
Sam Lantinga 661f2fc1fc Removed the SDL_Version structure, moved SDL version to SDL.h
Inspired by https://github.com/libsdl-org/SDL/issues/9788
2024-05-15 10:43:31 -07:00
Susko3 f229e940a4 Fix missing #include in SDL_blendmode.h
Regressed when SDL_BlendMode was changed from an enum to a typedef Uint32.
2024-05-15 10:16:24 -07:00
Petar Popovic 1103294d33 SDL_scancode.h: Updating HID usage tables link 2024-05-14 18:13:21 -07:00
Ryan C. Gordon 1796511782
SDL_revision.h: Put this stuff into the "Version" wiki category. 2024-05-14 15:00:11 -04:00
Ryan C. Gordon 62a7e419f7
wikiheaders: Automatically categorize API symbols by subsystem. 2024-05-14 13:30:42 -04:00
Ryan C. Gordon 17976c1ae1
SDL_filesystem.h: SDL_GLOB_CASEINSENSITIVE was defined twice. 2024-05-14 13:30:41 -04:00
Petar Popovic 3baec8aab4 Renaming SDLK_QUOTEDBL to SDLK_DBLAPOSTROPHE 2024-05-14 08:46:38 -07:00
Sam Lantinga 863a9029ae Added SDL_GlobFlags 2024-05-14 07:13:35 -07:00
Ryan C. Gordon 03b7e02804
include: SDL_GLOB_CASESENSITIVE is associated with SDL_GlobDirectory.
Put it under the function so wikiheaders associates it with the right symbol.
2024-05-14 01:58:04 -04:00
SDL Wiki Bot 8b5f0d07e9 Sync SDL3 wiki -> header 2024-05-13 23:11:31 +00:00
Frank Praznik df3fea87d6 wayland: Rework scale-to-display
This extends the display scaling mode to be global and work in terms of pixels everywhere, with the content scale value set on displays. The per-window property had some issues, and has been removed in favor of retaining only the global hint that changes all coordinates to pixel values, sets the content scale on the displays, and generally makes the Wayland backend behave similarly to Win32 or X11.

Some additional work was needed to fix cases where displays can appear to overlap, since Wayland desktops are always described in logical coordinates, and attempting to adjust the display positions so that they don't overlap can get very ugly in all but the simplest cases, as large gaps between displays can result.
2024-05-13 19:10:19 -04:00
SDL Wiki Bot c7087fea01 Sync SDL3 wiki -> header 2024-05-13 22:07:34 +00:00
Sam Lantinga 17520c2e6e Removed SDL_RendererFlags
The flags parameter has been removed from SDL_CreateRenderer() and SDL_RENDERER_PRESENTVSYNC has been replaced with SDL_PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER during window creation and SDL_PROP_RENDERER_VSYNC_NUMBER after renderer creation.

SDL_SetRenderVSync() now takes additional values besides 0 and 1.

The maximum texture size has been removed from SDL_RendererInfo, replaced with SDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER.
2024-05-13 15:06:11 -07:00
SDL Wiki Bot 678cfd23c0 Sync SDL3 wiki -> header 2024-05-13 21:30:12 +00:00
SDL Wiki Bot 7d6453ea33 Sync SDL3 wiki -> header 2024-05-13 21:24:33 +00:00
Ryan C. Gordon 766de7deff
SDL_audio.h: Whoops, one more documentation typo! 2024-05-13 17:24:08 -04:00
Ryan C. Gordon 7bc4bb9f96
SDL_audio.h: Fixed a documentation typo. 2024-05-13 17:23:21 -04:00
Petar Popovic 94cbaaabbf Renaming SDLK_QUOTE and SDLK_BACKQUOTE
Renaming SDLK_QUOTE to SDLK_APOSTROPHE.
Renaming SDLK_BACKQUOTE to SDLK_GRAVE.
This makes them similar to their scancode names.
2024-05-13 11:11:11 -07:00
SDL Wiki Bot 06d6f2cb25 Sync SDL3 wiki -> header 2024-05-13 16:09:32 +00:00
Sam Lantinga fc62dfc6e2 Added properties for the swap chain in the direct3d11 and direct3d12 renderers
Fixes https://github.com/libsdl-org/SDL/issues/9775
2024-05-13 09:06:57 -07:00
SDL Wiki Bot 486af58797 Sync SDL3 wiki -> header 2024-05-13 14:14:30 +00:00
Thomas J Faughnan Jr ad166be1c5 Add SDL_HINT_AUDIO_DEVICE_APP_ICON_NAME 2024-05-13 10:13:01 -04:00
SDL Wiki Bot 8bd0433966 Sync SDL3 wiki -> header 2024-05-13 07:19:15 +00:00
Sam Lantinga 026edbeab0 Use the correct type for the modifier in SDL_Keysym
This shrinks the structure by 32-bits because we've removed implicit padding between the fields
2024-05-10 17:36:10 -07:00
Sam Lantinga c95c415a0b Fixed warning C4244: '=': conversion from 'SDL_Keymod' to 'Uint16', possible loss of data 2024-05-10 16:43:09 -07:00
SDL Wiki Bot cd45e0a1ed Sync SDL3 wiki -> header 2024-05-10 14:30:13 +00:00
SDL Wiki Bot 7857d34d2c Sync SDL3 wiki -> header 2024-05-10 01:26:32 +00:00
Sam Lantinga 06a5d4d24f Documented the return value of SDL_GetDateTimeLocalePreferences() 2024-05-09 18:25:22 -07:00
Sam Lantinga c1ba31118b Added ball, touchpad, and sensor support for virtual joysticks
Fixes https://github.com/libsdl-org/SDL/issues/9542
2024-05-09 18:25:22 -07:00
Ryan C. Gordon d231edd2ad
SDL_dialog.h: Added missing `\param` lines to callback documentation. 2024-05-09 19:57:36 -04:00
SDL Wiki Bot 5f86f64f06 Sync SDL3 wiki -> header 2024-05-09 23:33:11 +00:00
Sam Lantinga bcbf09acde Renamed SDL_AttachVirtualJoystickEx() to SDL_AttachVirtualJoystick()
The shorthand version of this function didn't allow specifying a controller name, which seems pretty important. It seems like anyone actually implementing a virtual joystick is going to want to use some of the extended functionality.
2024-05-09 14:05:58 -07:00
Sam Lantinga 598b4e0a1f Removed the limit on the number of supported renderer texture formats
Fixes https://github.com/libsdl-org/SDL/issues/9056
2024-05-09 13:30:07 -07:00
Wim Taymans a340748c06 camera: add PipeWire camera support
The PipeWire camera will enumerate the pipewire Video/Source nodes with
their formats.

When capturing is started, a stream to the node will be created and
frames will be captured.
2024-05-09 13:19:27 -07:00
Ozkan Sezer 890ceb4ac4 SDL_stdinc.h: add fallback cases for SDL_SINT64_C and SDL_UINT64_C
These are needed when INT64_C and UINT64_C macros are either not
available (not likely), or guarded by __STDC_LIMIT_MACROS in C++
compilations (which is the case in many old SDKs.)
2024-05-09 20:55:56 +03:00
Ryan C. Gordon 9245084c06
SDL_video.h: Added a `\sa` from SDL_GLContext to SDL_GL_CreateContext. 2024-05-09 13:51:26 -04:00
Sam Lantinga 54fb629da5 SDL_WindowFlags is now 64-bit
Fixes https://github.com/libsdl-org/SDL/issues/7321
2024-05-09 10:39:54 -07:00
Susko3 895586c928 Use `1u` literal for flags/masks calculation
Changes `1 <<` and `1<<` to use `1u`.
2024-05-09 10:29:48 -07:00
Sam Lantinga 1944c009e9 SDL_Keycode is now Uint32 2024-05-09 10:00:46 -07:00
SDL Wiki Bot d3e28f3ab8 Sync SDL3 wiki -> header 2024-05-09 16:18:35 +00:00
Sam Lantinga 33e7238268 Clarified the meaning of the cursor hotspot (thanks @nbriggs!)
Fixes https://github.com/libsdl-org/sdlwiki/issues/380
2024-05-09 09:16:46 -07:00
Sam Lantinga 3947356282 Removed obsolete documentation 2024-05-09 09:01:27 -07:00
SDL Wiki Bot 793622ff1c Sync SDL3 wiki -> header 2024-05-08 21:48:12 +00:00
SDL Wiki Bot a5e49cc4e8 Sync SDL3 wiki -> header 2024-05-08 19:36:35 +00:00
Frank Praznik 1f43c88220 time: Use a function instead of properties to retrieve the system date and time locale info
This allows applications to re-query the values if the system locale is changed during runtime, and better matches the other locale functions. A note is included in the documentation mentioning that this can be slow, as it has to call into OS functions.

Also allows for the removal of the init/quit time functions, as they are no longer needed.
2024-05-08 15:35:04 -04:00
SDL Wiki Bot 7abc589438 Sync SDL3 wiki -> header 2024-05-08 16:56:38 +00:00
Frank Praznik 7d47d16526 kmsdrm: Report the panel orientation hint property
Queries the "panel orientation" property on the connector and reports it in degrees of clockwise rotation via the 'SDL.display.KMSDRM.panel_orientation' display property.

This is provided by the kernel as a hint to userspace applications, and the application itself is ultimately responsible for any required coordinate transformations needed to conform to the requested orientation.
2024-05-08 12:55:19 -04:00
SDL Wiki Bot 8af26cf463 Sync SDL3 wiki -> header 2024-05-08 07:53:33 +00:00
Ryan C. Gordon e14ba41689
Some minor documentation tweaks. 2024-05-08 03:52:31 -04:00
Sam Lantinga 04be04c338 Removed mostly unused SDL_errorcode 2024-05-07 15:45:06 -07:00
Sam Lantinga afe7c7a644 Changed SDL_ClearError() to always return 0.
This will provide a quick and easy way of clearing the error when a function succeeds, if we want to do that in a more widespread way.

For now we guarantee that SDL_Init() will never have an error set when it returns successfully.

Fixes https://github.com/libsdl-org/SDL/issues/8421
2024-05-07 15:45:06 -07:00
Sam Lantinga 748490677c Use SDL_RendererFlags in the API (thanks @Sackzement!) 2024-05-07 13:41:12 -07:00
SDL Wiki Bot 4928d0e479 Sync SDL3 wiki -> header 2024-05-07 19:25:31 +00:00
Sam Lantinga aecb62e30d Improved API consistency for flag data types
Flag data types are always unsigned and have the valid values following the typedef.
2024-05-07 12:24:37 -07:00
Sam Lantinga 53a45a4437 Fixed inconsistent hint names (thanks @Sackzement!)
Fixes https://github.com/libsdl-org/SDL/issues/9643
2024-05-07 08:47:25 -07:00
SDL Wiki Bot ea1904eda1 Sync SDL3 wiki -> header 2024-05-06 16:09:31 +00:00
Petar Popovic 45ac1a09d9 System dependent 64 bit integer suffixes
Added macros SDL_SINT64_C() and SDL_UINT64_C().
Integer suffixes of SDL_MAX_SINT64, SDL_MIN_SINT64, SDL_MAX_UINT64
and SDL_MIN_UINT64 are now system dependent.
2024-05-06 09:08:49 -07:00
SDL Wiki Bot d7d3028765 Sync SDL3 wiki -> header 2024-05-06 16:06:32 +00:00
Miku AuahDark 33ae7e38d6
Android: Allow SDL_IOFromFile to open content:// URI. (#9696) 2024-05-06 09:05:49 -07:00
Ryan C. Gordon 5dc207b3b6
include: Fix a preformatted piece of documentation that isn't C code. 2024-05-05 01:22:46 -04:00
SDL Wiki Bot 7856c8fb8f Sync SDL3 wiki -> header 2024-05-03 19:40:33 +00:00
Ryan C. Gordon cf0b5db9e1
SDL_system.h: Improve window message hook documentation. 2024-05-03 15:37:11 -04:00
Ryan C. Gordon a04abd78d3
SDL_filesystem.h: Add a `\sa` from SDL_GetUserFolder to SDL_Folder.
Reference https://github.com/libsdl-org/sdlwiki/issues/522
2024-05-03 15:24:06 -04:00
SDL Wiki Bot 27b931a8a0 Sync SDL3 wiki -> header 2024-05-03 18:11:35 +00:00
Semphris 06b9d88682 Add more links in SDL_dialog documentation 2024-05-03 11:10:03 -07:00
Ryan C. Gordon a790a67883
include: Filling in more documentation gaps. 2024-05-03 13:19:26 -04:00
Ryan C. Gordon 3473cef7df
surface: `SDL_blit` is not used in the public API, remove it from headers. 2024-05-03 12:57:09 -04:00
SDL Wiki Bot 7559acaf75 Sync SDL3 wiki -> header 2024-05-03 16:34:33 +00:00
Frank Praznik 3a6d9c59f4 wayland: Add mouse pointer warp support
The pointer confinement protocol does allow attempted warping the pointer via a hint, provided that the pointer is locked at the time of the request, and the requested coordinates fall within the bounds of the window.

Toggle the pointer locked state and request the pointer warp when the required protocol is available. This is similar to what XWayland does internally.
2024-05-03 12:33:19 -04:00
Sam Lantinga b18a071639 Removed SDL_DROPEVENT_DATA_SIZE and SDL_TEXTEDITINGEVENT_TEXT_SIZE
Fixes https://github.com/libsdl-org/SDL/issues/9681
2024-05-03 09:19:49 -07:00
SDL Wiki Bot a03829d636 Sync SDL3 wiki -> header 2024-05-03 13:59:29 +00:00
Ryan C. Gordon 31a45d7cb3
SDL_main.h: Document SDL_main. 2024-05-03 09:58:05 -04:00
Ryan C. Gordon 21c181b3b4
SDL_main.h: Minor documentation tweaks. 2024-05-03 09:48:27 -04:00
SDL Wiki Bot e86f22b52b Sync SDL3 wiki -> header 2024-05-03 13:42:29 +00:00
Ryan C. Gordon d570fd7c2c
SDL_main.h: Document SDL_MAIN_USE_CALLBACKS. 2024-05-03 09:41:02 -04:00
SDL Wiki Bot 3bd04e5a34 Sync SDL3 wiki -> header 2024-05-03 13:32:31 +00:00
SDL Wiki Bot ab5b904890 Sync SDL3 wiki -> header 2024-05-03 03:27:33 +00:00
Ryan C. Gordon 0e0bb22f79
include: More documentation updates. 2024-05-02 23:25:45 -04:00
Ryan C. Gordon 46b69af5a3
SDL_vulkan.h: Remove Tizen compatibility typedefs.
Any app for this system that wants to move to SDL3 will have to adjust to
all the other API changes anyhow, so there's no need to keep these anymore.

Fixes #9678.
2024-05-02 23:25:44 -04:00
SDL Wiki Bot 10c2682647 Sync SDL3 wiki -> header 2024-05-03 02:54:35 +00:00
Ryan C. Gordon 760d7d276b
include: Filled in some missing documentation. 2024-05-02 22:53:08 -04:00
Ryan C. Gordon 9f842e9b5a
wikiheaders: Bind `#define`s below a function to it, like typedefs.
This effectively adds the property symbols for various functions to the
function's wiki page.
2024-05-02 12:49:30 -04:00
Sam Lantinga d95f5bad24 Updated to version 3.1.2 for the preview release 2024-05-01 09:34:25 -07:00
Semphris b9d3d746a0 Add trailing path separator to SDL_GetUserFolder() 2024-04-30 18:01:16 -07:00
SDL Wiki Bot 97d0e78842 Sync SDL3 wiki -> header 2024-04-30 17:48:27 +00:00
Semphris c6a70d6898 Add support for modal windows to more platforms
- Adds support for modal windows to Win32, Mac, and Haiku, and enhances functionality on Wayland and X11, which previous set only the parent window, but not the modal state.
- Windows can be declared modal at creation time, and the modal state can be toggled at any time via SDL_SetWindowModalFor() (tested with UE5 through sdl2-compat).
- Allows dynamic unparenting/reparenting of windows.
- Includes a modal window test.
2024-04-30 13:47:57 -04:00
Ravbug 2f8cfce154 Fix SDL_main on UWP with C++20
/ZW is incompatible with C++20, so disable the #error in that case. In addition, define a main function because UWP in C++20 mode links to standard main.
2024-04-30 10:16:32 -07:00
Nhalrath 8eeaa815d9 docs: rename num to size in SDL_iostream 2024-04-30 10:16:10 -07:00
SDL Wiki Bot 556d9b8497 Sync SDL3 wiki -> header 2024-04-30 10:45:12 +00:00
SDL Wiki Bot 8b06473a11 Sync SDL3 wiki -> header 2024-04-29 20:53:27 +00:00
Petar Popovic 7bfecacc02 Removing function macro SDL_TABLESIZE() 2024-04-29 13:52:48 -07:00
Petar Popovic 8d0ad44edd Adding tag names to enums
Adding tag names to following enums:
SDL_JoystickType, SDL_JoystickConnectionState, SDL_TouchDeviceType, SDL_DUMMY_ENUM
2024-04-28 16:09:37 -07:00
Petar Popovic dffbb574ea renaming SDL_eventaction tag to SDL_EventAction 2024-04-28 16:09:09 -07:00
SDL Wiki Bot 3f2f712fff Sync SDL3 wiki -> header 2024-04-28 12:29:13 +00:00
Sam Lantinga 14f584a94b SDL_CreateWindowAndRenderer() takes the window title as the first parameter
Fixes https://github.com/libsdl-org/SDL/issues/9626
2024-04-25 20:00:14 -07:00
SDL Wiki Bot 57f96fb124 Sync SDL3 wiki -> header 2024-04-25 21:23:14 +00:00
SDL Wiki Bot 1b8d4d77d6 Sync SDL3 wiki -> header 2024-04-25 21:01:12 +00:00
Ryan C. Gordon 6b1a98e664
wikiheaders: Allow basic typedefs to pull in some preprocessor logic.
Reference Issue #9557.

This lets SDL_AudioFormat have the `#if byteorder == lilendian` section.
2024-04-25 16:44:09 -04:00
SDL Wiki Bot a13bdeee8a Sync SDL3 wiki -> header 2024-04-25 20:40:14 +00:00
Ryan C. Gordon d29b861a76
wikiheaders: Allow blank lines in post-typedef `#define` blocks.
Reference Issue #9557.
2024-04-25 14:26:49 -04:00
Ryan C. Gordon 2fb024ab8e
wikiheaders: Defines directly following a non-struct typedef are documented.
The idea is that if you have a `typedef Uint32 MyFlags` that has a bunch of
defines that are meant to be bitflags, you can pack them into the same wiki
page automatically.

This only works with `typedef`s that are _not_ struct/union/enums, and it
only pulls in `#define` lines that immediately follow the typedef line.
Even a blank line or a comment will signal to stop including lines for
this page!
2024-04-25 03:02:27 -04:00
SDL Wiki Bot 47ff4addd4 Sync SDL3 wiki -> header 2024-04-25 06:37:31 +00:00
Ryan C. Gordon 2733345422
SDL_audio.h: Documentation updates. 2024-04-25 02:36:08 -04:00
SDL Wiki Bot ceeefb0512 Sync SDL3 wiki -> header 2024-04-24 20:43:29 +00:00
Ryan C. Gordon cdb3cea76d
SDL_atomic.h: Documentation updates. 2024-04-24 16:42:16 -04:00
Ryan C. Gordon ec97857a87
SDL_assert.h: Documentation improvements. 2024-04-24 15:17:31 -04:00
SDL Wiki Bot 5fbc038375 Sync SDL3 wiki -> header 2024-04-24 17:20:14 +00:00
Sam Lantinga 30d93fb29b Relax, it's not that exciting :) 2024-04-24 09:19:38 -07:00
Ryan C. Gordon 4a11809370
SDL_TextInputEvent: Note that `text` field is UTF-8 encoded.
Reference Issue https://github.com/libsdl-org/sdlwiki/issues/516
2024-04-24 11:18:35 -04:00
Petar Popovic b98116a996 Removing trailing commas in enums in SDL headers
Trailing commas in enums is a C99 feature.
This commit removes them in SDL headers for ANSI compatibility.
2024-04-24 09:44:41 -04:00
Ryan C. Gordon 30970780a9
include: Fixed some old Doxygen markup to be Markdown instead. 2024-04-23 14:38:04 -04:00
Ryan C. Gordon 7a36504952
storage: SDL_WriteStorageFile() wasn't marked as SDLCALL.
Fixes #9594.
2024-04-21 09:26:07 -04:00
Erik Scholz c623bd2fdc reword SDL_BlitSurfaceScaled param
so it will link to the type in the docs/wiki
2024-04-20 07:51:40 -07:00
Frank Praznik bede245395 Remove references to renderers being destroyed with windows in the documentation 2024-04-19 12:23:40 -04:00
Anonymous Maarten 7dd4f1ec22 SDL3 removed SDL_HINT_RENDER_SCALE_QUALITY hint
textures now default to linear filtering, use SDL_SetTextureScaleMode(texture, SDL_SCALEMODE_NEAREST) if you want nearest pixel mode instead
2024-04-17 16:38:15 -07:00
Ryan C. Gordon 093160904d
SDL_Keymod: Removed SDL_KMOD_RESERVED.
Fixes #9481.
2024-04-17 17:30:10 -04:00
SDL Wiki Bot 2c183c602d Sync SDL3 wiki -> header 2024-04-17 21:09:29 +00:00
Ryan C. Gordon a18f3d55b7
SDL_iostream.h: Corrected documentation for SDL_ReadIO and SDL_WriteIO.
Fixes #9443.
2024-04-17 17:08:05 -04:00
SDL Wiki Bot bf0bf80df6 Sync SDL3 wiki -> header 2024-04-16 17:30:27 +00:00
Ryan C. Gordon db6b6bd75e
include: Fixed up some sensor documentation.
Fixes #9468.
2024-04-16 13:29:26 -04:00
Sam Lantinga 650d3b44e1 Removed the word "other" since the version has been removed 2024-04-16 08:52:21 -07:00
Ryan C. Gordon 235bfe2631
SDL_log.h: Remove SDL_MAX_LOG_MESSAGE.
The message length limit was removed in 2.0.24, so there's no need for
this define in SDL3 at all.

Fixes #9467.
2024-04-16 00:31:57 -04:00
Brick edaab8ad9f Refactored audio conversion to reduce copying
More of the logic has been moved into SDL_AudioQueue,
allowing data to be converted directly from the input buffer.
2024-04-15 11:47:18 -10:00
Sam Lantinga d69e6714a8 Document that tooltip windows don't get mouse or keyboard focus 2024-04-15 14:38:00 -07:00
Sam Lantinga bfde7294f5 Added a note that the joystick should be initialized on the main thread on Windows
Fixes https://github.com/libsdl-org/SDL/issues/9533
2024-04-15 14:19:44 -07:00
SDL Wiki Bot 7000a112a3 Sync SDL3 wiki -> header 2024-04-15 21:13:12 +00:00
Sam Lantinga 70ce808c09 Changed SDL_KeyCode values to defines
This clears up confusion about whether to use SDL_KeyCode or SDL_Keycode and makes it clear that the values aren't the full set of possible keycodes.

Fixes https://github.com/libsdl-org/SDL/issues/9493
2024-04-15 11:08:51 -10:00
Sam Lantinga 2fa4937e1a Removed obsolete padding 2024-04-15 13:55:01 -07:00
SDL Wiki Bot 35c08c828b Sync SDL3 wiki -> header 2024-04-15 19:23:27 +00:00
Sam Lantinga 1862a62b5d Replaced SDL_GetNumTouchFingers() and SDL_GetTouchFinger() with SDL_GetTouchFingers()
Fixes https://github.com/libsdl-org/SDL/issues/9484
2024-04-15 09:22:41 -10:00
SDL Wiki Bot cdcd346575 Sync SDL3 wiki -> header 2024-04-15 19:13:11 +00:00
SDL Wiki Bot 69ee186a1e Sync SDL3 wiki -> header 2024-04-15 16:56:12 +00:00
Ozkan Sezer f06f761c2f remove SDL_quit.h include from SDL.h 2024-04-15 18:47:24 +03:00
Ryan C. Gordon 9c8c254af2
include: Removed SDL_quit.h
It only had one (sort of scary) macro in it.

Fixes #9534.
2024-04-15 11:35:39 -04:00
SDL Wiki Bot 0397d23ed8 Sync SDL3 wiki -> header 2024-04-15 14:36:12 +00:00
Petar Popovic 56e6f05440 SDL_RendererFlip rename fixes 2024-04-15 03:32:23 -10:00
Anonymous Maarten 07b7ec68eb Add SDLTest_CompareMemory function to compare memory ranges 2024-04-15 03:05:05 -10:00