KumiScript/renderer/sdl/SDLRenderer.cs

30 lines
721 B
C#

using SDL2;
namespace KumiScript.Renderer
{
public class SDLRenderer : IDisposable
{
internal readonly nint id;
internal SDLRenderer(SDLWindow window)
{
id = SDL.SDL_CreateRenderer(window.Id, -1, SDL.SDL_RendererFlags.SDL_RENDERER_ACCELERATED | SDL.SDL_RendererFlags.SDL_RENDERER_PRESENTVSYNC);
if (id == 0)
throw new Exception("Failed to create renderer!");
}
public void Clear()
{
SDL.SDL_RenderClear(id);
}
public void Dispose()
{
SDL.SDL_DestroyRenderer(id);
}
public void SwapBuffers()
{
SDL.SDL_RenderPresent(id);
}
}
}