SDL3-CS
3.2.2-doc
See the version list below for details.
dotnet add package SDL3-CS --version 3.2.2-doc
NuGet\Install-Package SDL3-CS -Version 3.2.2-doc
<PackageReference Include="SDL3-CS" Version="3.2.2-doc" />
paket add SDL3-CS --version 3.2.2-doc
#r "nuget: SDL3-CS, 3.2.2-doc"
// Install SDL3-CS as a Cake Addin #addin nuget:?package=SDL3-CS&version=3.2.2-doc&prerelease // Install SDL3-CS as a Cake Tool #tool nuget:?package=SDL3-CS&version=3.2.2-doc&prerelease
<p align="center"> <img src="./logo.png?raw=true" alt="SDL3#"> </p>
<h4 align="center">This is SDL3#, a C# wrapper for SDL3.</h4>
<p align="center"> <img alt="GitHub contributors" src="https://img.shields.io/github/contributors/edwardgushchin/SDL3-CS"> <img alt="GitHub last commit" src="https://img.shields.io/github/last-commit/edwardgushchin/SDL3-CS"> <img alt="Static Badge" src="https://img.shields.io/badge/license-zlib-blue"> </p>
<p align="center"> <img alt="Static Badge" src="https://img.shields.io/badge/.NET-7.0,_8.0,_9.0-512BD4"> <img alt="Static Badge" src="https://img.shields.io/badge/Language-C%23_12-239120"> </p>
<p align="center"> <a href="#-about">About</a> • <a href="#-documentation">Documentation</a> • <a href="#-installation">Installation</a> • <a href="#-examples">Examples</a> • <a href="#-readiness">Readiness</a> </p> <p align="center"> <a href="#-feedback-and-contributions">Feedback and Contributions</a> • <a href="#-authors">Authors</a> • <a href="#-license">License</a> </p>
<p align="center">⭐ Star us on GitHub — it motivates us a lot!</p>
🚀 About
SDL3 is still under active development, and the shell follows suit.
For more information on what is currently ready for use, see the <a href="#-readiness">Readiness</a> section.
📚 Documentation
For more information about SDL3, visit the SDL wiki.
📝 Installation
git clone https://github.com/edwardgushchin/SDL3-CS
cd SDL3-CS
dotnet build -c Release
🎓 Examples
using SDL3;
namespace Create_Window;
internal static class Program
{
[STAThread]
private static void Main()
{
if (!SDL.Init(SDL.InitFlags.Video))
{
SDL.LogError(SDL.LogCategory.System, $"SDL could not initialize: {SDL.GetError()}");
return;
}
if (!SDL.CreateWindowAndRenderer("SDL3 Create Window", 800, 600, 0, out var window, out var renderer))
{
SDL.LogError(SDL.LogCategory.Application, $"Error creating window and rendering: {SDL.GetError()}");
return;
}
SDL.SetRenderDrawColor(renderer, 100, 149, 237, 0);
var loop = true;
while (loop)
{
while (SDL.PollEvent(out var e))
{
if (e.Type == SDL.EventType.Quit)
{
loop = false;
}
}
SDL.RenderClear(renderer);
SDL.RenderPresent(renderer);
}
SDL.DestroyRenderer(renderer);
SDL.DestroyWindow(window);
SDL.Quit();
}
}
More examples can be found here.
✅ Readiness
Library | Stage |
---|---|
SDL3 | |
SDL_image | |
SDL_mixer | |
SDL_tff |
🤝 Feedback and Contributions
Do you have an idea or found a bug? Please open an issue or start a discussion.
Please note we have a code of conduct, please follow it in all your interactions with the project.
If you have any feedback, please reach out to us at eduardgushchin@yandex.ru.
We also have a chat in Telegram, where I am ready to answer any of your questions.
💻 Authors
- Eduard Gushchin - Initial work - edwardgushchin
See also the list of contributors who participated in this project.
📃 License
SDL3 and SDL3# are released under the zlib license. See LICENSE for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net7.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
This is a stable bugfix release, with the following changes:
- Fixed mouse motion while the mouse is grabbed on Linux
- Fixed audio gain not applying in some cases
- Fixed a potential crash when applying audio gain
- Removed audio resampling frequency limit
- Fixed a crash on Windows if a tray is created without any menus
- Fixed being able to open BMP files saved with SDL_SaveBMP() on macOS
- Fixed inverted Y axis pen input on macOS
- Allow the window manager to position windows that don't specify a position on Linux