restructured everything
This commit is contained in:
parent
4225a524b9
commit
c66cae17f2
61 changed files with 18406 additions and 1710 deletions
75
include/structures/Mouse.hpp
Normal file
75
include/structures/Mouse.hpp
Normal file
|
@ -0,0 +1,75 @@
|
|||
/**
|
||||
* @file Mouse.hpp
|
||||
* @brief A static class to provide easy handling of the mouse
|
||||
* @author Lauchmelder23
|
||||
* @date 19.05.2020
|
||||
*/
|
||||
#pragma once
|
||||
#include "structures/Vector2.hpp"
|
||||
#include "graphics/RenderWindow.hpp"
|
||||
|
||||
SDLU_BEGIN
|
||||
/**
|
||||
* @brief A static class that contains/handles data about
|
||||
* mouse position and button states
|
||||
*/
|
||||
class Mouse
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief Mouse buttons
|
||||
*/
|
||||
enum class Button {
|
||||
Left = 1,
|
||||
Right = 2,
|
||||
Middle = 3,
|
||||
XButton1 = 4,
|
||||
XButton2 = 5
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Returns the current mouse button state
|
||||
*
|
||||
* @return A 32-bit mask of the current button state
|
||||
*/
|
||||
static Uint32 GetButtonState();
|
||||
|
||||
/**
|
||||
* @brief Checks if a specific button is pressed
|
||||
*
|
||||
* @param[in] button The button to check
|
||||
* @return True if the button is pressed
|
||||
*/
|
||||
static bool IsButtonDown(Button button);
|
||||
|
||||
/**
|
||||
* @brief Gets the absolute position of the mouse
|
||||
*
|
||||
* @return Current mouse position relative to screen
|
||||
*/
|
||||
static Vector2i GetPosition();
|
||||
|
||||
/**
|
||||
* @brief Gets current relative position of the mouse
|
||||
*
|
||||
* @param[in] relativeTo The window the mouse position should be relative to
|
||||
* @return The position of the mouse relative to the top left of the passed window object
|
||||
*/
|
||||
static Vector2i GetPosition(const RenderWindow& relativeTo);
|
||||
|
||||
/**
|
||||
* @brief Sets the absolute position of the mouse
|
||||
*
|
||||
* @param[in] position A 2D vector of the new position
|
||||
*/
|
||||
static void SetPosition(const Vector2i& position);
|
||||
|
||||
/**
|
||||
* @brief Sets current relative position of the mouse
|
||||
*
|
||||
* @param[in] position A 2D vector of the new position
|
||||
* @param[in] relativeTo The window the mouse position should be relative to
|
||||
*/
|
||||
static void SetPosition(const Vector2i& position, const RenderWindow& relativeTo);
|
||||
};
|
||||
SDLU_END
|
Loading…
Add table
Add a link
Reference in a new issue