Simple DirectMedia Layer https://libsdl.org
Find a file
David Gow 700280a150 tray:unix: Rework the tray structures to have an 'internal' member
Currently, the SDL_Tray* structs in the unix backend are subclassed for each
implementation (only dbus so far). This means that the DBus-specific members
are in their own structs (SDL_Tray*DBus), which all are required to have the
corresponding 'parent' struct as their first member, so that they can be cast
easily and used in the more generic code.

However, other SDL systems which have pluggable backends work the other way
around: the 'generic' struct has an 'internal' member, which individual
drivers can use to store a pointer to any internal state. This is a bit
simpler to wrap one's head around -- particularly because it's consistent --
but does typically involve more memory allocations.

Change the unix/DBus tray implementations to use an 'internal' pointer to
match other subsystems.
2026-04-20 06:48:54 -10:00
.github policy: Clarify that "AI" means specific things. 2026-04-15 15:38:20 -04:00
android-project Use singleTop launchMode for SDLActivity on Android 2026-04-11 20:04:46 +02:00
build-scripts wikiheaders: Don't escape . chars in manpage's brief section. 2026-04-15 13:28:52 -04:00
cmake cmake: emscripten/clang does not support -Wformat* (anymore) 2026-04-07 00:53:56 +02:00
docs [N-Gage] Remove optimisations except for native texture handling prior to some rework of the rendering back-end 2026-04-18 19:54:30 +02:00
examples examples: Make source code and console tabs take 80% of browser page. 2026-02-16 14:26:51 -05:00
include hints: Correct the cursor DPI scaling hint 2026-04-20 10:33:10 -04:00
src tray:unix: Rework the tray structures to have an 'internal' member 2026-04-20 06:48:54 -10:00
test test: use SDL_test for event handling 2026-04-14 02:46:42 +02:00
VisualC testtray: created VS project and added new click callbacks 2026-02-05 11:08:05 -08:00
VisualC-GDK gdk: Update Suspend/Resume best practices. 2026-03-07 11:19:09 -05:00
wayland-protocols wayland: bind cursor-shape-v1 at protocol version 2 2026-04-14 10:22:48 -04:00
Xcode Hiding OpenGLES API deprecation since iOS 12.0 warning 2026-02-15 10:57:07 -08:00
.clang-format Add CHECK_PARAM as a conditional macro in clang-format 2026-04-03 11:47:41 -04:00
.clang-tidy Fix size of memcpy in SDL_AudioDeviceFormatChangedAlreadyLocked 2023-08-05 14:14:45 -04:00
.editorconfig .editorconfig: Remove excess apostrophe at *.cocci 2024-06-16 09:18:17 -07:00
.gitignore Updated .gitignore for png test data 2025-10-10 08:59:27 -07:00
.wikiheaders-options wikiheaders: Generate a current list of supported environment variables. 2025-09-02 15:49:52 -04:00
AGENTS.md AGENTS.md: Change "may not" to "must not". 2026-04-15 17:26:54 -04:00
Android.mk GPU: OpenXR integration (#14837) 2026-01-30 17:18:51 -05:00
BUGS.txt Added a Discord link to BUGS.txt 2025-01-13 16:42:50 -08:00
CLAUDE.md CLAUDE.md: Just copy the text from AGENTS.md in here for now. 2026-04-16 13:51:49 -04:00
CMakeLists.txt atomic: Fix missing full memory barrier on GCC/Clang 2026-04-19 06:34:45 -04:00
CREDITS.md Updated the credits for SDL 3.0 2025-01-13 16:42:50 -08:00
INSTALL.md Add a link to docs/INTRO-mingw.md 2025-03-06 16:25:17 -08:00
LICENSE.txt Updated copyright for 2026 2026-01-01 09:40:08 -08:00
README.md Revert "Update README.md" 2025-11-16 01:15:10 +03:00
WhatsNew.txt Added SDL_HINT_MOUSE_DPI_SCALE_CURSORS 2025-12-09 17:12:08 -08:00

Simple DirectMedia Layer (SDL for short) is a cross-platform library designed to make it easy to write multi-media software, such as games and emulators.

You can find the latest release and additional information at: https://www.libsdl.org/

Installation instructions and a quick introduction is available in INSTALL.md

This library is distributed under the terms of the zlib license, available in LICENSE.txt.

Enjoy!

Sam Lantinga (slouken@libsdl.org)