2013-09-14 20:20:57 +02:00
|
|
|
#pragma once
|
|
|
|
|
#include "MouseHandler.h"
|
|
|
|
|
|
2014-08-24 21:42:19 +04:00
|
|
|
class MouseManager
|
2013-09-14 20:20:57 +02:00
|
|
|
{
|
|
|
|
|
bool m_inited;
|
2014-03-31 20:02:27 -04:00
|
|
|
std::unique_ptr<MouseHandlerBase> m_mouse_handler;
|
2013-09-14 20:20:57 +02:00
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
MouseManager();
|
|
|
|
|
~MouseManager();
|
|
|
|
|
|
|
|
|
|
void Init(const u32 max_connect);
|
|
|
|
|
void Close();
|
|
|
|
|
|
2014-03-31 10:18:44 -04:00
|
|
|
std::vector<Mouse>& GetMice() { return m_mouse_handler->GetMice(); }
|
2013-09-14 20:20:57 +02:00
|
|
|
MouseInfo& GetInfo() { return m_mouse_handler->GetInfo(); }
|
2014-08-28 05:18:35 +04:00
|
|
|
MouseData& GetData(const u32 mouse) { return m_mouse_handler->GetData(mouse); }
|
|
|
|
|
MouseRawData& GetRawData(const u32 mouse) { return m_mouse_handler->GetRawData(mouse); }
|
2013-09-14 20:20:57 +02:00
|
|
|
|
2014-03-24 08:47:30 -04:00
|
|
|
bool IsInited() const { return m_inited; }
|
2014-08-24 21:42:19 +04:00
|
|
|
};
|
2013-09-14 20:20:57 +02:00
|
|
|
|
2014-08-24 21:42:19 +04:00
|
|
|
typedef int(*GetMouseHandlerCountCb)();
|
|
|
|
|
typedef MouseHandlerBase*(*GetMouseHandlerCb)(int i);
|
|
|
|
|
|
|
|
|
|
void SetGetMouseHandlerCountCallback(GetMouseHandlerCountCb cb);
|
|
|
|
|
void SetGetMouseHandlerCallback(GetMouseHandlerCb cb);
|