Code: Select all
while(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
switch(msg.message)
{
case WM_MOUSEMOVE:
CEGUI::System::getSingleton().injectMousePosition(LOWORD(msg.lParam),HIWORD(msg.lParam));
break;
case WM_KEYDOWN:
if(msg.wParam==VK_ESCAPE)
run=false;
CEGUI::System::getSingleton().injectKeyDown(MapVirtualKey(msg.wParam,0));
break;
case WM_KEYUP:
CEGUI::System::getSingleton().injectKeyUp(MapVirtualKey(msg.wParam,0));
break;
case WM_CHAR:
CEGUI::System::getSingleton().injectChar(msg.wParam);
break;
case WM_LBUTTONDOWN:
CEGUI::System::getSingleton().injectMouseButtonDown(CEGUI::MouseButton::LeftButton);
break;
case WM_LBUTTONUP:
CEGUI::System::getSingleton().injectMouseButtonUp(CEGUI::MouseButton::LeftButton);
break;
case WM_RBUTTONDOWN:
CEGUI::System::getSingleton().injectMouseButtonDown(CEGUI::MouseButton::RightButton);
break;
case WM_RBUTTONUP:
CEGUI::System::getSingleton().injectMouseButtonUp(CEGUI::MouseButton::RightButton);
break;
case WM_MBUTTONDOWN:
CEGUI::System::getSingleton().injectMouseButtonDown(CEGUI::MouseButton::MiddleButton);
break;
case WM_MBUTTONUP:
CEGUI::System::getSingleton().injectMouseButtonUp(CEGUI::MouseButton::MiddleButton);
break;
case WM_MOUSEWHEEL:
CEGUI::System::getSingleton().injectMouseWheelChange(GET_WHEEL_DELTA_WPARAM(msg.wParam));
break;
case WM_MOUSELEAVE:
CEGUI::System::getSingleton().injectMouseLeaves();
break;
default:
break;
}
DispatchMessage(&msg);
}