2017-10-13 20:16:31 +08:00
|
|
|
|
#pragma once
|
2017-10-14 01:07:34 +08:00
|
|
|
|
#include "ebase.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace e2d
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
class ENode;
|
|
|
|
|
|
class EMsgManager;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
class EMouseMsg
|
|
|
|
|
|
{
|
|
|
|
|
|
friend EMsgManager;
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
2017-10-14 10:02:15 +08:00
|
|
|
|
enum MOUSE_MSG
|
2017-10-14 01:07:34 +08:00
|
|
|
|
{
|
|
|
|
|
|
MOVE = 0x0200, // <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
|
|
|
|
|
|
LBUTTON_DOWN, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
LBUTTON_UP, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̧<EFBFBD><CCA7>
|
|
|
|
|
|
LBUTTON_DBLCLK, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>
|
|
|
|
|
|
RBUTTON_DOWN, // <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
RBUTTON_UP, // <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD>̧<EFBFBD><CCA7>
|
|
|
|
|
|
RBUTTON_DBLCLK, // <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD>˫<EFBFBD><CBAB>
|
|
|
|
|
|
MBUTTON_DOWN, // <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
MBUTTON_UP, // <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>̧<EFBFBD><CCA7>
|
|
|
|
|
|
MBUTTON_DBLCLK, // <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>˫<EFBFBD><CBAB>
|
|
|
|
|
|
WHEEL // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-17 21:22:25 +08:00
|
|
|
|
static DWORD getPosX();
|
2017-10-14 01:07:34 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-17 21:22:25 +08:00
|
|
|
|
static DWORD getPosY();
|
2017-10-14 01:07:34 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static EPoint getPos();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
static bool isLButtonDown();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
static bool isMButtonDown();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
static bool isRButtonDown();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ Shift <20><><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
static bool isShiftDown();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ Ctrl <20><><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
static bool isCtrlDown();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
static DWORD getWheelDelta();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
static MOUSE_MSG getMsg();
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
UINT m_nMsg = 0;
|
|
|
|
|
|
WPARAM m_wParam = 0;
|
|
|
|
|
|
LPARAM m_lParam = 0;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
2017-10-17 21:22:25 +08:00
|
|
|
|
class EKeyboardMsg
|
2017-10-14 01:07:34 +08:00
|
|
|
|
{
|
|
|
|
|
|
friend EMsgManager;
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>
|
2017-10-14 10:02:15 +08:00
|
|
|
|
enum KEYBOARD_MSG
|
2017-10-14 01:07:34 +08:00
|
|
|
|
{
|
|
|
|
|
|
KEY_DOWN = 0x0100, // <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
KEY_UP // ̧<><CCA7>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|
|
|
|
|
enum class KEY
|
|
|
|
|
|
{
|
|
|
|
|
|
A = '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><C4B8>ֵ
|
|
|
|
|
|
NUM0 = '0', NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, // <20><><EFBFBD>ּ<EFBFBD>ֵ
|
|
|
|
|
|
NUMPAD0 = 0x60, NUMPAD1, NUMPAD2, NUMPAD3, NUMPAD4, NUMPAD5, NUMPAD6, NUMPAD7, NUMPAD8, NUMPAD9, // <20><><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD>̼<EFBFBD>ֵ
|
|
|
|
|
|
F1 = 0x70, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, // F<><46><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
MULTIPLY, // <20>˺ż<CBBA><C5BC><EFBFBD>ֵ
|
|
|
|
|
|
ADD, // <20>Ӻż<D3BA><C5BC><EFBFBD>ֵ
|
|
|
|
|
|
SEPARATOR, // <20>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
SUBTRACT, // <20><><EFBFBD>ż<EFBFBD><C5BC><EFBFBD>ֵ
|
|
|
|
|
|
DECIMAL, // С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
DIVIDE, // <20><><EFBFBD>ż<EFBFBD><C5BC><EFBFBD>ֵ
|
|
|
|
|
|
TAB = 0x09, // TAB <20><><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
ENTER = 0x0D, // <20>س<EFBFBD><D8B3><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
SHIFT, CTRL, // SHIFT <20><><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
ESC = 0x1B, // ESCAPE <20><><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
SPACE = 0x20, // <20>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
PAGE_UP, // PageUp <20><><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
PAGE_DOWN, // PageDown <20><><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
END, // End <20><><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
HOME, // Home <20><><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
LEFT, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
|
UP, // <20>ϼ<EFBFBD><CFBC><EFBFBD>ֵ
|
|
|
|
|
|
RIGHT, // <20>Ҽ<EFBFBD><D2BC><EFBFBD>ֵ
|
|
|
|
|
|
DOWN // <20>¼<EFBFBD><C2BC><EFBFBD>ֵ
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|
|
|
|
|
static KEYBOARD_MSG getMsg();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1>ֵ
|
|
|
|
|
|
static KEY getVal();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
|
static DWORD getCount();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
static bool isKeyDown(
|
|
|
|
|
|
KEY key
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1>Сд<D0A1><D0B4><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
static bool isCapitalLockOn();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
static bool isNumpadLockOn();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
static bool isScrollLockOn();
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
UINT m_nMsg = 0;
|
|
|
|
|
|
WPARAM m_wParam = 0;
|
|
|
|
|
|
LPARAM m_lParam = 0;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
class EListener :
|
|
|
|
|
|
public EObject
|
|
|
|
|
|
{
|
2017-10-14 10:02:15 +08:00
|
|
|
|
friend EMsgManager;
|
|
|
|
|
|
|
2017-10-14 01:07:34 +08:00
|
|
|
|
public:
|
|
|
|
|
|
EListener();
|
|
|
|
|
|
|
|
|
|
|
|
EListener(
|
2017-10-17 21:22:25 +08:00
|
|
|
|
const EString &name
|
2017-10-14 01:07:34 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
bool isRunning() const;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
bool isWaiting() const;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void start();
|
|
|
|
|
|
|
|
|
|
|
|
// ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
|
|
|
|
|
|
void stop();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
EString getName() const;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD>
|
|
|
|
|
|
EScene * getParentScene() const;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽڵ<DABD>
|
|
|
|
|
|
ENode * getParentNode() const;
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void setName(
|
2017-10-17 21:22:25 +08:00
|
|
|
|
const EString &name
|
2017-10-14 01:07:34 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><EFBFBD><F3B6A8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-14 11:40:47 +08:00
|
|
|
|
virtual void bindWith(
|
2017-10-14 01:07:34 +08:00
|
|
|
|
EScene * pParentScene
|
2017-10-14 10:02:15 +08:00
|
|
|
|
) = 0;
|
2017-10-14 01:07:34 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><EFBFBD><F3B6A8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>
|
2017-10-14 11:40:47 +08:00
|
|
|
|
virtual void bindWith(
|
2017-10-14 01:07:34 +08:00
|
|
|
|
ENode * pParentNode
|
2017-10-14 10:02:15 +08:00
|
|
|
|
) = 0;
|
2017-10-14 01:07:34 +08:00
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
protected:
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>״̬
|
|
|
|
|
|
void _wait();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
void _notify();
|
|
|
|
|
|
|
|
|
|
|
|
// ִ<>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _callOn() = 0;
|
2017-10-17 21:22:25 +08:00
|
|
|
|
|
2017-10-14 01:07:34 +08:00
|
|
|
|
protected:
|
|
|
|
|
|
EString m_sName;
|
|
|
|
|
|
bool m_bRunning;
|
|
|
|
|
|
bool m_bWaiting;
|
|
|
|
|
|
EScene * m_pParentScene;
|
|
|
|
|
|
ENode * m_pParentNode;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
class EMouseListener :
|
|
|
|
|
|
public EListener
|
|
|
|
|
|
{
|
2017-10-17 21:22:25 +08:00
|
|
|
|
friend EMsgManager;
|
|
|
|
|
|
|
2017-10-14 01:07:34 +08:00
|
|
|
|
public:
|
|
|
|
|
|
EMouseListener();
|
|
|
|
|
|
|
|
|
|
|
|
EMouseListener(
|
2017-10-17 21:22:25 +08:00
|
|
|
|
const EString &name
|
2017-10-14 01:07:34 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
EMouseListener(
|
|
|
|
|
|
const MOUSE_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
EMouseListener(
|
2017-10-17 21:22:25 +08:00
|
|
|
|
const EString &name,
|
2017-10-14 01:07:34 +08:00
|
|
|
|
const MOUSE_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void setCallback(
|
|
|
|
|
|
const MOUSE_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-14 10:02:15 +08:00
|
|
|
|
// <20><EFBFBD><F3B6A8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual void bindWith(
|
|
|
|
|
|
EScene * pParentScene
|
2017-10-14 11:40:47 +08:00
|
|
|
|
) override;
|
2017-10-14 10:02:15 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><EFBFBD><F3B6A8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>
|
|
|
|
|
|
virtual void bindWith(
|
|
|
|
|
|
ENode * pParentNode
|
2017-10-14 11:40:47 +08:00
|
|
|
|
) override;
|
2017-10-14 10:02:15 +08:00
|
|
|
|
|
2017-10-14 01:07:34 +08:00
|
|
|
|
protected:
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// ִ<>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _callOn() override;
|
2017-10-17 21:22:25 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
MOUSE_LISTENER_CALLBACK m_Callback;
|
2017-10-14 01:07:34 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-15 23:58:39 +08:00
|
|
|
|
// <20><><EFBFBD>갴<EFBFBD><EAB0B4><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
class EMousePressListener :
|
|
|
|
|
|
public EMouseListener
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
EMousePressListener();
|
|
|
|
|
|
|
|
|
|
|
|
EMousePressListener(
|
2017-10-17 21:22:25 +08:00
|
|
|
|
const EString &name
|
2017-10-15 23:58:39 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
EMousePressListener(
|
|
|
|
|
|
const MOUSE_PRESS_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
EMousePressListener(
|
2017-10-17 21:22:25 +08:00
|
|
|
|
const EString &name,
|
2017-10-15 23:58:39 +08:00
|
|
|
|
const MOUSE_PRESS_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void setCallback(
|
|
|
|
|
|
const MOUSE_PRESS_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// ִ<>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _callOn() override;
|
2017-10-17 21:22:25 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
MOUSE_PRESS_LISTENER_CALLBACK m_Callback;
|
2017-10-15 23:58:39 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-14 01:07:34 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
class EMouseClickListener :
|
|
|
|
|
|
public EMouseListener
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
EMouseClickListener();
|
|
|
|
|
|
|
|
|
|
|
|
EMouseClickListener(
|
2017-10-17 21:22:25 +08:00
|
|
|
|
const EString &name
|
2017-10-14 01:07:34 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
EMouseClickListener(
|
|
|
|
|
|
const MOUSE_CLICK_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
EMouseClickListener(
|
2017-10-17 21:22:25 +08:00
|
|
|
|
const EString &name,
|
2017-10-14 01:07:34 +08:00
|
|
|
|
const MOUSE_CLICK_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void setCallback(
|
|
|
|
|
|
const MOUSE_CLICK_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
protected:
|
|
|
|
|
|
// ִ<>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _callOn() override;
|
2017-10-17 21:22:25 +08:00
|
|
|
|
|
2017-10-14 01:07:34 +08:00
|
|
|
|
protected:
|
2017-10-15 23:58:39 +08:00
|
|
|
|
bool m_bPressed;
|
2017-10-17 21:22:25 +08:00
|
|
|
|
MOUSE_CLICK_LISTENER_CALLBACK m_Callback;
|
2017-10-14 01:07:34 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-15 23:58:39 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
class EMouseDoubleClickListener :
|
|
|
|
|
|
public EMouseListener
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
EMouseDoubleClickListener();
|
|
|
|
|
|
|
|
|
|
|
|
EMouseDoubleClickListener(
|
2017-10-17 21:22:25 +08:00
|
|
|
|
const EString &name
|
2017-10-15 23:58:39 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
EMouseDoubleClickListener(
|
|
|
|
|
|
const MOUSE_DBLCLK_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
EMouseDoubleClickListener(
|
2017-10-17 21:22:25 +08:00
|
|
|
|
const EString &name,
|
2017-10-15 23:58:39 +08:00
|
|
|
|
const MOUSE_DBLCLK_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void setCallback(
|
|
|
|
|
|
const MOUSE_DBLCLK_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
protected:
|
|
|
|
|
|
// ִ<>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _callOn() override;
|
2017-10-17 21:22:25 +08:00
|
|
|
|
|
2017-10-15 23:58:39 +08:00
|
|
|
|
protected:
|
|
|
|
|
|
bool m_bPressed;
|
2017-10-17 21:22:25 +08:00
|
|
|
|
MOUSE_DBLCLK_LISTENER_CALLBACK m_Callback;
|
2017-10-15 23:58:39 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-14 01:07:34 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><CFB6><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-15 23:58:39 +08:00
|
|
|
|
class EMouseDragListener :
|
2017-10-14 01:07:34 +08:00
|
|
|
|
public EMouseListener
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
2017-10-15 23:58:39 +08:00
|
|
|
|
EMouseDragListener();
|
2017-10-14 01:07:34 +08:00
|
|
|
|
|
2017-10-15 23:58:39 +08:00
|
|
|
|
EMouseDragListener(
|
2017-10-17 21:22:25 +08:00
|
|
|
|
const EString &name
|
2017-10-14 01:07:34 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-15 23:58:39 +08:00
|
|
|
|
EMouseDragListener(
|
2017-10-14 01:07:34 +08:00
|
|
|
|
const MOUSE_DRAG_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-15 23:58:39 +08:00
|
|
|
|
EMouseDragListener(
|
2017-10-17 21:22:25 +08:00
|
|
|
|
const EString &name,
|
2017-10-14 01:07:34 +08:00
|
|
|
|
const MOUSE_DRAG_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void setCallback(
|
|
|
|
|
|
const MOUSE_DRAG_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
protected:
|
|
|
|
|
|
// ִ<>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _callOn() override;
|
2017-10-17 21:22:25 +08:00
|
|
|
|
|
2017-10-14 01:07:34 +08:00
|
|
|
|
protected:
|
2017-10-15 23:58:39 +08:00
|
|
|
|
EPoint m_Begin;
|
2017-10-17 21:22:25 +08:00
|
|
|
|
MOUSE_DRAG_LISTENER_CALLBACK m_Callback;
|
2017-10-14 01:07:34 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
class EKeyboardListener :
|
|
|
|
|
|
public EListener
|
|
|
|
|
|
{
|
2017-10-17 21:22:25 +08:00
|
|
|
|
friend EMsgManager;
|
|
|
|
|
|
|
2017-10-14 01:07:34 +08:00
|
|
|
|
public:
|
|
|
|
|
|
EKeyboardListener();
|
|
|
|
|
|
|
|
|
|
|
|
EKeyboardListener(
|
2017-10-17 21:22:25 +08:00
|
|
|
|
const EString &name
|
2017-10-14 01:07:34 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
EKeyboardListener(
|
|
|
|
|
|
const KEY_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
EKeyboardListener(
|
2017-10-17 21:22:25 +08:00
|
|
|
|
const EString &name,
|
2017-10-14 01:07:34 +08:00
|
|
|
|
const KEY_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void setCallback(
|
|
|
|
|
|
const KEY_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-14 10:02:15 +08:00
|
|
|
|
// <20><EFBFBD><F3B6A8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-14 11:40:47 +08:00
|
|
|
|
virtual void bindWith(
|
2017-10-14 10:02:15 +08:00
|
|
|
|
EScene * pParentScene
|
2017-10-14 11:40:47 +08:00
|
|
|
|
) override;
|
2017-10-14 10:02:15 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><EFBFBD><F3B6A8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>
|
2017-10-14 11:40:47 +08:00
|
|
|
|
virtual void bindWith(
|
2017-10-14 10:02:15 +08:00
|
|
|
|
ENode * pParentNode
|
2017-10-14 11:40:47 +08:00
|
|
|
|
) override;
|
2017-10-14 10:02:15 +08:00
|
|
|
|
|
2017-10-14 01:07:34 +08:00
|
|
|
|
protected:
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// ִ<>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _callOn() override;
|
2017-10-17 21:22:25 +08:00
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
KEY_LISTENER_CALLBACK m_Callback;
|
2017-10-14 01:07:34 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
2017-10-17 21:22:25 +08:00
|
|
|
|
class EKeyboardPressListener :
|
2017-10-14 01:07:34 +08:00
|
|
|
|
public EKeyboardListener
|
|
|
|
|
|
{
|
2017-10-17 21:22:25 +08:00
|
|
|
|
friend EMsgManager;
|
|
|
|
|
|
|
2017-10-14 01:07:34 +08:00
|
|
|
|
public:
|
2017-10-17 21:22:25 +08:00
|
|
|
|
EKeyboardPressListener();
|
2017-10-14 01:07:34 +08:00
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
EKeyboardPressListener(
|
|
|
|
|
|
const EString &name
|
2017-10-14 01:07:34 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
EKeyboardPressListener(
|
2017-10-14 01:07:34 +08:00
|
|
|
|
const KEY_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
EKeyboardPressListener(
|
|
|
|
|
|
const EString &name,
|
2017-10-14 01:07:34 +08:00
|
|
|
|
const KEY_LISTENER_CALLBACK &callback
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
protected:
|
2017-10-14 01:07:34 +08:00
|
|
|
|
// ִ<>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-19 00:50:04 +08:00
|
|
|
|
virtual void _callOn() override;
|
2017-10-14 01:07:34 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
class EMsgManager
|
|
|
|
|
|
{
|
|
|
|
|
|
friend EApp;
|
2017-10-17 21:22:25 +08:00
|
|
|
|
friend EScene;
|
|
|
|
|
|
friend ENode;
|
2017-10-14 01:07:34 +08:00
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-17 21:22:25 +08:00
|
|
|
|
static void bindListener(
|
2017-10-14 01:07:34 +08:00
|
|
|
|
EMouseListener * listener,
|
|
|
|
|
|
EScene * pParentScene
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>
|
|
|
|
|
|
static void bindListener(
|
|
|
|
|
|
EMouseListener * listener,
|
|
|
|
|
|
ENode * pParentNode
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void startMouseListeners(
|
|
|
|
|
|
const EString &name
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void stopMouseListeners(
|
|
|
|
|
|
const EString &name
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void delMouseListeners(
|
|
|
|
|
|
const EString &name
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽڵ<D3BD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void startAllMouseListenersBindedWith(
|
2017-10-14 01:07:34 +08:00
|
|
|
|
EScene * pParentScene
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽڵ<D3BD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void stopAllMouseListenersBindedWith(
|
|
|
|
|
|
EScene * pParentScene
|
2017-10-14 10:02:15 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽڵ<D3BD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void clearAllMouseListenersBindedWith(
|
|
|
|
|
|
EScene * pParentScene
|
2017-10-14 10:02:15 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽڵ<DABD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void startAllMouseListenersBindedWith(
|
|
|
|
|
|
ENode * pParentNode
|
2017-10-14 01:07:34 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD>ڽڵ<DABD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void stopAllMouseListenersBindedWith(
|
|
|
|
|
|
ENode * pParentNode
|
2017-10-14 01:07:34 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽڵ<DABD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void clearAllMouseListenersBindedWith(
|
|
|
|
|
|
ENode * pParentNode
|
2017-10-14 01:07:34 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-17 21:22:25 +08:00
|
|
|
|
static void startAllMouseListeners();
|
2017-10-14 01:07:34 +08:00
|
|
|
|
|
|
|
|
|
|
// ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2017-10-17 21:22:25 +08:00
|
|
|
|
static void stopAllMouseListeners();
|
2017-10-14 01:07:34 +08:00
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void clearAllMouseListeners();
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><EFBFBD><F3B6A8B0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void bindListener(
|
|
|
|
|
|
EKeyboardListener * listener,
|
|
|
|
|
|
EScene * pParentScene
|
|
|
|
|
|
);
|
2017-10-14 01:07:34 +08:00
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><EFBFBD><F3B6A8B0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>
|
|
|
|
|
|
static void bindListener(
|
|
|
|
|
|
EKeyboardListener * listener,
|
|
|
|
|
|
ENode * pParentNode
|
|
|
|
|
|
);
|
2017-10-14 01:07:34 +08:00
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void startKeyboardListeners(
|
|
|
|
|
|
const EString &name
|
|
|
|
|
|
);
|
2017-10-14 01:07:34 +08:00
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void stopKeyboardListeners(
|
|
|
|
|
|
const EString &name
|
2017-10-14 01:07:34 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void delKeyboardListeners(
|
|
|
|
|
|
const EString &name
|
2017-10-14 01:07:34 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽڵ<D3BD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void startAllKeyboardListenersBindedWith(
|
2017-10-14 01:07:34 +08:00
|
|
|
|
EScene * pParentScene
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽڵ<D3BD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void stopAllKeyboardListenersBindedWith(
|
2017-10-14 01:07:34 +08:00
|
|
|
|
EScene * pParentScene
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽڵ<D3BD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void clearAllKeyboardListenersBindedWith(
|
2017-10-14 01:07:34 +08:00
|
|
|
|
EScene * pParentScene
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽڵ<DABD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void startAllKeyboardListenersBindedWith(
|
|
|
|
|
|
ENode * pParentNode
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD>ڽڵ<DABD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void stopAllKeyboardListenersBindedWith(
|
|
|
|
|
|
ENode * pParentNode
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽڵ<DABD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void clearAllKeyboardListenersBindedWith(
|
|
|
|
|
|
ENode * pParentNode
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void startAllKeyboardListeners();
|
|
|
|
|
|
|
|
|
|
|
|
// ֹͣ<CDA3><D6B9><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void stopAllKeyboardListeners();
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void clearAllKeyboardListeners();
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void _waitAllMouseListenersBindedWith(
|
2017-10-14 01:07:34 +08:00
|
|
|
|
EScene * pParentScene
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void _notifyAllMouseListenersBindedWith(
|
2017-10-14 01:07:34 +08:00
|
|
|
|
EScene * pParentScene
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽڵ<DABD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void _waitAllMouseListenersBindedWith(
|
2017-10-14 01:07:34 +08:00
|
|
|
|
ENode * pParentNode
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽڵ<DABD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void _notifyAllMouseListenersBindedWith(
|
|
|
|
|
|
ENode * pParentNode
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽڵ<D3BD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void _waitAllKeyboardListenersBindedWith(
|
|
|
|
|
|
EScene * pParentScene
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽڵ<D3BD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void _notifyAllKeyboardListenersBindedWith(
|
|
|
|
|
|
EScene * pParentScene
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽڵ<DABD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void _waitAllKeyboardListenersBindedWith(
|
2017-10-14 01:07:34 +08:00
|
|
|
|
ENode * pParentNode
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽڵ<DABD><DAB5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
static void _notifyAllKeyboardListenersBindedWith(
|
2017-10-14 01:07:34 +08:00
|
|
|
|
ENode * pParentNode
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
2017-10-14 01:07:34 +08:00
|
|
|
|
static void MouseProc(
|
|
|
|
|
|
UINT message,
|
|
|
|
|
|
WPARAM wParam,
|
|
|
|
|
|
LPARAM lParam
|
|
|
|
|
|
);
|
|
|
|
|
|
|
2017-10-17 21:22:25 +08:00
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
2017-10-14 01:07:34 +08:00
|
|
|
|
static void KeyboardProc(
|
|
|
|
|
|
UINT message,
|
|
|
|
|
|
WPARAM wParam,
|
|
|
|
|
|
LPARAM lParam
|
|
|
|
|
|
);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
2017-10-13 20:16:31 +08:00
|
|
|
|
}
|