Rev Author Line No. Line
23 ovan 1 #include "event.h"
2  
3 namespace sleek
4 {
5     namespace device
6     {
7         event::event() noexcept : asRunning(true)
8         {
9         }
10  
11         event::~event() noexcept
12         {
13         }
14  
15         void event::force(input a) noexcept
16         {
17             manage(&a);
18         }
19  
20         bool event::manage(input *a) noexcept
21         {
22             current = a;
23             if(a->exit_msg) exit();
24             //a->clear();
25             return false;
26         }
27  
28         void event::reset() noexcept
29         {
30             current->clear();
31         }
32  
33         void event::exit() noexcept
34         {
35             kill();
36         }
37  
38         void event::kill() noexcept
39         {
40             asRunning = false;
41         }
42  
43         /** ********************************************** **/
44  
45         input::input() noexcept
46         {
47             clear();
48         }
49  
50         void input::operator = (const input &n) noexcept
51         {
52             type = n.type;
53             for(u16 i = 0; i<MOUSE_CODE_COUNT; ++i)
54                 mouse[i] = n.mouse[i];
55             for(u16 i = 0; i<KEY_KEY_CODES_COUNT; ++i)
56                 key[i] = n.key[i];
57  
58             gui.called = n.gui.called;
59             gui.type = n.gui.type;
60             gui.code = n.gui.code;
61  
62             exit_msg = n.exit_msg;
63             mouse_pos = n.mouse_pos;
64         }
65  
66         void input::clear() noexcept
67         {
68             type = EVENT_NOTHINK;
69             for(u16 i = 0; i<MOUSE_CODE_COUNT; ++i)
70                 mouse[i] = false;
71             for(u16 i = 0; i<KEY_KEY_CODES_COUNT; ++i)
72                 key[i] = false;
73  
74             gui.called = 0;
75             gui.type = gui::IGT_NOTHINK;
76             gui.code = gui::IET_NOTHINK;
77  
78             exit_msg = false;
79         }
80     }
81 }