ClanLib  2.3.7
input_event.h
Go to the documentation of this file.
1 /*
2 ** ClanLib SDK
3 ** Copyright (c) 1997-2011 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 
32 
33 #pragma once
34 
35 #include "../api_display.h"
36 #include "input_device.h"
37 #include "../../Core/Math/point.h"
38 
39 class CL_InputEvent_Impl;
40 
45 {
46 public:
48  enum Type
49  {
50  no_key = 0,
51  pressed = 1,
52  released = 2,
53  doubleclick = 3,
54  pointer_moved = 4,
55  axis_moved = 5,
56  proximity_change = 6
57  };
58 
61  {
62  x_axis = 0,
63  y_axis = 1,
64  z_axis = 2,
65  tilt_x = 3,
66  tilt_y = 4,
67  rotation_pitch = 6,
68  rotation_roll = 7,
69  rotation_yaw = 8,
70  proximity_enter = 9,
71  proximity_exit = 10
72  };
73 
76 
77 public:
79  CL_InputEvent();
80 
81  ~CL_InputEvent();
82 
86 
87 public:
88 
92 
93 public:
95  int id;
96 
98 
104 
107 
110 
113 
115  double axis_pos;
116 
118 
121 
123  bool alt;
124  bool shift;
125  bool ctrl;
126 
130 
131 private:
132  CL_SharedPtr<CL_InputEvent_Impl> impl;
134 };
135