Magic_Game/Easy2D/e2dmsg.h

112 lines
2.6 KiB
C
Raw Normal View History

2017-09-27 17:56:28 +08:00
#pragma once
#include <e2dbase.h>
namespace easy2d
{
class MouseMsg
{
friend class App;
public:
MouseMsg();
MouseMsg(tstring name, const MOUSE_CALLBACK& callback);
~MouseMsg();
// <20><><EFBFBD>Ӽ<EFBFBD><D3BC>̼<EFBFBD><CCBC><EFBFBD>
static void addListener(tstring name, const MOUSE_CALLBACK& callback);
// ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD>
static bool delListener(tstring name);
// ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC>̼<EFBFBD><CCBC><EFBFBD>
static void clearAllListeners();
// <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
static bool isLButtonDown();
// <20>Ҽ<EFBFBD><D2BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
static bool isRButtonDown();
// <20>м<EFBFBD><D0BC>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
static bool isMButtonDown();
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
static int getX();
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD>
static int getY();
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
static CPoint getPos();
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
static int getWheel();
// <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>Ϣ
static bool isOnMouseMoved();
// <20><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD>Ϣ
static bool isOnLButtonDBClicked();
// <20>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
static bool isOnLButtonDown();
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
static bool isOnLButtonUp();
// <20>Ҽ<EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD>Ϣ
static bool isOnRButtonDBClicked();
// <20>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
static bool isOnRButtonDown();
// <20>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
static bool isOnRButtonUp();
// <20>м<EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD>Ϣ
static bool isOnMButtonDBClicked();
// <20>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
static bool isOnMButtonDown();
// <20>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
static bool isOnMButtonUp();
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD>Ϣ
static bool isOnWheel();
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
static void resetMouseMsg();
private:
static void __exec();
protected:
tstring m_sName;
MOUSE_CALLBACK m_callback;
protected:
// ִ<>лص<D0BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
void onMouseMsg();
};
class KeyMsg
{
friend class App;
public:
KeyMsg(tstring name, const KEY_CALLBACK& callback);
~KeyMsg();
// ִ<>лص<D0BB><D8B5><EFBFBD><EFBFBD><EFBFBD>
void onKbHit(VK_KEY key);
// <20><><EFBFBD>Ӽ<EFBFBD><D3BC>̼<EFBFBD><CCBC><EFBFBD>
static void addListener(tstring name, const KEY_CALLBACK& callback);
// ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD>̼<EFBFBD><CCBC><EFBFBD>
static bool delListener(tstring name);
// ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC>̼<EFBFBD><CCBC><EFBFBD>
static void clearAllListeners();
// <20>жϼ<D0B6><CFBC>Ƿ񱻰<C7B7><F1B1BBB0>£<EFBFBD><C2A3><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>true
static bool isKeyDown(VK_KEY key);
public:
// <20><>ĸ<EFBFBD><C4B8>ֵ
static const VK_KEY A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z;
// <20><><EFBFBD>ּ<EFBFBD>ֵ
static const VK_KEY NUM_1, NUM_2, NUM_3, NUM_4, NUM_5, NUM_6, NUM_7, NUM_8, NUM_9, NUM_0;
// С<><D0A1><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>ֵ
static const VK_KEY NUMPAD_1, NUMPAD_2, NUMPAD_3, NUMPAD_4, NUMPAD_5, NUMPAD_6, NUMPAD_7, NUMPAD_8, NUMPAD_9, NUMPAD_0;
// <20><><EFBFBD>Ƽ<EFBFBD>ֵ
static const VK_KEY Enter, Space, Up, Down, Left, Right, Esc, Shift, LShift, RShift, Ctrl, LCtrl, RCtrl;
// F <20><>ֵ
static const VK_KEY F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12;
private:
static void __exec();
protected:
tstring m_sName;
KEY_CALLBACK m_callback;
};
} // End of easy2d namespace