Elevate Engine 1
Loading...
Searching...
No Matches
MouseEvent.h
Go to the documentation of this file.
1#pragma once
2
3#include "Event.h"
4#include <sstream>
5
6namespace Elevate {
7
9 {
10 public:
11 MouseMovedEvent(const float x, const float y)
12 : m_MouseX(x), m_MouseY(y) {}
13
14 float GetX() const { return m_MouseX; }
15 float GetY() const { return m_MouseY; }
16
17 std::string ToString() const override
18 {
19 std::stringstream ss;
20 ss << "MouseMovedEvent: " << m_MouseX << ", " << m_MouseY;
21 return ss.str();
22 }
23
24 EVENT_CLASS_TYPE(MouseMoved)
25 EVENT_CLASS_CATEGORY(EventCategoryMouse | EventCategoryInput)
26 private:
27 float m_MouseX, m_MouseY;
28 };
29
31 {
32 public:
33 MouseScrolledEvent(const float xOffset, const float yOffset)
34 : m_XOffset(xOffset), m_YOffset(yOffset) {}
35
36 float GetXOffset() const { return m_XOffset; }
37 float GetYOffset() const { return m_YOffset; }
38
39 std::string ToString() const override
40 {
41 std::stringstream ss;
42 ss << "MouseScrolledEvent: " << GetXOffset() << ", " << GetYOffset();
43 return ss.str();
44 }
45
46 EVENT_CLASS_TYPE(MouseScrolled)
47 EVENT_CLASS_CATEGORY(EventCategoryMouse | EventCategoryInput)
48 private:
49 float m_XOffset, m_YOffset;
50 };
51
53 {
54 public:
55 int GetMouseButton() const { return m_Button; }
56
57 EVENT_CLASS_CATEGORY(EventCategoryMouse | EventCategoryInput | EventCategoryMouseButton)
58 protected:
59 MouseButtonEvent(const int button)
60 : m_Button(button) {}
61
63 };
64
66 {
67 public:
68 MouseButtonPressedEvent(const int button)
69 : MouseButtonEvent(button) {}
70
71 std::string ToString() const override
72 {
73 std::stringstream ss;
74 ss << "MouseButtonPressedEvent: " << m_Button;
75 return ss.str();
76 }
77
78 EVENT_CLASS_TYPE(MouseButtonPressed)
79 };
80
82 {
83 public:
84 MouseButtonReleasedEvent(const int button)
85 : MouseButtonEvent(button) {}
86
87 std::string ToString() const override
88 {
89 std::stringstream ss;
90 ss << "MouseButtonReleasedEvent: " << m_Button;
91 return ss.str();
92 }
93
94 EVENT_CLASS_TYPE(MouseButtonReleased)
95 };
96
97}
#define EE_API
Definition Core.h:9
#define EVENT_CLASS_TYPE(type)
Definition Event.h:31
#define EVENT_CLASS_CATEGORY(category)
Definition Event.h:35
MouseButtonEvent(const int button)
Definition MouseEvent.h:59
std::string ToString() const override
Definition MouseEvent.h:71
MouseButtonPressedEvent(const int button)
Definition MouseEvent.h:68
MouseButtonReleasedEvent(const int button)
Definition MouseEvent.h:84
std::string ToString() const override
Definition MouseEvent.h:87
std::string ToString() const override
Definition MouseEvent.h:17
MouseMovedEvent(const float x, const float y)
Definition MouseEvent.h:11
std::string ToString() const override
Definition MouseEvent.h:39
MouseScrolledEvent(const float xOffset, const float yOffset)
Definition MouseEvent.h:33