87 lines
1.4 KiB
C++
87 lines
1.4 KiB
C++
|
|
#include "..\etools.h"
|
||
|
|
#include "..\Win\winbase.h"
|
||
|
|
#include <vector>
|
||
|
|
|
||
|
|
static POINT p;
|
||
|
|
static e2d::EMouseMsg mouseMsg;
|
||
|
|
|
||
|
|
std::vector<e2d::EMouseListener*> m_vMouseListeners;
|
||
|
|
|
||
|
|
void e2d::EMsgManager::setMouseMsg(UINT message)
|
||
|
|
{
|
||
|
|
mouseMsg.m_nMsg = message;
|
||
|
|
|
||
|
|
switch (message)
|
||
|
|
{
|
||
|
|
case WM_LBUTTONUP:
|
||
|
|
mouseMsg.m_bLButtonDown = false;
|
||
|
|
break;
|
||
|
|
|
||
|
|
case WM_LBUTTONDOWN:
|
||
|
|
mouseMsg.m_bLButtonDown = true;
|
||
|
|
break;
|
||
|
|
|
||
|
|
case WM_LBUTTONDBLCLK:
|
||
|
|
mouseMsg.m_bLButtonDown = true;
|
||
|
|
break;
|
||
|
|
|
||
|
|
case WM_MBUTTONUP:
|
||
|
|
mouseMsg.m_bMButtonDown = false;
|
||
|
|
break;
|
||
|
|
|
||
|
|
case WM_MBUTTONDOWN:
|
||
|
|
mouseMsg.m_bMButtonDown = true;
|
||
|
|
break;
|
||
|
|
|
||
|
|
case WM_MBUTTONDBLCLK:
|
||
|
|
mouseMsg.m_bMButtonDown = true;
|
||
|
|
break;
|
||
|
|
|
||
|
|
case WM_RBUTTONUP:
|
||
|
|
mouseMsg.m_bRButtonDown = false;
|
||
|
|
break;
|
||
|
|
|
||
|
|
case WM_RBUTTONDOWN:
|
||
|
|
mouseMsg.m_bRButtonDown = true;
|
||
|
|
break;
|
||
|
|
|
||
|
|
case WM_RBUTTONDBLCLK:
|
||
|
|
mouseMsg.m_bRButtonDown = true;
|
||
|
|
break;
|
||
|
|
|
||
|
|
case WM_MOUSEMOVE:
|
||
|
|
{
|
||
|
|
GetCursorPos(&p);
|
||
|
|
ScreenToClient(GetHWnd(), &p);
|
||
|
|
mouseMsg.m_Pos = p;
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
|
||
|
|
case WM_MOUSEWHEEL:
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
|
||
|
|
for (auto mlistener : m_vMouseListeners)
|
||
|
|
{
|
||
|
|
//mlistener->
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
e2d::EMouseMsg::MESSAGE e2d::EMsgManager::getMouseMsg()
|
||
|
|
{
|
||
|
|
return e2d::EMouseMsg::MESSAGE(mouseMsg.m_nMsg);
|
||
|
|
}
|
||
|
|
|
||
|
|
void e2d::EMsgManager::addListener(e2d::EMouseListener * listener)
|
||
|
|
{
|
||
|
|
if (listener)
|
||
|
|
{
|
||
|
|
listener->retain();
|
||
|
|
m_vMouseListeners.push_back(listener);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
void e2d::EMsgManager::__exec()
|
||
|
|
{
|
||
|
|
}
|