HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
UI_DeviceEvent.h
Go to the documentation of this file.
1
#ifndef __UI_DeviceEvent__
2
#define __UI_DeviceEvent__
3
4
#include "
UI_API.h
"
5
6
#include <
RE/RE_IDType.h
>
7
#include <
SYS/SYS_Types.h
>
8
#include <
UT/UT_Array.h
>
9
#include <
UT/UT_StringHolder.h
>
10
11
#include "
UI_EventType.h
"
12
13
/*
14
* The UI_DeviceEvent is a generic event structure which
15
* various input device drivers will generate as sub-classes
16
* of UI_EventGenerator.
17
*/
18
19
/*
20
* Note: these are flag bits since more than one button can be down:
21
*/
22
#define UI_NO_BUTTON 0x0
23
#define UI_LEFT_BUTTON 0x01
24
#define UI_MIDDLE_BUTTON 0x02
25
#define UI_RIGHT_BUTTON 0x04
26
27
#define UI_ALT_KEY 0x001 //
28
#define UI_SHIFT_KEY 0x002 //
29
#define UI_CTRL_KEY 0x004 //
30
#define UI_COMMAND_KEY 0x008 // Windows key on Win/Linux
31
#define UI_META_KEYS (UI_ALT_KEY| \
32
UI_SHIFT_KEY| \
33
UI_CTRL_KEY| \
34
UI_COMMAND_KEY)
35
#define UI_ALPHASHIFT_KEY 0x010 // Caps-lock
36
#define UI_AUTOREPEAT 0x020 // Auto-repeat is on for the key
37
#define UI_IME_PREEDIT 0x040 // Key is IME pre-edit string
38
#define UI_IME_COMMIT 0x080 // Key is IME commit string
39
#define UI_KEYPAD_KEY 0x100 // The key came from the keypad
40
#define UI_TABLET_MOTION 0x200 // Motion event triggered from tablet.
41
#define UI_KEYSTATE_CHANGE 0x400 // Key state was changed by this event
42
#define UI_KEYSEQ_TRIGGER 0x800 // Key is key sequence hotkey trigger
43
44
// Conversion from our Z value to 0..1
45
#define UI_PRESSURE_SCALE 16384.0F
46
// Conversion of T/U/V values to degrees.
47
#define UI_ANGLE_SCALE 100.0F
48
49
enum
UI_Dimension
{
50
DEVICE_DIM_T
= 0,
51
DEVICE_DIM_U
= 1,
52
DEVICE_DIM_V
= 2,
53
W
= 3,
54
X
= 4,
55
Y
= 5,
56
Z
= 6
57
};
58
59
#define DIMENSIONS 7
60
61
62
class
UI_API
UI_DeviceEvent
63
{
64
public
:
65
UI_DeviceEvent
(
int
event_id = 0);
66
67
/// Returns an array of Unicode code points corresponding to typed in
68
/// characters from a keyboard event.
69
bool
getTypedCharacters(
UT_Array<utf32>
&cps)
const
;
70
71
UI_EventType
type
;
72
// NB: 4 bytes of alignment padding here
73
RE_IDType
context
;
// Device specific context
74
double
time
;
// Time in seconds.
75
int64
serialId
;
// Event specific serialization id
76
77
exint
data
;
// Event data (at least pointer sized)
78
int
values
[
DIMENSIONS
];
// Usually valuator values
79
short
altFlags
;
// Event flags
80
// NB: 2 bytes of alignment padding here
81
int
id
;
// Event identifier
82
83
int
qt_key
;
84
UT_StringHolder
key
;
// Key input for UI_EVENT_KEYBOARD
85
};
86
87
inline
88
UI_DeviceEvent::UI_DeviceEvent
(
int
event_id)
89
{
90
id
= event_id;
91
92
type
=
UI_EVENT_NO_EVENT
;
93
94
context
= 0;
95
data
= 0;
96
altFlags
= 0;
97
values
[
DEVICE_DIM_T
] = 0;
98
values
[
DEVICE_DIM_U
] = 0;
99
values
[
DEVICE_DIM_V
] = 0;
100
values
[
W
] = 0;
101
values
[
X
] = 0;
102
values
[
Y
] = 0;
103
values
[
Z
] = 0;
104
105
time
= -1.0;
106
serialId
= 0;
107
qt_key
= 0;
108
}
109
110
#endif
RE_IDType
void * RE_IDType
Definition:
RE_IDType.h:20
UI_DeviceEvent::data
exint data
Definition:
UI_DeviceEvent.h:77
UI_EVENT_NO_EVENT
Definition:
UI_EventType.h:22
RE_IDType.h
UI_DeviceEvent::altFlags
short altFlags
Definition:
UI_DeviceEvent.h:79
UI_DeviceEvent::qt_key
int qt_key
Definition:
UI_DeviceEvent.h:83
HUSD_XformAxis::X
exint
int64 exint
Definition:
SYS_Types.h:125
UI_DeviceEvent::UI_DeviceEvent
UI_DeviceEvent(int event_id=0)
Definition:
UI_DeviceEvent.h:88
UI_DeviceEvent::key
UT_StringHolder key
Definition:
UI_DeviceEvent.h:84
UI_DeviceEvent::type
UI_EventType type
Definition:
UI_DeviceEvent.h:71
UT_Array.h
UT_Array
Definition:
BV_KDOPTree.h:18
Y
Definition:
UI_DeviceEvent.h:55
Z
Definition:
UI_DeviceEvent.h:56
UT_StringHolder
Definition:
UT_StringHolder.h:999
UI_EventType.h
SYS_Types.h
DEVICE_DIM_U
Definition:
UI_DeviceEvent.h:51
UI_DeviceEvent::context
RE_IDType context
Definition:
UI_DeviceEvent.h:73
DEVICE_DIM_T
Definition:
UI_DeviceEvent.h:50
X
Definition:
UI_DeviceEvent.h:54
UI_Dimension
UI_Dimension
Definition:
UI_DeviceEvent.h:49
UI_EventType
UI_EventType
Definition:
UI_EventType.h:20
int64
long long int64
Definition:
SYS_Types.h:116
UI_DeviceEvent
Definition:
UI_DeviceEvent.h:62
UI_DeviceEvent::serialId
int64 serialId
Definition:
UI_DeviceEvent.h:75
UI_DeviceEvent::id
int id
Definition:
UI_DeviceEvent.h:81
HUSD_XformAxis::Y
values
GLenum GLsizei GLsizei GLint * values
Definition:
glcorearb.h:1602
UI_API.h
UT_StringHolder.h
UI_API
#define UI_API
Definition:
UI_API.h:10
DIMENSIONS
#define DIMENSIONS
Definition:
UI_DeviceEvent.h:59
type
type
Definition:
core.h:1059
DEVICE_DIM_V
Definition:
UI_DeviceEvent.h:52
UI_DeviceEvent::time
double time
Definition:
UI_DeviceEvent.h:74
data
Definition:
format.h:895
HUSD_XformAxis::Z
W
Definition:
UI_DeviceEvent.h:53
UI
UI_DeviceEvent.h
Generated on Thu Nov 21 2024 02:45:52 for HDK by
1.8.6