33#ifndef DVD_CORE_APPLICATION_H_
34#define DVD_CORE_APPLICATION_H_
43struct SizeChangeParams;
77 "RESTART AND CLEAR CACHE",
79 "STOP AND CLEAR CACHE",
143 [[nodiscard]]
bool onSDLEvent( SDL_Event event ) noexcept override;
189 static
void Reset() noexcept;
Class that provides an interface between our framework and the OS (start/stop, display support,...
bool mainLoopActive() const
bool onSDLEvent(SDL_Event event) noexcept override
bool mainLoopPaused() const
bool RestartRequested() const noexcept
std::atomic_bool _freezeRendering
std::atomic_bool _mainLoopPaused
std::unique_ptr< Kernel > _kernel
void CancelShutdown() noexcept
std::atomic_bool _stepLoop
void stop(const AppStepResult stepResult)
WindowManager & windowManager() noexcept
bool onResolutionChange(const SizeChangeParams ¶ms) const
ErrorCode start(const string &entryPoint, I32 argc, char **argv)
bool freezeRendering() const
void RequestRestart(bool clearCache) noexcept
std::atomic_bool _mainLoopActive
bool ShutdownRequested() const noexcept
ErrorCode setRenderingAPI(const RenderAPI api)
WindowManager _windowManager
bool onProfilerStateChanged(Profiler::State state)
bool onWindowSizeChange(const SizeChangeParams ¶ms) const
void RequestShutdown(bool clearCache) noexcept
std::atomic_bool _requestShutdown
std::atomic_bool _requestRestart
void CancelRestart() noexcept
ErrorCode errorCode() const noexcept
Time::ApplicationTimer & timer() noexcept
static ErrorCode SetRenderingAPI(Application &app, const RenderAPI api)
static bool onProfilerStateChanged(Application *app, const Profiler::State state)
static void Reset() noexcept
static void MaxMSAASamples(const U8 maxSampleCount) noexcept
static void RegisterDisplayMode(const U8 displayIndex, const DisplayManager::OutputDisplayProperties &mode)
static void SetActiveDisplayCount(const U8 displayCount)
OpenGL implementation of the RenderAPIWrapper.
The kernel is the main system that connects all of our various systems: windows, gfx,...
static const char * appStepResult[]
const char * AppStepResultToString(const AppStepResult err) noexcept
Handle console commands that start with a forward slash.
eastl::vector< Type > vector
constexpr auto to_base(const Type value) -> Type
U8 _maxRefreshRate
As returned by SDL_GetPixelFormatName.
vector< OutputDisplayProperties > OutputDisplayPropertiesContainer
static void SetActiveDisplayCount(const U8 displayCount)
static U8 ActiveDisplayCount() noexcept
static void RegisterDisplayMode(const U8 displayIndex, const OutputDisplayProperties &mode)
static U8 MaxMSAASamples() noexcept
static U8 s_activeDisplayCount
static const OutputDisplayPropertiesContainer & GetDisplayModes(const size_t displayIndex) noexcept
static std::array< OutputDisplayPropertiesContainer, g_maxDisplayOutputs > s_supportedDisplayModes
static constexpr U8 g_maxDisplayOutputs
static U8 s_maxMSAASAmples
static void Reset() noexcept