Just™ Game Engine
mouse_events.hpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2021-2022 Konstanty Misiak
3 *
4 * SPDX-License-Identifier: MIT
5 */
6
7#pragma once
8#include "jng/core/event.hpp"
10
11namespace jng {
12
14 public Event
15 {
16 public:
18 protected:
20 : m_button(button) {}
21
23 };
24
26 public MouseButtonEvent
27 {
28 public:
30 : MouseButtonEvent(button) {}
31
32 EVENT_CLASS_TYPE(MouseButtonPress)
33 };
34
36 public MouseButtonEvent
37 {
38 public:
40 : MouseButtonEvent(button) {}
41
42 EVENT_CLASS_TYPE(MouseButtonRelease)
43 };
44
46 public Event
47 {
48 public:
49 MouseMoveEvent(const float x, const float y)
50 : m_mouseX(x), m_mouseY(y) {}
51
52 float getX() const { return m_mouseX; }
53 float getY() const { return m_mouseY; }
54
55 EVENT_CLASS_TYPE(MouseMove)
56 private:
57 float m_mouseX, m_mouseY;
58 };
59
61 public Event
62 {
63 public:
64 MouseScrollEvent(const float xOffset, const float yOffset)
65 : m_xOffset(xOffset), m_yOffset(yOffset) {}
66
67 float getXOffset() const { return m_xOffset; }
68 float getYOffset() const { return m_yOffset; }
69
70 EVENT_CLASS_TYPE(MouseScroll)
71 private:
72 float m_xOffset, m_yOffset;
73 };
74
75} // namespace jng
Definition: event.hpp:24
Definition: mouse_events.hpp:15
Mouse::Code getMouseButton() const
Definition: mouse_events.hpp:17
Mouse::Code m_button
Definition: mouse_events.hpp:22
MouseButtonEvent(Mouse::Code button)
Definition: mouse_events.hpp:19
Definition: mouse_events.hpp:27
MouseButtonPressEvent(Mouse::Code button)
Definition: mouse_events.hpp:29
Definition: mouse_events.hpp:37
MouseButtonReleaseEvent(Mouse::Code button)
Definition: mouse_events.hpp:39
Definition: mouse_events.hpp:47
float getX() const
Definition: mouse_events.hpp:52
MouseMoveEvent(const float x, const float y)
Definition: mouse_events.hpp:49
float getY() const
Definition: mouse_events.hpp:53
Definition: mouse_events.hpp:62
float getYOffset() const
Definition: mouse_events.hpp:68
float getXOffset() const
Definition: mouse_events.hpp:67
MouseScrollEvent(const float xOffset, const float yOffset)
Definition: mouse_events.hpp:64
#define EVENT_CLASS_TYPE(type)
Definition: event.hpp:61
u8 Code
Definition: mouse_codes.hpp:13
Definition: base.hpp:11