/********************************************************************
*
* File: fsCInputManager.h
*
* Purpose: bgfx (GLFW) input manager impl
*
*********************************************************************/
#ifndef fsCInputManagerhdr
#define fsCInputManagerhdr
#include <map>
#include "../../fsIInputManager.h"
struct GLFWwindow;
class fsCInputManager : public fsIInputManager
{
friend class fsIInputManager;
public:
fsS32 pointerTypeGet() const override;
fsBool hasPhysicalKeyboardGet() const override;
protected:
void pollKeys() override;
virtual void stolenInputDo()
{
}
void initialiseDo() override;
void uninitialiseDo() override;
fsCInputManager();
virtual ~fsCInputManager();<--- Destructor in derived class
private:
static void charEvent(GLFWwindow* pWindow, unsigned int pCodepoint);
fsBool keyDecodeDo(fsS32& pKeyCode) override;
void keyboardListenerCreate();
std::map<fsS32, fsS64> mKeysDown;
fsF32 mLastPosX = 0;
fsF32 mLastPosY = 0;
fsBool mMouseButtonDown = false;
};
#endif