112 lines
2.6 KiB
C
112 lines
2.6 KiB
C
|
|
#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
|