reflexion 0.1.19 → 0.1.23
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/contact_event.cpp +6 -6
- data/.doc/ext/reflex/event.cpp +9 -1
- data/.doc/ext/reflex/focus_event.cpp +6 -6
- data/.doc/ext/reflex/key_event.cpp +211 -13
- data/.doc/ext/reflex/native.cpp +2 -0
- data/.doc/ext/reflex/pointer.cpp +158 -0
- data/.doc/ext/reflex/pointer_event.cpp +31 -90
- data/.doc/ext/reflex/selector.cpp +8 -0
- data/.doc/ext/reflex/view.cpp +57 -0
- data/.doc/ext/reflex/window.cpp +41 -0
- data/VERSION +1 -1
- data/ext/reflex/contact_event.cpp +6 -6
- data/ext/reflex/event.cpp +11 -2
- data/ext/reflex/focus_event.cpp +6 -6
- data/ext/reflex/key_event.cpp +212 -13
- data/ext/reflex/native.cpp +2 -0
- data/ext/reflex/pointer.cpp +170 -0
- data/ext/reflex/pointer_event.cpp +30 -95
- data/ext/reflex/selector.cpp +9 -0
- data/ext/reflex/view.cpp +67 -3
- data/ext/reflex/window.cpp +49 -3
- data/include/reflex/defs.h +140 -106
- data/include/reflex/event.h +26 -27
- data/include/reflex/pointer.h +107 -0
- data/include/reflex/ruby/pointer.h +41 -0
- data/include/reflex/ruby/view.h +9 -0
- data/include/reflex/ruby/window.h +9 -0
- data/include/reflex/selector.h +1 -1
- data/include/reflex/view.h +6 -4
- data/include/reflex/window.h +14 -8
- data/lib/reflex/application.rb +3 -3
- data/lib/reflex/autoinit.rb +1 -1
- data/lib/reflex/button.rb +7 -7
- data/lib/reflex/capture_event.rb +7 -7
- data/lib/reflex/contact_event.rb +4 -4
- data/lib/reflex/draw_event.rb +2 -2
- data/lib/reflex/ellipse_shape.rb +2 -2
- data/lib/reflex/focus_event.rb +4 -4
- data/lib/reflex/frame_event.rb +5 -5
- data/lib/reflex/helper.rb +20 -20
- data/lib/reflex/image_view.rb +2 -2
- data/lib/reflex/key_event.rb +6 -6
- data/lib/reflex/model.rb +22 -22
- data/lib/reflex/model_owner.rb +7 -7
- data/lib/reflex/model_view.rb +1 -1
- data/lib/reflex/module.rb +5 -5
- data/lib/reflex/pointer.rb +107 -0
- data/lib/reflex/pointer_event.rb +16 -54
- data/lib/reflex/polygon_shape.rb +2 -2
- data/lib/reflex/reflex.rb +3 -3
- data/lib/reflex/scroll_event.rb +1 -1
- data/lib/reflex/selector.rb +4 -4
- data/lib/reflex/shape.rb +13 -13
- data/lib/reflex/style.rb +11 -11
- data/lib/reflex/style_length.rb +1 -1
- data/lib/reflex/text_view.rb +2 -2
- data/lib/reflex/timer.rb +2 -2
- data/lib/reflex/timer_event.rb +1 -1
- data/lib/reflex/update_event.rb +1 -1
- data/lib/reflex/view.rb +32 -32
- data/lib/reflex/wheel_event.rb +3 -3
- data/lib/reflex/window.rb +7 -6
- data/lib/reflex.rb +1 -0
- data/lib/reflexion.rb +17 -17
- data/reflex.gemspec +5 -5
- data/samples/reflexion/noise.rb +1 -1
- data/samples/tree.rb +1 -1
- data/src/event.cpp +189 -37
- data/src/event.h +32 -0
- data/src/ios/event.h +15 -3
- data/src/ios/event.mm +126 -11
- data/src/ios/view_controller.mm +50 -22
- data/src/ios/window.mm +18 -0
- data/src/osx/event.h +14 -3
- data/src/osx/event.mm +213 -23
- data/src/osx/native_window.mm +84 -17
- data/src/osx/window.mm +22 -0
- data/src/pointer.cpp +203 -0
- data/src/pointer.h +26 -0
- data/src/selector.cpp +1 -1
- data/src/view.cpp +103 -64
- data/src/view.h +0 -4
- data/src/window.cpp +334 -98
- data/src/window.h +28 -3
- data/test/helper.rb +3 -3
- data/test/test_application.rb +1 -1
- data/test/test_capture_event.rb +6 -6
- data/test/test_event.rb +18 -4
- data/test/test_has_frame.rb +11 -11
- data/test/test_pointer.rb +149 -0
- data/test/test_pointer_event.rb +70 -104
- data/test/test_reflex.rb +1 -1
- data/test/test_selector.rb +15 -8
- data/test/test_shape.rb +8 -8
- data/test/test_style.rb +13 -13
- data/test/test_style_length.rb +5 -5
- data/test/test_view.rb +57 -30
- data/test/test_window.rb +45 -26
- metadata +46 -35
data/ext/reflex/view.cpp
CHANGED
@@ -130,6 +130,54 @@ RUCY_DEF0(update_layout)
|
|
130
130
|
}
|
131
131
|
RUCY_END
|
132
132
|
|
133
|
+
static
|
134
|
+
RUCY_DEF1(from_parent, point)
|
135
|
+
{
|
136
|
+
CHECK;
|
137
|
+
return value(THIS->from_parent(to<Rays::Point>(point)));
|
138
|
+
}
|
139
|
+
RUCY_END
|
140
|
+
|
141
|
+
static
|
142
|
+
RUCY_DEF1(to_parent, point)
|
143
|
+
{
|
144
|
+
CHECK;
|
145
|
+
return value(THIS->to_parent(to<Rays::Point>(point)));
|
146
|
+
}
|
147
|
+
RUCY_END
|
148
|
+
|
149
|
+
static
|
150
|
+
RUCY_DEF1(from_window, point)
|
151
|
+
{
|
152
|
+
CHECK;
|
153
|
+
return value(THIS->from_window(to<Rays::Point>(point)));
|
154
|
+
}
|
155
|
+
RUCY_END
|
156
|
+
|
157
|
+
static
|
158
|
+
RUCY_DEF1(to_window, point)
|
159
|
+
{
|
160
|
+
CHECK;
|
161
|
+
return value(THIS->to_window(to<Rays::Point>(point)));
|
162
|
+
}
|
163
|
+
RUCY_END
|
164
|
+
|
165
|
+
static
|
166
|
+
RUCY_DEF1(from_screen, point)
|
167
|
+
{
|
168
|
+
CHECK;
|
169
|
+
return value(THIS->from_screen(to<Rays::Point>(point)));
|
170
|
+
}
|
171
|
+
RUCY_END
|
172
|
+
|
173
|
+
static
|
174
|
+
RUCY_DEF1(to_screen, point)
|
175
|
+
{
|
176
|
+
CHECK;
|
177
|
+
return value(THIS->to_screen(to<Rays::Point>(point)));
|
178
|
+
}
|
179
|
+
RUCY_END
|
180
|
+
|
133
181
|
static
|
134
182
|
RUCY_DEF1(add_child, child)
|
135
183
|
{
|
@@ -1034,6 +1082,14 @@ RUCY_DEF1(on_pointer_move, event)
|
|
1034
1082
|
}
|
1035
1083
|
RUCY_END
|
1036
1084
|
|
1085
|
+
static
|
1086
|
+
RUCY_DEF1(on_pointer_cancel, event)
|
1087
|
+
{
|
1088
|
+
CHECK;
|
1089
|
+
CALL(on_pointer_cancel(to<Reflex::PointerEvent*>(event)));
|
1090
|
+
}
|
1091
|
+
RUCY_END
|
1092
|
+
|
1037
1093
|
static
|
1038
1094
|
RUCY_DEF1(on_wheel, event)
|
1039
1095
|
{
|
@@ -1102,6 +1158,13 @@ Init_view ()
|
|
1102
1158
|
cView.define_private_method("start_timer", start_timer);
|
1103
1159
|
cView.define_method("update_layout", update_layout);
|
1104
1160
|
|
1161
|
+
cView.define_method("from_parent", from_parent);
|
1162
|
+
cView.define_method( "to_parent", to_parent);
|
1163
|
+
cView.define_method("from_window", from_window);
|
1164
|
+
cView.define_method( "to_window", to_window);
|
1165
|
+
cView.define_method("from_screen", from_screen);
|
1166
|
+
cView.define_method( "to_screen", to_screen);
|
1167
|
+
|
1105
1168
|
cView.define_method("add_child", add_child);
|
1106
1169
|
cView.define_method("remove_child", remove_child);
|
1107
1170
|
cView.define_method("clear_children", clear_children);
|
@@ -1201,9 +1264,10 @@ Init_view ()
|
|
1201
1264
|
cView.define_method("on_key_down", on_key_down);
|
1202
1265
|
cView.define_method("on_key_up", on_key_up);
|
1203
1266
|
cView.define_method("on_pointer", on_pointer);
|
1204
|
-
cView.define_method("on_pointer_down",
|
1205
|
-
cView.define_method("on_pointer_up",
|
1206
|
-
cView.define_method("on_pointer_move",
|
1267
|
+
cView.define_method("on_pointer_down", on_pointer_down);
|
1268
|
+
cView.define_method("on_pointer_up", on_pointer_up);
|
1269
|
+
cView.define_method("on_pointer_move", on_pointer_move);
|
1270
|
+
cView.define_method("on_pointer_cancel", on_pointer_cancel);
|
1207
1271
|
cView.define_method("on_wheel", on_wheel);
|
1208
1272
|
cView.define_method("on_capture", on_capture);
|
1209
1273
|
cView.define_method("on_timer", on_timer);
|
data/ext/reflex/window.cpp
CHANGED
@@ -59,6 +59,22 @@ RUCY_DEF0(redraw)
|
|
59
59
|
}
|
60
60
|
RUCY_END
|
61
61
|
|
62
|
+
static
|
63
|
+
RUCY_DEF1(from_screen, point)
|
64
|
+
{
|
65
|
+
CHECK;
|
66
|
+
return value(THIS->from_screen(to<Rays::Point>(point)));
|
67
|
+
}
|
68
|
+
RUCY_END
|
69
|
+
|
70
|
+
static
|
71
|
+
RUCY_DEF1(to_screen, point)
|
72
|
+
{
|
73
|
+
CHECK;
|
74
|
+
return value(THIS->to_screen(to<Rays::Point>(point)));
|
75
|
+
}
|
76
|
+
RUCY_END
|
77
|
+
|
62
78
|
static
|
63
79
|
RUCY_DEF1(set_title, title)
|
64
80
|
{
|
@@ -93,6 +109,23 @@ RUCY_DEF0(get_frame)
|
|
93
109
|
}
|
94
110
|
RUCY_END
|
95
111
|
|
112
|
+
static
|
113
|
+
RUCY_DEF1(set_resizable, state)
|
114
|
+
{
|
115
|
+
CHECK;
|
116
|
+
THIS->set_resizable(to<bool>(state));
|
117
|
+
return value(THIS->is_resizable());
|
118
|
+
}
|
119
|
+
RUCY_END
|
120
|
+
|
121
|
+
static
|
122
|
+
RUCY_DEF0(is_resizable)
|
123
|
+
{
|
124
|
+
CHECK;
|
125
|
+
return value(THIS->is_resizable());
|
126
|
+
}
|
127
|
+
RUCY_END
|
128
|
+
|
96
129
|
static
|
97
130
|
RUCY_DEF0(hidden)
|
98
131
|
{
|
@@ -241,6 +274,14 @@ RUCY_DEF1(on_pointer_move, event)
|
|
241
274
|
}
|
242
275
|
RUCY_END
|
243
276
|
|
277
|
+
static
|
278
|
+
RUCY_DEF1(on_pointer_cancel, event)
|
279
|
+
{
|
280
|
+
CHECK;
|
281
|
+
CALL(on_pointer_cancel(to<Reflex::PointerEvent*>(event)));
|
282
|
+
}
|
283
|
+
RUCY_END
|
284
|
+
|
244
285
|
static
|
245
286
|
RUCY_DEF1(on_wheel, event)
|
246
287
|
{
|
@@ -263,10 +304,14 @@ Init_window ()
|
|
263
304
|
cWindow.define_method("hide", hide);
|
264
305
|
cWindow.define_method("close", close);
|
265
306
|
cWindow.define_method("redraw", redraw);
|
307
|
+
cWindow.define_method("from_screen", from_screen);
|
308
|
+
cWindow.define_method( "to_screen", to_screen);
|
266
309
|
cWindow.define_method("title=", set_title);
|
267
310
|
cWindow.define_method("title", get_title);
|
268
311
|
cWindow.define_method("frame=", set_frame);
|
269
312
|
cWindow.define_method("frame", get_frame);
|
313
|
+
cWindow.define_method("resizable=", set_resizable);
|
314
|
+
cWindow.define_method("resizable?", is_resizable);
|
270
315
|
cWindow.define_method("hidden", hidden);
|
271
316
|
cWindow.define_method("root", root);
|
272
317
|
cWindow.define_method("focus", focus);
|
@@ -282,9 +327,10 @@ Init_window ()
|
|
282
327
|
cWindow.define_method("on_key_down", on_key_down);
|
283
328
|
cWindow.define_method("on_key_up", on_key_up);
|
284
329
|
cWindow.define_method("on_pointer", on_pointer);
|
285
|
-
cWindow.define_method("on_pointer_down",
|
286
|
-
cWindow.define_method("on_pointer_up",
|
287
|
-
cWindow.define_method("on_pointer_move",
|
330
|
+
cWindow.define_method("on_pointer_down", on_pointer_down);
|
331
|
+
cWindow.define_method("on_pointer_up", on_pointer_up);
|
332
|
+
cWindow.define_method("on_pointer_move", on_pointer_move);
|
333
|
+
cWindow.define_method("on_pointer_cancel", on_pointer_cancel);
|
288
334
|
cWindow.define_method("on_wheel", on_wheel);
|
289
335
|
}
|
290
336
|
|
data/include/reflex/defs.h
CHANGED
@@ -68,98 +68,89 @@ namespace Reflex
|
|
68
68
|
|
69
69
|
KEY_NONE = 0,
|
70
70
|
|
71
|
+
KEY_A,
|
72
|
+
KEY_B,
|
73
|
+
KEY_C,
|
74
|
+
KEY_D,
|
75
|
+
KEY_E,
|
76
|
+
KEY_F,
|
77
|
+
KEY_G,
|
78
|
+
KEY_H,
|
79
|
+
KEY_I,
|
80
|
+
KEY_J,
|
81
|
+
KEY_K,
|
82
|
+
KEY_L,
|
83
|
+
KEY_M,
|
84
|
+
KEY_N,
|
85
|
+
KEY_O,
|
86
|
+
KEY_P,
|
87
|
+
KEY_Q,
|
88
|
+
KEY_R,
|
89
|
+
KEY_S,
|
90
|
+
KEY_T,
|
91
|
+
KEY_U,
|
92
|
+
KEY_V,
|
93
|
+
KEY_W,
|
94
|
+
KEY_X,
|
95
|
+
KEY_Y,
|
96
|
+
KEY_Z,
|
97
|
+
|
98
|
+
KEY_0,
|
99
|
+
KEY_1,
|
100
|
+
KEY_2,
|
101
|
+
KEY_3,
|
102
|
+
KEY_4,
|
103
|
+
KEY_5,
|
104
|
+
KEY_6,
|
105
|
+
KEY_7,
|
106
|
+
KEY_8,
|
107
|
+
KEY_9,
|
108
|
+
|
109
|
+
KEY_MINUS,
|
110
|
+
KEY_EQUAL,
|
111
|
+
KEY_COMMA,
|
112
|
+
KEY_PERIOD,
|
113
|
+
KEY_SEMICOLON,
|
114
|
+
KEY_QUOTE,
|
115
|
+
KEY_SLASH,
|
116
|
+
KEY_BACKSLASH,
|
117
|
+
KEY_UNDERSCORE,
|
118
|
+
KEY_GRAVE,
|
119
|
+
KEY_YEN,
|
120
|
+
KEY_LBRACKET,
|
121
|
+
KEY_RBRACKET,
|
122
|
+
|
123
|
+
KEY_ENTER,
|
71
124
|
KEY_RETURN,
|
72
|
-
KEY_ENTER = KEY_RETURN,
|
73
|
-
KEY_ESCAPE,
|
74
125
|
KEY_SPACE,
|
75
|
-
KEY_BACKSPACE,
|
76
126
|
KEY_TAB,
|
127
|
+
KEY_DELETE,
|
128
|
+
KEY_BACKSPACE,
|
129
|
+
//KEY_INSERT,
|
130
|
+
KEY_ESCAPE,
|
77
131
|
|
78
132
|
KEY_LEFT,
|
79
|
-
KEY_UP,
|
80
133
|
KEY_RIGHT,
|
134
|
+
KEY_UP,
|
81
135
|
KEY_DOWN,
|
82
|
-
|
83
|
-
KEY_INSERT,
|
84
|
-
KEY_DELETE,
|
85
136
|
KEY_HOME,
|
86
137
|
KEY_END,
|
87
138
|
KEY_PAGEUP,
|
88
139
|
KEY_PAGEDOWN,
|
89
140
|
|
90
|
-
KEY_SHIFT,
|
91
141
|
KEY_LSHIFT,
|
92
142
|
KEY_RSHIFT,
|
93
|
-
|
94
|
-
KEY_CONTROL,
|
95
143
|
KEY_LCONTROL,
|
96
144
|
KEY_RCONTROL,
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
KEY_OPTION = KEY_ALT,
|
107
|
-
KEY_LOPTION = KEY_LALT,
|
108
|
-
KEY_ROPTION = KEY_RALT,
|
109
|
-
|
110
|
-
KEY_COMMAND = KEY_WIN,
|
111
|
-
KEY_LCOMMAND = KEY_LWIN,
|
112
|
-
KEY_RCOMMAND = KEY_RWIN,
|
113
|
-
|
114
|
-
KEY_CAPSLOCK,
|
115
|
-
KEY_NUMLOCK,
|
116
|
-
KEY_SCROLLLOCK,
|
117
|
-
|
118
|
-
KEY_PRINTSCREEN,
|
119
|
-
KEY_PAUSE,
|
120
|
-
KEY_BREAK,
|
121
|
-
|
122
|
-
KEY_SLEEP,
|
123
|
-
KEY_EXEC,//UTE,
|
124
|
-
KEY_HELP,
|
125
|
-
KEY_PRINT,
|
126
|
-
KEY_APPS,
|
127
|
-
KEY_SELECT,
|
128
|
-
KEY_CLEAR,
|
129
|
-
KEY_PLAY,
|
130
|
-
KEY_ZOOM,
|
131
|
-
|
132
|
-
KEY_IME_KANA,
|
133
|
-
KEY_IME_KANJI,
|
134
|
-
KEY_IME_JUNJA,
|
135
|
-
KEY_IME_PROCESS,
|
136
|
-
KEY_IME_ACCEPT,
|
137
|
-
KEY_IME_FINAL,
|
138
|
-
KEY_IME_CONVERT,
|
139
|
-
KEY_IME_NONCONVERT,
|
140
|
-
KEY_IME_MODECHANGE,
|
141
|
-
|
142
|
-
KEY_BROWSER_BACK,
|
143
|
-
KEY_BROWSER_FORWARD,
|
144
|
-
KEY_BROWSER_REFRESH,
|
145
|
-
KEY_BROWSER_STOP,
|
146
|
-
KEY_BROWSER_SEARCH,
|
147
|
-
KEY_BROWSER_FAVORITES,
|
148
|
-
KEY_BROWSER_HOME,
|
149
|
-
|
150
|
-
KEY_VOLUME_MUTE,
|
151
|
-
KEY_VOLUME_DOWN,
|
152
|
-
KEY_VOLUME_UP,
|
153
|
-
|
154
|
-
KEY_MEDIA_NEXT_TRACK,
|
155
|
-
KEY_MEDIA_PREV_TRACK,
|
156
|
-
KEY_MEDIA_STOP,
|
157
|
-
KEY_MEDIA_PLAY_PAUSE,
|
158
|
-
|
159
|
-
KEY_LAUNCH_MAIL,
|
160
|
-
KEY_LAUNCH_MEDIA_SELECT,
|
161
|
-
KEY_LAUNCH_APP1,
|
162
|
-
KEY_LAUNCH_APP2,
|
145
|
+
//KEY_LALT,
|
146
|
+
//KEY_RALT,
|
147
|
+
//KEY_LWIN,
|
148
|
+
//KEY_RWIN,
|
149
|
+
KEY_LCOMMAND,
|
150
|
+
KEY_RCOMMAND,
|
151
|
+
KEY_LOPTION,
|
152
|
+
KEY_ROPTION,
|
153
|
+
KEY_FUNCTION,
|
163
154
|
|
164
155
|
KEY_F1,
|
165
156
|
KEY_F2,
|
@@ -181,41 +172,84 @@ namespace Reflex
|
|
181
172
|
KEY_F18,
|
182
173
|
KEY_F19,
|
183
174
|
KEY_F20,
|
184
|
-
KEY_F21,
|
185
|
-
KEY_F22,
|
186
|
-
KEY_F23,
|
187
|
-
KEY_F24,
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
175
|
+
//KEY_F21,
|
176
|
+
//KEY_F22,
|
177
|
+
//KEY_F23,
|
178
|
+
//KEY_F24,
|
179
|
+
|
180
|
+
KEY_NUM_0,
|
181
|
+
KEY_NUM_1,
|
182
|
+
KEY_NUM_2,
|
183
|
+
KEY_NUM_3,
|
184
|
+
KEY_NUM_4,
|
185
|
+
KEY_NUM_5,
|
186
|
+
KEY_NUM_6,
|
187
|
+
KEY_NUM_7,
|
188
|
+
KEY_NUM_8,
|
189
|
+
KEY_NUM_9,
|
190
|
+
|
191
|
+
KEY_NUM_PLUS,
|
192
|
+
KEY_NUM_MINUS,
|
193
|
+
KEY_NUM_MULTIPLY,
|
194
|
+
KEY_NUM_DIVIDE,
|
195
|
+
KEY_NUM_EQUAL,
|
196
|
+
KEY_NUM_COMMA,
|
197
|
+
KEY_NUM_DECIMAL,
|
198
|
+
KEY_NUM_CLEAR,
|
201
199
|
|
200
|
+
KEY_CAPSLOCK,
|
201
|
+
//KEY_NUMLOCK,
|
202
|
+
//KEY_SCROLLLOCK,
|
202
203
|
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
POINTER_MOUSE_LEFT = 0x1 << 0,
|
209
|
-
|
210
|
-
POINTER_MOUSE_RIGHT = 0x1 << 1,
|
211
|
-
|
212
|
-
POINTER_MOUSE_MIDDLE = 0x1 << 2,
|
204
|
+
//KEY_PRINTSCREEN,
|
205
|
+
//KEY_PAUSE,
|
206
|
+
//KEY_BREAK,
|
207
|
+
KEY_SECTION,
|
208
|
+
KEY_HELP,
|
213
209
|
|
214
|
-
|
210
|
+
KEY_IME_EISU,
|
211
|
+
KEY_IME_KANA,
|
212
|
+
//KEY_IME_KANJI,
|
213
|
+
//KEY_IME_JUNJA,
|
214
|
+
//KEY_IME_PROCESS,
|
215
|
+
//KEY_IME_ACCEPT,
|
216
|
+
//KEY_IME_FINAL,
|
217
|
+
//KEY_IME_CONVERT,
|
218
|
+
//KEY_IME_NONCONVERT,
|
219
|
+
//KEY_IME_MODECHANGE,
|
215
220
|
|
216
|
-
|
221
|
+
KEY_VOLUME_UP,
|
222
|
+
KEY_VOLUME_DOWN,
|
223
|
+
KEY_MUTE,
|
224
|
+
|
225
|
+
//KEY_SLEEP,
|
226
|
+
//KEY_EXEC,
|
227
|
+
//KEY_PRINT,
|
228
|
+
//KEY_APPS,
|
229
|
+
//KEY_SELECT,
|
230
|
+
//KEY_CLEAR,
|
231
|
+
//KEY_PLAY,
|
232
|
+
//KEY_ZOOM,
|
233
|
+
|
234
|
+
//KEY_BROWSER_BACK,
|
235
|
+
//KEY_BROWSER_FORWARD,
|
236
|
+
//KEY_BROWSER_REFRESH,
|
237
|
+
//KEY_BROWSER_STOP,
|
238
|
+
//KEY_BROWSER_SEARCH,
|
239
|
+
//KEY_BROWSER_FAVORITES,
|
240
|
+
//KEY_BROWSER_HOME,
|
241
|
+
|
242
|
+
//KEY_MEDIA_NEXT_TRACK,
|
243
|
+
//KEY_MEDIA_PREV_TRACK,
|
244
|
+
//KEY_MEDIA_STOP,
|
245
|
+
//KEY_MEDIA_PLAY_PAUSE,
|
246
|
+
|
247
|
+
//KEY_LAUNCH_MAIL,
|
248
|
+
//KEY_LAUNCH_MEDIA_SELECT,
|
249
|
+
//KEY_LAUNCH_APP1,
|
250
|
+
//KEY_LAUNCH_APP2,
|
217
251
|
|
218
|
-
};//
|
252
|
+
};// KeyCode
|
219
253
|
|
220
254
|
|
221
255
|
enum Modifier
|
data/include/reflex/event.h
CHANGED
@@ -4,10 +4,12 @@
|
|
4
4
|
#define __REFLEX_EVENT_H__
|
5
5
|
|
6
6
|
|
7
|
+
#include <xot/pimpl.h>
|
7
8
|
#include <rays/point.h>
|
8
9
|
#include <rays/bounds.h>
|
9
10
|
#include <rays/painter.h>
|
10
11
|
#include <reflex/defs.h>
|
12
|
+
#include <reflex/pointer.h>
|
11
13
|
#include <reflex/timer.h>
|
12
14
|
|
13
15
|
|
@@ -30,10 +32,14 @@ namespace Reflex
|
|
30
32
|
|
31
33
|
bool is_blocked () const;
|
32
34
|
|
35
|
+
double time () const;
|
36
|
+
|
33
37
|
private:
|
34
38
|
|
35
39
|
bool blocked;
|
36
40
|
|
41
|
+
double time_;
|
42
|
+
|
37
43
|
};// Event
|
38
44
|
|
39
45
|
|
@@ -161,7 +167,7 @@ namespace Reflex
|
|
161
167
|
|
162
168
|
int repeat;
|
163
169
|
|
164
|
-
bool
|
170
|
+
bool captured;
|
165
171
|
|
166
172
|
KeyEvent ();
|
167
173
|
|
@@ -172,47 +178,40 @@ namespace Reflex
|
|
172
178
|
};// KeyEvent
|
173
179
|
|
174
180
|
|
175
|
-
|
181
|
+
class PointerEvent : public Event
|
176
182
|
{
|
177
183
|
|
178
|
-
|
179
|
-
|
180
|
-
enum {MAX = 10};
|
181
|
-
|
182
|
-
Type type;
|
184
|
+
typedef PointerEvent This;
|
183
185
|
|
184
|
-
|
186
|
+
public:
|
185
187
|
|
186
|
-
|
188
|
+
PointerEvent (bool captured = false);
|
187
189
|
|
188
|
-
|
190
|
+
PointerEvent (
|
191
|
+
const Pointer& pointer,
|
192
|
+
bool captured = false);
|
189
193
|
|
190
|
-
|
194
|
+
PointerEvent (
|
195
|
+
const Pointer* pointers, size_t size,
|
196
|
+
bool captured = false);
|
191
197
|
|
192
|
-
|
193
|
-
{
|
194
|
-
struct {coord x, y, z;};
|
198
|
+
PointerEvent (const This& obj);
|
195
199
|
|
196
|
-
|
197
|
-
};
|
200
|
+
PointerEvent& operator = (const This& obj);
|
198
201
|
|
199
|
-
|
202
|
+
~PointerEvent ();
|
200
203
|
|
201
|
-
|
202
|
-
Type type, uint pointer_type, coord x, coord y,
|
203
|
-
uint modifiers = 0, uint count = 1, bool drag = false);
|
204
|
+
size_t size () const;
|
204
205
|
|
205
|
-
|
206
|
-
Type type, uint pointer_type, const Point* positions, size_t size,
|
207
|
-
uint modifiers = 0, uint count = 1, bool drag = false);
|
206
|
+
bool empty () const;
|
208
207
|
|
209
|
-
|
208
|
+
bool is_captured () const;
|
210
209
|
|
211
|
-
|
210
|
+
const Pointer& operator [] (size_t index) const;
|
212
211
|
|
213
|
-
|
212
|
+
struct Data;
|
214
213
|
|
215
|
-
|
214
|
+
Xot::PImpl<Data> self;
|
216
215
|
|
217
216
|
};// PointerEvent
|
218
217
|
|
@@ -0,0 +1,107 @@
|
|
1
|
+
// -*- c++ -*-
|
2
|
+
#pragma once
|
3
|
+
#ifndef __REFLEX_POINTER_H__
|
4
|
+
#define __REFLEX_POINTER_H__
|
5
|
+
|
6
|
+
|
7
|
+
#include <xot/pimpl.h>
|
8
|
+
#include <xot/util.h>
|
9
|
+
#include <rays/point.h>
|
10
|
+
#include <reflex/defs.h>
|
11
|
+
|
12
|
+
|
13
|
+
namespace Reflex
|
14
|
+
{
|
15
|
+
|
16
|
+
|
17
|
+
class Pointer
|
18
|
+
{
|
19
|
+
|
20
|
+
typedef Pointer This;
|
21
|
+
|
22
|
+
public:
|
23
|
+
|
24
|
+
typedef int ID;
|
25
|
+
|
26
|
+
enum Type
|
27
|
+
{
|
28
|
+
|
29
|
+
TYPE_NONE = 0,
|
30
|
+
|
31
|
+
MOUSE = Xot::bit(0),
|
32
|
+
|
33
|
+
MOUSE_LEFT = Xot::bit(1),
|
34
|
+
|
35
|
+
MOUSE_RIGHT = Xot::bit(2),
|
36
|
+
|
37
|
+
MOUSE_MIDDLE = Xot::bit(3),
|
38
|
+
|
39
|
+
TOUCH = Xot::bit(4),
|
40
|
+
|
41
|
+
PEN = Xot::bit(5),
|
42
|
+
|
43
|
+
};// Type
|
44
|
+
|
45
|
+
enum Action
|
46
|
+
{
|
47
|
+
|
48
|
+
ACTION_NONE = 0,
|
49
|
+
|
50
|
+
DOWN,
|
51
|
+
|
52
|
+
UP,
|
53
|
+
|
54
|
+
MOVE,
|
55
|
+
|
56
|
+
CANCEL,
|
57
|
+
|
58
|
+
STAY
|
59
|
+
|
60
|
+
};// Action
|
61
|
+
|
62
|
+
Pointer ();
|
63
|
+
|
64
|
+
Pointer (
|
65
|
+
ID id, uint type, Action action,
|
66
|
+
const Point& position, uint modifiers, uint click_count, bool drag,
|
67
|
+
double time);
|
68
|
+
|
69
|
+
Pointer (const This& obj);
|
70
|
+
|
71
|
+
Pointer& operator = (const This& obj);
|
72
|
+
|
73
|
+
~Pointer ();
|
74
|
+
|
75
|
+
ID id () const;
|
76
|
+
|
77
|
+
uint type () const;
|
78
|
+
|
79
|
+
Action action () const;
|
80
|
+
|
81
|
+
const Point& position () const;
|
82
|
+
|
83
|
+
uint modifiers () const;
|
84
|
+
|
85
|
+
uint click_count () const;
|
86
|
+
|
87
|
+
bool is_drag () const;
|
88
|
+
|
89
|
+
double time () const;
|
90
|
+
|
91
|
+
const Pointer* prev () const;
|
92
|
+
|
93
|
+
operator bool () const;
|
94
|
+
|
95
|
+
bool operator ! () const;
|
96
|
+
|
97
|
+
struct Data;
|
98
|
+
|
99
|
+
Xot::PImpl<Data> self;
|
100
|
+
|
101
|
+
};// Pointer
|
102
|
+
|
103
|
+
|
104
|
+
}// Reflex
|
105
|
+
|
106
|
+
|
107
|
+
#endif//EOH
|
@@ -0,0 +1,41 @@
|
|
1
|
+
// -*- c++ -*-
|
2
|
+
#pragma once
|
3
|
+
#ifndef __REFLEX_RUBY_POINTER_H__
|
4
|
+
#define __REFLEX_RUBY_POINTER_H__
|
5
|
+
|
6
|
+
|
7
|
+
#include <rucy/rucy.h>
|
8
|
+
#include <rucy/class.h>
|
9
|
+
#include <rucy/extension.h>
|
10
|
+
#include <reflex/pointer.h>
|
11
|
+
|
12
|
+
|
13
|
+
namespace Reflex
|
14
|
+
{
|
15
|
+
|
16
|
+
|
17
|
+
Rucy::Class pointer_class ();
|
18
|
+
// class Reflex::Pointer
|
19
|
+
|
20
|
+
|
21
|
+
}// Reflex
|
22
|
+
|
23
|
+
|
24
|
+
RUCY_DECLARE_VALUE_FROM_TO(Reflex::Pointer)
|
25
|
+
|
26
|
+
|
27
|
+
namespace Rucy
|
28
|
+
{
|
29
|
+
|
30
|
+
|
31
|
+
template <> inline Class
|
32
|
+
get_ruby_class<Reflex::Pointer> ()
|
33
|
+
{
|
34
|
+
return Reflex::pointer_class();
|
35
|
+
}
|
36
|
+
|
37
|
+
|
38
|
+
}// Rucy
|
39
|
+
|
40
|
+
|
41
|
+
#endif//EOH
|