EHS
Loading...
Searching...
No Matches
Mouse.h
Go to the documentation of this file.
1#pragma once
2
3#include "ehs/Types.h"
4#include "ehs/Vec2.h"
5#include "Button.h"
6#include "HID.h"
7
8#define EHS_HID_MOUSE 0x01
9
10namespace ehs
11{
12 class EHS_LIB_IO Mouse : public HID
13 {
14 private:
15 friend class Input;
16
17 Vec2_s32 delta;
18
19 public:
20 Mouse();
21
22 Mouse(Str_8 name, UInt_64 id);
23
24 Mouse(Mouse&& hid) noexcept = default;
25
26 Mouse(const Mouse& hid);
27
28 Mouse& operator=(Mouse&& hid) noexcept = default;
29
30 Mouse& operator=(const Mouse& hid);
31
32 void Poll(float delta) override;
33
34 void SetDelta(const Vec2_s32& newDelta);
35
36 Vec2_s32 GetDelta() const;
37
38 Mouse* Clone() const override;
39
40 static const Button Unknown;
41 static const Button LMB;
42 static const Button MMB;
43 static const Button RMB;
44 static const Button Four;
45 static const Button Five;
46 static const Button ScrollUp;
47 static const Button ScrollDown;
48 static const Button ScrollLeft;
49 static const Button ScrollRight;
50 static const Button Back;
51 static const Button Forward;
52
53 static Button TranslateXCB(const UInt_32 code);
54 };
55}
Definition Button.h:9
Str_8 name
Definition HID.h:15
HID()
Definition HID.cpp:9
void SetDelta(const Vec2_s32 &newDelta)
Definition Mouse.cpp:38
static const Button RMB
Definition Mouse.h:43
Mouse()
Definition Mouse.cpp:5
static const Button ScrollLeft
Definition Mouse.h:48
Vec2_s32 GetDelta() const
Definition Mouse.cpp:43
Mouse(Mouse &&hid) noexcept=default
static const Button Four
Definition Mouse.h:44
static const Button ScrollUp
Definition Mouse.h:46
static const Button Unknown
Definition Mouse.h:40
static Button TranslateXCB(const UInt_32 code)
Definition Mouse.cpp:66
void Poll(float delta) override
Definition Mouse.cpp:31
static const Button Back
Definition Mouse.h:50
friend class Input
Definition Mouse.h:15
static const Button ScrollDown
Definition Mouse.h:47
static const Button ScrollRight
Definition Mouse.h:49
Mouse & operator=(Mouse &&hid) noexcept=default
static const Button MMB
Definition Mouse.h:42
static const Button LMB
Definition Mouse.h:41
static const Button Forward
Definition Mouse.h:51
static const Button Five
Definition Mouse.h:45
Mouse * Clone() const override
Definition Mouse.cpp:48
Definition Anchor.h:6
unsigned int UInt_32
Definition Types.h:49
Str< Char_8, UInt_64 > Str_8
Definition Str.h:1902
Vec2< SInt_32 > Vec2_s32
Definition Vec2.h:376