10 Input(
const Input&) =
delete;
11 Input& operator=(
const Input&) =
delete;
13 inline static bool IsKeyPressed(
int keycode) {
return s_Instance->IsKeyPressedImpl(keycode); }
14 inline static bool IsMouseButtonPressed(
int button) {
return s_Instance->IsMouseButtonPressedImpl(button); }
15 inline static std::pair<float, float> GetMousePosition() {
return s_Instance->GetMousePositionImpl(); }
16 inline static float GetMouseX() {
return s_Instance->GetMouseXImpl(); }
17 inline static float GetMouseY() {
return s_Instance->GetMouseYImpl(); }
21 virtual bool IsKeyPressedImpl(
int keycode) = 0;
22 virtual bool IsMouseButtonPressedImpl(
int button) = 0;
23 virtual std::pair<float, float> GetMousePositionImpl() = 0;
24 virtual float GetMouseXImpl() = 0;
25 virtual float GetMouseYImpl() = 0;
27 static Scope<Input> s_Instance;