38 [[
nodiscard]] std::expected<Options, std::string>
42 const Options& options)
noexcept;
45 const Options& options)
noexcept;
47 [[
nodiscard]] std::expected<void, std::string>
52 [[
nodiscard]] std::expected<void, std::string>
68 [[
nodiscard]] std::expected<SDL_GPUPresentMode, std::string>
86 Uint64 sampleStartNanoseconds_{};
87 std::uint32_t sampleFrames_{};
88 double lastFramesPerSecond_{};
double lastFramesPerSecond() const noexcept
void framePresented() noexcept
std::expected< Options, std::string > parseArguments(std::span< const std::string_view > arguments)
std::expected< void, std::string > configureWindow(SDL_Window *window, const Options &options)
std::string_view presentModeName(PresentMode mode) noexcept
std::string_view windowModeName(WindowMode mode) noexcept
std::expected< SDL_GPUPresentMode, std::string > configureSwapchain(SDL_GPUDevice *device, SDL_Window *window, PresentMode requested)
std::pair< int, int > initialWindowSize(const Options &options) noexcept
SDL_WindowFlags windowFlags(const Options &options) noexcept
SDL_GPUPresentMode toSDLPresentMode(PresentMode mode) noexcept
std::expected< void, std::string > toggleBorderlessFullscreen(SDL_Window *window, const Options &options)
std::vector< std::string_view > remaining