Files
Tower-Defense2/include/td/input/Display.h
2025-07-30 17:52:54 +02:00

48 lines
734 B
C++

#pragma once
#include <string>
#include <SDL3/SDL_video.h>
#include <SDL3/SDL_keycode.h>
#include <td/misc/Signal.h>
namespace td {
class Display {
public:
utils::Signal<float> OnAspectRatioChange;
utils::Signal<SDL_Keycode> OnKeyDown;
Display(int a_Width, int a_Height, const std::string& a_Title);
~Display();
void PollEvents();
void Update();
bool IsCloseRequested() {
return m_ShouldClose;
}
float GetAspectRatio() {
return m_AspectRatio;
}
int GetWindowWidth() {
return m_LastWidth;
}
int GetWindowHeight() {
return m_LastHeight;
}
private:
SDL_Window* m_Window;
SDL_GLContext m_GLContext;
int m_LastWidth, m_LastHeight;
float m_AspectRatio;
bool m_ShouldClose;
};
} // namespace td