VulkanEngine 0.1
Graphics engine using Vulkan
Loading...
Searching...
No Matches
MouseInput.h
1// Copyright (c) 2024 Michael Carlie. All Rights Reserved.
2//
3// This software is released under the MIT License.
4// https://opensource.org/licenses/MIT
5
6#ifndef INCLUDE_VULKANENGINE_MOUSEINPUT_H_
7#define INCLUDE_VULKANENGINE_MOUSEINPUT_H_
8
9#include <Eigen/Eigen>
10
11namespace VulkanEngine {
12
13class GLFWWindow;
14
17 friend class Window;
18
19 public:
21 MouseInput();
22
25
28 Eigen::Vector2d getPosition();
29
32 Eigen::Vector2d getScrollOffset();
33
35 bool leftButtonPressed();
36
37 private:
41 void setPosition(double _xpos, double _ypos);
42
46 void setScrollOffset(double xoffset, double yoffset);
47
49 void setButtons(bool left, bool right, bool middle);
50
52 double xpos;
53
55 double ypos;
56
58 double scroll_offset_x;
59
61 double scroff_offset_y;
62
64 double previous_x_pos;
65
67 double previous_y_pos;
68
70 bool left_button_pressed;
71
73 bool right_button_pressed;
74
76 bool middle_button_pressed;
77};
78
79} // namespace VulkanEngine
80
81#endif // INCLUDE_VULKANENGINE_MOUSEINPUT_H_
Class which can be used to get input from the mouse.
Definition: MouseInput.h:16
Eigen::Vector2d getScrollOffset()
Definition: MouseInput.cpp:40
Eigen::Vector2d getPosition()
Definition: MouseInput.cpp:38
~MouseInput()
Destructor.
Definition: MouseInput.cpp:36
bool leftButtonPressed()
Definition: MouseInput.cpp:44
MouseInput()
Constructor.
Definition: MouseInput.cpp:25
Provides an abstract interface for window implementations.
Definition: Window.h:20
TODO development of this class is in progress.
Definition: Attribute.h:13