LkEngine 0.1.2
 
Loading...
Searching...
No Matches
Mouse.h
1#pragma once
2
4#include "LkEngine/Core/LObject/ObjectPtr.h"
5
6#include "LkEngine/Core/Delegate/Delegate.h"
7#include "LkEngine/Core/Input/MouseCodes.h"
9
10#include <glm/glm.hpp>
11
12
13namespace LkEngine {
14
15 class LMouse
16 {
17 public:
18 LK_DECLARE_MULTICAST_DELEGATE(FOnMouseButtonPressed, const FMouseButtonData&);
19 LK_DECLARE_MULTICAST_DELEGATE(FOnMouseButtonReleased, const FMouseButtonData&);
20 LK_DECLARE_MULTICAST_DELEGATE(FOnMouseScrolled, const EMouseScrollDirection);
21 LK_DECLARE_MULTICAST_DELEGATE(FOnCursorModeChanged, const ECursorMode);
22 LK_DECLARE_MULTICAST_DELEGATE(FOnMouseEnabled, const bool);
23 public:
24 static float GetMouseX();
25 static float GetMouseY();
26
27 static bool IsButtonPressed(const EMouseButton MouseButton);
28
29 static void Enable();
30 static void Disable();
31
32 public:
33 inline static FOnMouseEnabled OnMouseEnabled;
34 inline static FOnMouseButtonPressed OnMouseButtonPressed;
35 inline static FOnMouseButtonReleased OnMouseButtonReleased;
36 inline static FOnMouseScrolled OnMouseScrolled;
37 inline static FOnCursorModeChanged OnCursorModeChanged;
38 };
39
40}
LObject implementation.
Mathematical vectors.
Definition Mouse.h:16
Definition Asset.h:11
ECursorMode
Definition MouseCodes.h:36
EMouseButton
Definition MouseCodes.h:10
EMouseScrollDirection
Definition MouseCodes.h:44
Definition MouseCodes.h:54