← API Reference Class

asge::video::VideoSystem

#include <VideoSystem.hpp>

Private Attributes

#std::unique_ptr< IWindow > m_Windowprivate
#std::unique_ptr< IRenderer > m_Rendererprivate
#bool m_BackendInitialized {false}private

Public Member Functions

#~VideoSystem()
#BoolResult Initialize(std::string const &inTitle, int inWidth, int inHeight, GraphicsBackend inBackend=GraphicsBackend::SDL, bool inResizable=false)

Initialize the video system.

Initialize the window system by bringing up the given graphics backend and creating the main window and renderer for it.

Parameters
inTitle

The title of the window

inWidth

The width of the window

inHeight

The height of the window

inBackend

The graphics backend to initialize (defaults to SDL)

inResizable

Whether the window can be resized by the user (defaults to false, matching every existing consumer's fixed-size behavior asge-editor is the one caller that opts in). IRenderer's viewport is NOT kept in sync with the window automatically; a resizable window's caller must update it on SDL_EVENT_WINDOW_RESIZED itself (see IRenderer:: SetViewport).

#void Shutdown()
#IRenderer & GetRenderer()
#IRenderer const & GetRenderer() const
#IWindow & GetWindow()
#IWindow const & GetWindow() const