mirror of
https://github.com/scratchfoundation/bgfx.git
synced 2025-02-26 16:44:00 -05:00
WIP key&mouse support.
This commit is contained in:
parent
a2057d65aa
commit
91446e05a4
5 changed files with 178 additions and 146 deletions
|
@ -12,6 +12,7 @@ namespace entry
|
|||
{
|
||||
enum Enum
|
||||
{
|
||||
None,
|
||||
Left,
|
||||
Middle,
|
||||
Right,
|
||||
|
@ -144,6 +145,7 @@ namespace entry
|
|||
int32_t m_my;
|
||||
MouseButton::Enum m_button;
|
||||
bool m_down;
|
||||
bool m_move;
|
||||
};
|
||||
|
||||
struct SizeEvent : public Event
|
||||
|
|
|
@ -34,6 +34,18 @@ namespace entry
|
|||
m_queue.push(ev);
|
||||
}
|
||||
|
||||
void postMouseEvent(int32_t _mx, int32_t _my)
|
||||
{
|
||||
MouseEvent* ev = new MouseEvent;
|
||||
ev->m_type = Event::Mouse;
|
||||
ev->m_mx = _mx;
|
||||
ev->m_my = _my;
|
||||
ev->m_button = MouseButton::None;
|
||||
ev->m_down = false;
|
||||
ev->m_move = true;
|
||||
m_queue.push(ev);
|
||||
}
|
||||
|
||||
void postMouseEvent(int32_t _mx, int32_t _my, MouseButton::Enum _button, bool _down)
|
||||
{
|
||||
MouseEvent* ev = new MouseEvent;
|
||||
|
@ -42,6 +54,7 @@ namespace entry
|
|||
ev->m_my = _my;
|
||||
ev->m_button = _button;
|
||||
ev->m_down = _down;
|
||||
ev->m_move = false;
|
||||
m_queue.push(ev);
|
||||
}
|
||||
|
||||
|
|
|
@ -344,6 +344,14 @@ namespace entry
|
|||
}
|
||||
break;
|
||||
|
||||
case WM_MOUSEMOVE:
|
||||
{
|
||||
int32_t mx = GET_X_LPARAM(_lparam);
|
||||
int32_t my = GET_Y_LPARAM(_lparam);
|
||||
m_eventQueue.postMouseEvent(mx, my);
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_LBUTTONDOWN:
|
||||
case WM_LBUTTONUP:
|
||||
case WM_LBUTTONDBLCLK:
|
||||
|
|
|
@ -23,6 +23,15 @@ inline bool processEvents(uint32_t& _width, uint32_t& _height, uint32_t& _debug)
|
|||
case Event::Exit:
|
||||
return true;
|
||||
|
||||
case Event::Mouse:
|
||||
{
|
||||
// const MouseEvent* mouse = static_cast<const MouseEvent*>(ev);
|
||||
// if (mouse->m_move)
|
||||
// {
|
||||
// }
|
||||
}
|
||||
break;
|
||||
|
||||
case Event::Key:
|
||||
{
|
||||
const KeyEvent* key = static_cast<const KeyEvent*>(ev);
|
||||
|
|
Loading…
Reference in a new issue