input_event.h
1 /*
2 ** ClanLib SDK
3 ** Copyright (c) 1997-2016 The ClanLib Team
4 **
5 ** This software is provided 'as-is', without any express or implied
6 ** warranty. In no event will the authors be held liable for any damages
7 ** arising from the use of this software.
8 **
9 ** Permission is granted to anyone to use this software for any purpose,
10 ** including commercial applications, and to alter it and redistribute it
11 ** freely, subject to the following restrictions:
12 **
13 ** 1. The origin of this software must not be misrepresented; you must not
14 ** claim that you wrote the original software. If you use this software
15 ** in a product, an acknowledgment in the product documentation would be
16 ** appreciated but is not required.
17 ** 2. Altered source versions must be plainly marked as such, and must not be
18 ** misrepresented as being the original software.
19 ** 3. This notice may not be removed or altered from any source distribution.
20 **
21 ** Note: Some of the libraries ClanLib may link to may have additional
22 ** requirements or restrictions.
23 **
24 ** File Author(s):
25 **
26 ** Magnus Norddahl
27 ** Harry Storbacka
28 */
29 
30 #pragma once
31 
32 #include "input_device.h"
33 #include "keys.h"
34 #include "../../Core/Math/point.h"
35 
36 namespace clan
37 {
40 
42  class InputEvent
43  {
44  public:
46  enum Type
47  {
48  no_key = 0,
49  pressed = 1,
50  released = 2,
55  };
56 
58  InputEvent();
59  ~InputEvent();
60 
63 
65  int id_offset;
66 
74 
77 
80 
83 
86 
88  double axis_pos;
89 
94 
96  bool alt;
97  bool shift;
98  bool ctrl;
99  };
100 
102 }
Definition: clanapp.h:35
bool alt
State of modifier keys.
Definition: input_event.h:96
Definition: input_event.h:54
Definition: input_event.h:53
Type
Event types.
Definition: input_event.h:46
Type type
Event type.
Definition: input_event.h:76
Definition: input_event.h:50
InputDevice device
Device that event originates from.
Definition: input_event.h:79
InputDevice.
Definition: input_device.h:46
std::string str
Character sequence generated by event. A key press can generate one, none or multiple characters...
Definition: input_event.h:73
Definition: input_event.h:48
Point mouse_device_pos
Mouse actual position at event time.
Definition: input_event.h:85
double axis_pos
Axis position.
Definition: input_event.h:88
InputCode
Definition: input_code.h:46
bool shift
Definition: input_event.h:97
int id_offset
Contains the value (0 to x) for certains InputCode types that have a variable output identifier (for ...
Definition: input_event.h:65
Pointf mouse_pos
Mouse position at event time.
Definition: input_event.h:82
2D (x,y) point structure - Integer
Definition: point.h:61
Definition: input_event.h:51
Definition: input_event.h:52
Definition: input_event.h:49
InputEvent()
Constructs a 'NoKey' key.
2D (x,y) point structure - Float
Definition: point.h:71
Input event class.
Definition: input_event.h:42
int repeat_count
The repeat count for this event. Contains the number of times the keystroke has auto-repeated as a re...
Definition: input_event.h:93
bool ctrl
Definition: input_event.h:98
InputCode id
The exact input.
Definition: input_event.h:62