Files
XCEngine/MVS/Music fluctuations/source/myinput/Input.h

40 lines
987 B
C
Raw Normal View History

#pragma once
#include<Windows.h>
#include"../event/Event.h"
#include"DKey.h"
#include<iostream>
class Input
{
public:
Input();
~Input();
void HandelInput(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
void HandelMouseInput(int p_x, int p_y);
bool IsKeyDown(dKey p_key);
void ClearEvents();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>BUG<55><47><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
std::pair<int, int>GetMousePosition() { return m_mousePosition; };
private:
void OnKeyDown(int p_key);
void OnKeyUp(int p_key);
void OnMouseButtonDown(int p_mouseButton);
void OnMouseButtonUp(int p_mouseButton);
void OnMouseMove(int p_x, int p_y);
public:
Event<int> KeyDown;
Event<int> KeyUp;
Event<int> MouseButtonDown;
Event<int> MouseButtonUp;
Event<int, int> MouseMoving;//<2F><>position
Event<int, int> MouseMove;//<2F><>delta position
private:
std::vector<dKey> downKeys;
std::pair<int, int> m_mousePosition;
ListenerID keyDownID;
ListenerID keyUpID;
ListenerID mouseButtonDownID;
ListenerID mouseButtonUpID;
ListenerID mouseMovingID;
};