acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
key_state.h
1
2#pragma once
3
4
5#include "acme/constant/key_state.h"
6
7
8namespace user
9{
10
11
12 class CLASS_DECL_ACME key_state
13 {
14 public:
15
16 ::user::e_key_state m_ekeystate;
17
18
19 key_state();
20 key_state(const ::user::e_key_state &ekeystate);
21 key_state(const ::user::key_state &keystate);
22 key_state(const ::user::key_state * pkeystate);
23 ~key_state();
24
25
26 key_state & operator = (const ::user::key_state &keystate);
27 key_state & operator = (const ::user::key_state * pkeystate);
28
29
30 virtual bool is_mouse_state(const ::user::e_key_state &ekeystate) const;
31 virtual ::i32_boolean has_mouse_state(const ::user::e_key_state &ekeystate) const;
32
33
34 const ::user::e_key_state &operator() ()const {return m_ekeystate; }
35
36
37 ::i32_boolean is_left_button_pressed() const { return m_ekeystate & ::user::e_key_state_left_button; }
38 ::i32_boolean is_right_button_pressed() const { return m_ekeystate & ::user::e_key_state_right_button; }
39 ::i32_boolean is_shift_pressed() const { return m_ekeystate & ::user::e_key_state_shift; }
40 ::i32_boolean is_control_pressed() const { return m_ekeystate & ::user::e_key_state_control; }
41 ::i32_boolean is_middle_button_pressed() const { return m_ekeystate & ::user::e_key_state_middle_button; }
42 ::i32_boolean is_x1_button_pressed() const { return m_ekeystate & ::user::e_key_state_x1_button; }
43 ::i32_boolean is_x2_button_pressed() const { return m_ekeystate & ::user::e_key_state_x2_button; }
44
45
46
47 void set_left_button_pressed() { m_ekeystate |= ::user::e_key_state_left_button; }
48 void set_right_button_pressed() { m_ekeystate |= ::user::e_key_state_right_button; }
49 void set_shift_pressed() { m_ekeystate |= ::user::e_key_state_shift; }
50 void set_control_pressed() { m_ekeystate |= ::user::e_key_state_control; }
51 void set_middle_button_pressed() { m_ekeystate |= ::user::e_key_state_middle_button; }
52 void set_x1_button_pressed() { m_ekeystate |= ::user::e_key_state_x1_button; }
53 void set_x2_button_pressed() { m_ekeystate |= ::user::e_key_state_x2_button; }
54
55
56
57 void clear_left_button_pressed() { m_ekeystate -= ::user::e_key_state_left_button; }
58 void clear_right_button_pressed() { m_ekeystate -= ::user::e_key_state_right_button; }
59 void clear_shift_pressed() { m_ekeystate -= ::user::e_key_state_shift; }
60 void clear_control_pressed() { m_ekeystate -= ::user::e_key_state_control; }
61 void clear_middle_button_pressed() { m_ekeystate -= ::user::e_key_state_middle_button; }
62 void clear_x1_button_pressed() { m_ekeystate -= ::user::e_key_state_x1_button; }
63 void clear_x2_button_pressed() { m_ekeystate -= ::user::e_key_state_x2_button; }
64
65
66 };
67
68
69} // namespace user
Definition boolean.h:7
Created by camilo on 2026-05-28 12:34 <3ThomasBorregaardSørensen!! Mummi!! Bilbo!!
Definition _.h:67