Add SDL2 backend

This commit is contained in:
Magnus Norddahl 2024-01-02 00:37:24 +01:00
commit e44fcb17cc
4 changed files with 733 additions and 1 deletions

View file

@ -41,7 +41,7 @@ void DisplayWindow::StopTimer(void* timerID)
Win32Window::StopTimer(timerID);
}
#else
#elif defined(__APPLE__)
std::unique_ptr<DisplayWindow> DisplayWindow::Create(DisplayWindowHost* windowHost)
{
@ -78,4 +78,43 @@ void DisplayWindow::StopTimer(void* timerID)
throw std::runtime_error("DisplayWindow::StopTimer not implemented");
}
#else
#include "sdl2/sdl2displaywindow.h"
std::unique_ptr<DisplayWindow> DisplayWindow::Create(DisplayWindowHost* windowHost)
{
return std::make_unique<SDL2DisplayWindow>(windowHost);
}
void DisplayWindow::ProcessEvents()
{
SDL2DisplayWindow::ProcessEvents();
}
void DisplayWindow::RunLoop()
{
SDL2DisplayWindow::RunLoop();
}
void DisplayWindow::ExitLoop()
{
SDL2DisplayWindow::ExitLoop();
}
Size DisplayWindow::GetScreenSize()
{
return SDL2DisplayWindow::GetScreenSize();
}
void* DisplayWindow::StartTimer(int timeoutMilliseconds, std::function<void()> onTimer)
{
return SDL2DisplayWindow::StartTimer(timeoutMilliseconds, std::move(onTimer));
}
void DisplayWindow::StopTimer(void* timerID)
{
SDL2DisplayWindow::StopTimer(timerID);
}
#endif