parent
7cdc79b2ee
commit
ac3fdd070c
6 changed files with 114 additions and 15 deletions
@ -0,0 +1,79 @@ |
||||
#pragma once |
||||
|
||||
#include "event.h" |
||||
#include <bakara/math/type.h> |
||||
#include <bakara/core/io_codes.h> |
||||
|
||||
namespace Bk
|
||||
{ |
||||
class MouseMoveEvent : public Event |
||||
{ |
||||
public: |
||||
MouseMoveEvent(const float x, const float y) |
||||
: p_mouse_x(x), p_mouse_y(y) {} |
||||
|
||||
float get_x() const { return p_mouse_x; } |
||||
float get_y() const { return p_mouse_y; } |
||||
|
||||
Vec2 get_pos() const { return Vec2(p_mouse_x, p_mouse_y); } |
||||
|
||||
|
||||
EVENT_STRINGIFY("MouseMouveEvent : (%f, %f)", p_mouse_x, p_mouse_y) |
||||
|
||||
EVENT_CLASS_TYPE(MouseMove) |
||||
EVENT_CLASS_CATEGORY(MouseCategory | InputCategory) |
||||
private: |
||||
float p_mouse_x; |
||||
float p_mouse_y; |
||||
}; |
||||
|
||||
class MouseScrollEvent : public Event |
||||
{ |
||||
public: |
||||
MouseScrollEvent(const float x, const float y) |
||||
: p_dx(x), p_dy(y) {} |
||||
|
||||
float get_dx() const { return p_dx; } |
||||
float get_dy() const { return p_dy; } |
||||
|
||||
EVENT_STRINGIFY("MouseScrollEvent : (%f, %f)", p_dx, p_dy) |
||||
|
||||
EVENT_CLASS_TYPE(MouseMove) |
||||
EVENT_CLASS_CATEGORY(MouseCategory | InputCategory | MouseButtonCategory) |
||||
private: |
||||
float p_dx; |
||||
float p_dy; |
||||
}; |
||||
|
||||
class MouseButtonEvent : public Event |
||||
{ |
||||
public: |
||||
MouseCode get_btn() { return m_btn; } |
||||
|
||||
EVENT_CLASS_CATEGORY(MouseCategory | InputCategory) |
||||
protected: |
||||
MouseButtonEvent(MouseCode btn) |
||||
: m_btn(btn) {} |
||||
MouseCode m_btn; |
||||
}; |
||||
|
||||
class MouseButtonPressEvent : public MouseButtonEvent
|
||||
{ |
||||
public:
|
||||
MouseButtonPressEvent(MouseCode btn)
|
||||
: MouseButtonEvent(btn) {} |
||||
|
||||
EVENT_STRINGIFY("MouseButtonPressEvent %d", m_btn) |
||||
EVENT_CLASS_TYPE(MouseButtonPress) |
||||
}; |
||||
|
||||
class MouseButtonReleaseEvent : public MouseButtonEvent
|
||||
{ |
||||
public:
|
||||
MouseButtonReleaseEvent(MouseCode btn)
|
||||
: MouseButtonEvent(btn) {} |
||||
|
||||
EVENT_STRINGIFY("MouseButtonReleaseEvent %d", m_btn) |
||||
EVENT_CLASS_TYPE(MouseButtonRelease) |
||||
}; |
||||
} |
Loading…
Reference in New Issue