reflexion 0.3.5 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.doc/ext/reflex/application.cpp +16 -0
- data/.doc/ext/reflex/device.cpp +46 -3
- data/.doc/ext/reflex/device_event.cpp +62 -0
- data/.doc/ext/reflex/key_event.cpp +49 -19
- data/.doc/ext/reflex/native.cpp +6 -4
- data/.doc/ext/reflex/reflex.cpp +7 -6
- data/ChangeLog.md +8 -0
- data/VERSION +1 -1
- data/ext/reflex/application.cpp +18 -0
- data/ext/reflex/device.cpp +48 -3
- data/ext/reflex/device_event.cpp +65 -0
- data/ext/reflex/key_event.cpp +49 -19
- data/ext/reflex/native.cpp +6 -4
- data/ext/reflex/reflex.cpp +7 -6
- data/include/reflex/application.h +4 -0
- data/include/reflex/defs.h +58 -21
- data/include/reflex/device.h +22 -0
- data/include/reflex/event.h +25 -0
- data/include/reflex/gamepad.h +175 -0
- data/include/reflex/ruby/application.h +18 -0
- data/include/reflex/ruby/device.h +40 -0
- data/include/reflex/ruby/event.h +11 -0
- data/reflex.gemspec +3 -3
- data/src/application.cpp +67 -0
- data/src/application.h +9 -0
- data/src/device.cpp +24 -0
- data/src/event.cpp +38 -0
- data/src/gamepad.cpp +176 -0
- data/src/gamepad.h +74 -0
- data/src/ios/app_delegate.mm +2 -2
- data/src/ios/application.mm +0 -25
- data/src/ios/event.h +0 -5
- data/src/ios/event.mm +1 -85
- data/src/ios/gamepad.mm +313 -0
- data/src/ios/reflex.mm +0 -5
- data/src/osx/app_delegate.mm +2 -2
- data/src/osx/application.mm +0 -25
- data/src/osx/event.h +1 -3
- data/src/osx/event.mm +9 -86
- data/src/osx/gamepad.mm +40 -0
- data/src/osx/gamepad_gc.mm +299 -0
- data/src/osx/gamepad_hid.mm +567 -0
- data/src/osx/reflex.mm +0 -5
- data/src/win32/application.cpp +5 -26
- data/src/win32/event.cpp +6 -89
- data/src/win32/event.h +3 -1
- data/src/win32/gamepad.cpp +110 -0
- data/src/win32/gamepad.h +20 -0
- data/src/win32/window.cpp +2 -1
- metadata +28 -14
data/src/win32/event.cpp
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
#include "event.h"
|
2
2
|
|
3
3
|
|
4
|
-
#include <xinput.h>
|
5
4
|
#include <xot/time.h>
|
6
5
|
#include "reflex/exception.h"
|
7
6
|
#include "reflex/debug.h"
|
@@ -12,8 +11,8 @@ namespace Reflex
|
|
12
11
|
{
|
13
12
|
|
14
13
|
|
15
|
-
|
16
|
-
|
14
|
+
uint
|
15
|
+
get_key_modifiers ()
|
17
16
|
{
|
18
17
|
return
|
19
18
|
(GetKeyState(VK_SHIFT) & 0x8000 ? MOD_SHIFT : 0) |
|
@@ -38,7 +37,7 @@ namespace Reflex
|
|
38
37
|
}
|
39
38
|
|
40
39
|
NativeKeyEvent::NativeKeyEvent (UINT msg, WPARAM wp, LPARAM lp, const char* chars)
|
41
|
-
: KeyEvent(get_key_action(msg), chars, (int) wp,
|
40
|
+
: KeyEvent(get_key_action(msg), chars, (int) wp, get_key_modifiers(), lp & 0xFF)
|
42
41
|
{
|
43
42
|
}
|
44
43
|
|
@@ -136,7 +135,7 @@ namespace Reflex
|
|
136
135
|
get_mouse_type(msg, wp),
|
137
136
|
get_mouse_action(msg),
|
138
137
|
Point(GET_X_LPARAM(lp), GET_Y_LPARAM(lp)),
|
139
|
-
|
138
|
+
get_key_modifiers(),
|
140
139
|
get_mouse_click_count(msg),
|
141
140
|
is_mouse_dragging(msg, wp),
|
142
141
|
Xot::time()));
|
@@ -197,7 +196,7 @@ namespace Reflex
|
|
197
196
|
get_touch_type(touch),
|
198
197
|
action,
|
199
198
|
get_touch_position(hwnd, touch),
|
200
|
-
|
199
|
+
get_key_modifiers(),
|
201
200
|
action == Pointer::DOWN ? 1 : 0,
|
202
201
|
action == Pointer::MOVE,
|
203
202
|
get_touch_time(touch));
|
@@ -213,90 +212,8 @@ namespace Reflex
|
|
213
212
|
: WheelEvent(
|
214
213
|
GET_X_LPARAM(lp), GET_Y_LPARAM(lp), 0,
|
215
214
|
GET_WHEEL_DELTA_WPARAM(wp_x), -GET_WHEEL_DELTA_WPARAM(wp_y), 0,
|
216
|
-
|
217
|
-
{
|
218
|
-
}
|
219
|
-
|
220
|
-
|
221
|
-
static void
|
222
|
-
call_gamepad_event (Window* win, int code, bool pressed)
|
223
|
-
{
|
224
|
-
auto action = pressed ? KeyEvent::DOWN : KeyEvent::UP;
|
225
|
-
KeyEvent e(action, NULL, code, get_modifiers(), 0);
|
226
|
-
Window_call_key_event(win, &e);
|
227
|
-
}
|
228
|
-
|
229
|
-
static void
|
230
|
-
handle_gamepad_button_event (
|
231
|
-
Window* win, const XINPUT_STATE& state, const XINPUT_STATE& prev_state,
|
232
|
-
WORD mask, int code)
|
233
|
-
{
|
234
|
-
WORD pressed = state.Gamepad.wButtons & mask;
|
235
|
-
WORD prev = prev_state.Gamepad.wButtons & mask;
|
236
|
-
if (pressed == prev) return;
|
237
|
-
|
238
|
-
call_gamepad_event(win, code, pressed);
|
239
|
-
}
|
240
|
-
|
241
|
-
static void
|
242
|
-
handle_gamepad_trigger_event (Window* win, BYTE value, BYTE prev_value, int code)
|
243
|
-
{
|
244
|
-
WORD pressed = value > XINPUT_GAMEPAD_TRIGGER_THRESHOLD;
|
245
|
-
WORD prev = prev_value > XINPUT_GAMEPAD_TRIGGER_THRESHOLD;
|
246
|
-
if (pressed == prev) return;
|
247
|
-
|
248
|
-
call_gamepad_event(win, code, pressed);
|
249
|
-
}
|
250
|
-
|
251
|
-
static void
|
252
|
-
handle_gamepad_events (const XINPUT_STATE& state, const XINPUT_STATE& prev_state)
|
215
|
+
get_key_modifiers())
|
253
216
|
{
|
254
|
-
Window* win = Window_get_active();
|
255
|
-
if (!win) return;
|
256
|
-
|
257
|
-
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_DPAD_LEFT, KEY_GAMEPAD_LEFT);
|
258
|
-
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_DPAD_RIGHT, KEY_GAMEPAD_RIGHT);
|
259
|
-
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_DPAD_UP, KEY_GAMEPAD_UP);
|
260
|
-
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_DPAD_DOWN, KEY_GAMEPAD_DOWN);
|
261
|
-
|
262
|
-
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_A, KEY_GAMEPAD_A);
|
263
|
-
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_B, KEY_GAMEPAD_B);
|
264
|
-
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_X, KEY_GAMEPAD_X);
|
265
|
-
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_Y, KEY_GAMEPAD_Y);
|
266
|
-
|
267
|
-
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_LEFT_SHOULDER, KEY_GAMEPAD_SHOULDER_LEFT);
|
268
|
-
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_RIGHT_SHOULDER, KEY_GAMEPAD_SHOULDER_RIGHT);
|
269
|
-
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_LEFT_THUMB, KEY_GAMEPAD_THUMB_LEFT);
|
270
|
-
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_RIGHT_THUMB, KEY_GAMEPAD_THUMB_RIGHT);
|
271
|
-
|
272
|
-
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_START, KEY_GAMEPAD_START);
|
273
|
-
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_BACK, KEY_GAMEPAD_SELECT);
|
274
|
-
|
275
|
-
handle_gamepad_trigger_event(win, state.Gamepad.bLeftTrigger, prev_state.Gamepad.bLeftTrigger, KEY_GAMEPAD_TRIGGER_LEFT);
|
276
|
-
handle_gamepad_trigger_event(win, state.Gamepad.bRightTrigger, prev_state.Gamepad.bRightTrigger, KEY_GAMEPAD_TRIGGER_RIGHT);
|
277
|
-
}
|
278
|
-
|
279
|
-
void
|
280
|
-
poll_gamepads ()
|
281
|
-
{
|
282
|
-
static XINPUT_STATE prev_state;
|
283
|
-
static bool prev_detected = false;
|
284
|
-
|
285
|
-
XINPUT_STATE state = {0};
|
286
|
-
bool detected = XInputGetState(0, &state) == ERROR_SUCCESS;
|
287
|
-
|
288
|
-
if (detected != prev_detected)
|
289
|
-
{
|
290
|
-
prev_detected = detected;
|
291
|
-
if (detected) prev_state = {0};
|
292
|
-
}
|
293
|
-
|
294
|
-
if (!detected) return;
|
295
|
-
|
296
|
-
if (state.dwPacketNumber != prev_state.dwPacketNumber)
|
297
|
-
handle_gamepad_events(state, prev_state);
|
298
|
-
|
299
|
-
prev_state = state;
|
300
217
|
}
|
301
218
|
|
302
219
|
|
data/src/win32/event.h
CHANGED
@@ -0,0 +1,110 @@
|
|
1
|
+
#include "gamepad.h"
|
2
|
+
|
3
|
+
|
4
|
+
#include <xot/windows.h>
|
5
|
+
#include <xinput.h>
|
6
|
+
|
7
|
+
#include "reflex/exception.h"
|
8
|
+
#include "reflex/debug.h"
|
9
|
+
#include "window.h"
|
10
|
+
#include "event.h"
|
11
|
+
|
12
|
+
|
13
|
+
namespace Reflex
|
14
|
+
{
|
15
|
+
|
16
|
+
|
17
|
+
static void
|
18
|
+
call_gamepad_event (Window* win, int code, bool pressed)
|
19
|
+
{
|
20
|
+
auto action = pressed ? KeyEvent::DOWN : KeyEvent::UP;
|
21
|
+
KeyEvent e(action, NULL, code, get_key_modifiers(), 0);
|
22
|
+
Window_call_key_event(win, &e);
|
23
|
+
}
|
24
|
+
|
25
|
+
static void
|
26
|
+
handle_gamepad_button_event (
|
27
|
+
Window* win, const XINPUT_STATE& state, const XINPUT_STATE& prev_state,
|
28
|
+
WORD mask, int code)
|
29
|
+
{
|
30
|
+
WORD pressed = state.Gamepad.wButtons & mask;
|
31
|
+
WORD prev = prev_state.Gamepad.wButtons & mask;
|
32
|
+
if (pressed == prev) return;
|
33
|
+
|
34
|
+
call_gamepad_event(win, code, pressed);
|
35
|
+
}
|
36
|
+
|
37
|
+
static void
|
38
|
+
handle_gamepad_trigger_event (Window* win, BYTE value, BYTE prev_value, int code)
|
39
|
+
{
|
40
|
+
WORD pressed = value > XINPUT_GAMEPAD_TRIGGER_THRESHOLD;
|
41
|
+
WORD prev = prev_value > XINPUT_GAMEPAD_TRIGGER_THRESHOLD;
|
42
|
+
if (pressed == prev) return;
|
43
|
+
|
44
|
+
call_gamepad_event(win, code, pressed);
|
45
|
+
}
|
46
|
+
|
47
|
+
static void
|
48
|
+
handle_gamepad_events (const XINPUT_STATE& state, const XINPUT_STATE& prev_state)
|
49
|
+
{
|
50
|
+
Window* win = Window_get_active();
|
51
|
+
if (!win) return;
|
52
|
+
|
53
|
+
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_DPAD_LEFT, KEY_GAMEPAD_LEFT);
|
54
|
+
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_DPAD_RIGHT, KEY_GAMEPAD_RIGHT);
|
55
|
+
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_DPAD_UP, KEY_GAMEPAD_UP);
|
56
|
+
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_DPAD_DOWN, KEY_GAMEPAD_DOWN);
|
57
|
+
|
58
|
+
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_A, KEY_GAMEPAD_A);
|
59
|
+
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_B, KEY_GAMEPAD_B);
|
60
|
+
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_X, KEY_GAMEPAD_X);
|
61
|
+
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_Y, KEY_GAMEPAD_Y);
|
62
|
+
|
63
|
+
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_LEFT_SHOULDER, KEY_GAMEPAD_LSHOULDER);
|
64
|
+
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_RIGHT_SHOULDER, KEY_GAMEPAD_RSHOULDER);
|
65
|
+
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_LEFT_THUMB, KEY_GAMEPAD_LTHUMB);
|
66
|
+
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_RIGHT_THUMB, KEY_GAMEPAD_RTHUMB);
|
67
|
+
|
68
|
+
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_START, KEY_GAMEPAD_START);
|
69
|
+
handle_gamepad_button_event(win, state, prev_state, XINPUT_GAMEPAD_BACK, KEY_GAMEPAD_SELECT);
|
70
|
+
|
71
|
+
handle_gamepad_trigger_event(win, state.Gamepad.bLeftTrigger, prev_state.Gamepad.bLeftTrigger, KEY_GAMEPAD_LTRIGGER);
|
72
|
+
handle_gamepad_trigger_event(win, state.Gamepad.bRightTrigger, prev_state.Gamepad.bRightTrigger, KEY_GAMEPAD_RTRIGGER);
|
73
|
+
}
|
74
|
+
|
75
|
+
void
|
76
|
+
Gamepad_init (Application* app)
|
77
|
+
{
|
78
|
+
}
|
79
|
+
|
80
|
+
void
|
81
|
+
Gamepad_fin (Application* app)
|
82
|
+
{
|
83
|
+
Gamepad_remove_all(app);
|
84
|
+
}
|
85
|
+
|
86
|
+
void
|
87
|
+
Gamepad_poll ()
|
88
|
+
{
|
89
|
+
static XINPUT_STATE prev_state;
|
90
|
+
static bool prev_detected = false;
|
91
|
+
|
92
|
+
XINPUT_STATE state = {0};
|
93
|
+
bool detected = XInputGetState(0, &state) == ERROR_SUCCESS;
|
94
|
+
|
95
|
+
if (detected != prev_detected)
|
96
|
+
{
|
97
|
+
prev_detected = detected;
|
98
|
+
if (detected) prev_state = {0};
|
99
|
+
}
|
100
|
+
|
101
|
+
if (!detected) return;
|
102
|
+
|
103
|
+
if (state.dwPacketNumber != prev_state.dwPacketNumber)
|
104
|
+
handle_gamepad_events(state, prev_state);
|
105
|
+
|
106
|
+
prev_state = state;
|
107
|
+
}
|
108
|
+
|
109
|
+
|
110
|
+
}// Reflex
|
data/src/win32/gamepad.h
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
// -*- c++ -*-
|
2
|
+
#pragma once
|
3
|
+
#ifndef __REFLEX_SRC_WIN32_GAMEPAD_H__
|
4
|
+
#define __REFLEX_SRC_WIN32_GAMEPAD_H__
|
5
|
+
|
6
|
+
|
7
|
+
#include "../gamepad.h"
|
8
|
+
|
9
|
+
|
10
|
+
namespace Reflex
|
11
|
+
{
|
12
|
+
|
13
|
+
|
14
|
+
void Gamepad_poll ();
|
15
|
+
|
16
|
+
|
17
|
+
}// Reflex
|
18
|
+
|
19
|
+
|
20
|
+
#endif//EOH
|
data/src/win32/window.cpp
CHANGED
@@ -12,6 +12,7 @@
|
|
12
12
|
#include "reflex/debug.h"
|
13
13
|
#include "../view.h"
|
14
14
|
#include "event.h"
|
15
|
+
#include "gamepad.h"
|
15
16
|
#include "screen.h"
|
16
17
|
#include "opengl.h"
|
17
18
|
|
@@ -154,7 +155,7 @@ namespace Reflex
|
|
154
155
|
{
|
155
156
|
WindowData* self = get_data(win);
|
156
157
|
|
157
|
-
|
158
|
+
Gamepad_poll();
|
158
159
|
|
159
160
|
Window_call_update_event(win);
|
160
161
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reflexion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- xordog
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xot
|
@@ -16,60 +16,60 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.3.
|
19
|
+
version: 0.3.6
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.3.
|
22
|
+
version: 0.3.6
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.3.
|
29
|
+
version: 0.3.6
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0.3.
|
32
|
+
version: 0.3.6
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: rucy
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 0.3.
|
39
|
+
version: 0.3.6
|
40
40
|
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 0.3.
|
42
|
+
version: 0.3.6
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.3.
|
49
|
+
version: 0.3.6
|
50
50
|
- - ">="
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: 0.3.
|
52
|
+
version: 0.3.6
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: rays
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
57
|
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.3.
|
59
|
+
version: 0.3.6
|
60
60
|
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: 0.3.
|
62
|
+
version: 0.3.6
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.3.
|
69
|
+
version: 0.3.6
|
70
70
|
- - ">="
|
71
71
|
- !ruby/object:Gem::Version
|
72
|
-
version: 0.3.
|
72
|
+
version: 0.3.6
|
73
73
|
description: This library helps you to develop interactive graphical user interface.
|
74
74
|
email: xordog@gmail.com
|
75
75
|
executables: []
|
@@ -80,6 +80,7 @@ extra_rdoc_files:
|
|
80
80
|
- ".doc/ext/reflex/capture_event.cpp"
|
81
81
|
- ".doc/ext/reflex/contact_event.cpp"
|
82
82
|
- ".doc/ext/reflex/device.cpp"
|
83
|
+
- ".doc/ext/reflex/device_event.cpp"
|
83
84
|
- ".doc/ext/reflex/draw_event.cpp"
|
84
85
|
- ".doc/ext/reflex/ellipse_shape.cpp"
|
85
86
|
- ".doc/ext/reflex/event.cpp"
|
@@ -114,6 +115,7 @@ files:
|
|
114
115
|
- ".doc/ext/reflex/capture_event.cpp"
|
115
116
|
- ".doc/ext/reflex/contact_event.cpp"
|
116
117
|
- ".doc/ext/reflex/device.cpp"
|
118
|
+
- ".doc/ext/reflex/device_event.cpp"
|
117
119
|
- ".doc/ext/reflex/draw_event.cpp"
|
118
120
|
- ".doc/ext/reflex/ellipse_shape.cpp"
|
119
121
|
- ".doc/ext/reflex/event.cpp"
|
@@ -161,6 +163,7 @@ files:
|
|
161
163
|
- ext/reflex/contact_event.cpp
|
162
164
|
- ext/reflex/defs.h
|
163
165
|
- ext/reflex/device.cpp
|
166
|
+
- ext/reflex/device_event.cpp
|
164
167
|
- ext/reflex/draw_event.cpp
|
165
168
|
- ext/reflex/ellipse_shape.cpp
|
166
169
|
- ext/reflex/event.cpp
|
@@ -200,12 +203,14 @@ files:
|
|
200
203
|
- include/reflex/event.h
|
201
204
|
- include/reflex/exception.h
|
202
205
|
- include/reflex/filter.h
|
206
|
+
- include/reflex/gamepad.h
|
203
207
|
- include/reflex/image_view.h
|
204
208
|
- include/reflex/pointer.h
|
205
209
|
- include/reflex/reflex.h
|
206
210
|
- include/reflex/ruby.h
|
207
211
|
- include/reflex/ruby/application.h
|
208
212
|
- include/reflex/ruby/defs.h
|
213
|
+
- include/reflex/ruby/device.h
|
209
214
|
- include/reflex/ruby/event.h
|
210
215
|
- include/reflex/ruby/exception.h
|
211
216
|
- include/reflex/ruby/filter.h
|
@@ -327,12 +332,15 @@ files:
|
|
327
332
|
- src/application.h
|
328
333
|
- src/body.cpp
|
329
334
|
- src/body.h
|
335
|
+
- src/device.cpp
|
330
336
|
- src/event.cpp
|
331
337
|
- src/event.h
|
332
338
|
- src/exception.cpp
|
333
339
|
- src/filter.cpp
|
334
340
|
- src/fixture.cpp
|
335
341
|
- src/fixture.h
|
342
|
+
- src/gamepad.cpp
|
343
|
+
- src/gamepad.h
|
336
344
|
- src/image_view.cpp
|
337
345
|
- src/ios/app_delegate.h
|
338
346
|
- src/ios/app_delegate.mm
|
@@ -341,6 +349,7 @@ files:
|
|
341
349
|
- src/ios/device.mm
|
342
350
|
- src/ios/event.h
|
343
351
|
- src/ios/event.mm
|
352
|
+
- src/ios/gamepad.mm
|
344
353
|
- src/ios/reflex.mm
|
345
354
|
- src/ios/screen.h
|
346
355
|
- src/ios/screen.mm
|
@@ -355,6 +364,9 @@ files:
|
|
355
364
|
- src/osx/device.mm
|
356
365
|
- src/osx/event.h
|
357
366
|
- src/osx/event.mm
|
367
|
+
- src/osx/gamepad.mm
|
368
|
+
- src/osx/gamepad_gc.mm
|
369
|
+
- src/osx/gamepad_hid.mm
|
358
370
|
- src/osx/native_window.h
|
359
371
|
- src/osx/native_window.mm
|
360
372
|
- src/osx/opengl_view.h
|
@@ -380,6 +392,8 @@ files:
|
|
380
392
|
- src/win32/device.cpp
|
381
393
|
- src/win32/event.cpp
|
382
394
|
- src/win32/event.h
|
395
|
+
- src/win32/gamepad.cpp
|
396
|
+
- src/win32/gamepad.h
|
383
397
|
- src/win32/opengl.cpp
|
384
398
|
- src/win32/opengl.h
|
385
399
|
- src/win32/reflex.cpp
|