34 lines
561 B
C++
34 lines
561 B
C++
#pragma once
|
|
#ifndef H_INPUT_
|
|
#define H_INPUT_
|
|
|
|
#include <cstddef>
|
|
|
|
class InputHandlerImpl {
|
|
public:
|
|
InputHandlerImpl() = default;
|
|
virtual ~InputHandlerImpl() = default;
|
|
|
|
public:
|
|
virtual size_t GetMouseX() = 0;
|
|
virtual size_t GetMouseY() = 0;
|
|
};
|
|
|
|
class InputHandler {
|
|
public:
|
|
static InputHandler* GetInstance() {
|
|
if (!s_instance) s_instance = new InputHandler;
|
|
return s_instance;
|
|
}
|
|
private:
|
|
InputHandler();
|
|
public:
|
|
size_t GetMouseX();
|
|
size_t GetMouseY();
|
|
private:
|
|
static InputHandler* s_instance;
|
|
InputHandlerImpl* m_impl;
|
|
};
|
|
|
|
#endif // H_INPUT_
|