reflexion 0.5.3 → 0.7.0

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.
Files changed (309) hide show
  1. checksums.yaml +4 -4
  2. data/.doc/ext/reflex/application.cpp +56 -7
  3. data/.doc/ext/reflex/capture_event.cpp +1 -1
  4. data/.doc/ext/reflex/chase_constraint.cpp +84 -0
  5. data/.doc/ext/reflex/clipboard.cpp +65 -0
  6. data/.doc/ext/reflex/color_event.cpp +76 -0
  7. data/.doc/ext/reflex/color_picker.cpp +113 -0
  8. data/.doc/ext/reflex/constraint.cpp +135 -0
  9. data/.doc/ext/reflex/contact_event.cpp +1 -1
  10. data/.doc/ext/reflex/control_change_event.cpp +1 -1
  11. data/.doc/ext/reflex/device.cpp +1 -1
  12. data/.doc/ext/reflex/device_event.cpp +1 -1
  13. data/.doc/ext/reflex/draw_event.cpp +1 -1
  14. data/.doc/ext/reflex/ellipse_shape.cpp +1 -1
  15. data/.doc/ext/reflex/event.cpp +1 -1
  16. data/.doc/ext/reflex/file_dialog.cpp +181 -0
  17. data/.doc/ext/reflex/file_event.cpp +103 -0
  18. data/.doc/ext/reflex/filter.cpp +1 -1
  19. data/.doc/ext/reflex/focus_event.cpp +1 -1
  20. data/.doc/ext/reflex/frame_event.cpp +1 -1
  21. data/.doc/ext/reflex/gamepad.cpp +48 -0
  22. data/.doc/ext/reflex/image_view.cpp +1 -1
  23. data/.doc/ext/reflex/key_event.cpp +1 -274
  24. data/.doc/ext/reflex/line_shape.cpp +1 -1
  25. data/.doc/ext/reflex/link_constraint.cpp +178 -0
  26. data/.doc/ext/reflex/menu.cpp +303 -0
  27. data/.doc/ext/reflex/midi.cpp +9 -2
  28. data/.doc/ext/reflex/midi_event.cpp +1 -1
  29. data/.doc/ext/reflex/motion_event.cpp +1 -1
  30. data/.doc/ext/reflex/native.cpp +40 -10
  31. data/.doc/ext/reflex/note_event.cpp +1 -1
  32. data/.doc/ext/reflex/pin.cpp +156 -0
  33. data/.doc/ext/reflex/pointer.cpp +3 -1
  34. data/.doc/ext/reflex/pointer_event.cpp +3 -3
  35. data/.doc/ext/reflex/polygon_shape.cpp +1 -1
  36. data/.doc/ext/reflex/rect_shape.cpp +1 -1
  37. data/.doc/ext/reflex/reflex.cpp +606 -237
  38. data/.doc/ext/reflex/screen.cpp +27 -1
  39. data/.doc/ext/reflex/scroll_event.cpp +1 -1
  40. data/.doc/ext/reflex/selector.cpp +5 -5
  41. data/.doc/ext/reflex/shape.cpp +1 -1
  42. data/.doc/ext/reflex/snap_constraint.cpp +125 -0
  43. data/.doc/ext/reflex/style.cpp +1 -1
  44. data/.doc/ext/reflex/style_length.cpp +4 -3
  45. data/.doc/ext/reflex/text_event.cpp +104 -0
  46. data/.doc/ext/reflex/timer.cpp +1 -1
  47. data/.doc/ext/reflex/timer_event.cpp +1 -1
  48. data/.doc/ext/reflex/update_event.cpp +1 -1
  49. data/.doc/ext/reflex/view.cpp +206 -79
  50. data/.doc/ext/reflex/wheel_constraint.cpp +142 -0
  51. data/.doc/ext/reflex/wheel_event.cpp +1 -1
  52. data/.doc/ext/reflex/window.cpp +282 -31
  53. data/.github/workflows/release-gem.yml +2 -40
  54. data/.github/workflows/tag.yml +5 -28
  55. data/.github/workflows/test.yml +1 -28
  56. data/ChangeLog.md +79 -0
  57. data/Gemfile.lock +13 -8
  58. data/README.md +1 -0
  59. data/Rakefile +13 -2
  60. data/Reflex.podspec +2 -2
  61. data/VERSION +1 -1
  62. data/ext/reflex/application.cpp +62 -7
  63. data/ext/reflex/capture_event.cpp +1 -1
  64. data/ext/reflex/chase_constraint.cpp +89 -0
  65. data/ext/reflex/clipboard.cpp +69 -0
  66. data/ext/reflex/color_event.cpp +80 -0
  67. data/ext/reflex/color_picker.cpp +121 -0
  68. data/ext/reflex/constraint.cpp +146 -0
  69. data/ext/reflex/contact_event.cpp +1 -1
  70. data/ext/reflex/control_change_event.cpp +1 -1
  71. data/ext/reflex/device.cpp +1 -1
  72. data/ext/reflex/device_event.cpp +1 -1
  73. data/ext/reflex/draw_event.cpp +1 -1
  74. data/ext/reflex/ellipse_shape.cpp +1 -1
  75. data/ext/reflex/event.cpp +1 -1
  76. data/ext/reflex/extconf.rb +4 -2
  77. data/ext/reflex/file_dialog.cpp +194 -0
  78. data/ext/reflex/file_event.cpp +108 -0
  79. data/ext/reflex/filter.cpp +1 -1
  80. data/ext/reflex/focus_event.cpp +1 -1
  81. data/ext/reflex/frame_event.cpp +1 -1
  82. data/ext/reflex/gamepad.cpp +50 -0
  83. data/ext/reflex/image_view.cpp +1 -1
  84. data/ext/reflex/key_event.cpp +1 -275
  85. data/ext/reflex/line_shape.cpp +1 -1
  86. data/ext/reflex/link_constraint.cpp +194 -0
  87. data/ext/reflex/menu.cpp +331 -0
  88. data/ext/reflex/midi.cpp +11 -3
  89. data/ext/reflex/midi_event.cpp +1 -1
  90. data/ext/reflex/motion_event.cpp +1 -1
  91. data/ext/reflex/native.cpp +40 -10
  92. data/ext/reflex/note_event.cpp +1 -1
  93. data/ext/reflex/pin.cpp +165 -0
  94. data/ext/reflex/pointer.cpp +3 -1
  95. data/ext/reflex/pointer_event.cpp +3 -3
  96. data/ext/reflex/polygon_shape.cpp +1 -1
  97. data/ext/reflex/rect_shape.cpp +1 -1
  98. data/ext/reflex/reflex.cpp +608 -237
  99. data/ext/reflex/screen.cpp +31 -2
  100. data/ext/reflex/scroll_event.cpp +1 -1
  101. data/ext/reflex/selector.cpp +5 -5
  102. data/ext/reflex/selector.h +10 -10
  103. data/ext/reflex/shape.cpp +1 -1
  104. data/ext/reflex/snap_constraint.cpp +135 -0
  105. data/ext/reflex/style.cpp +1 -1
  106. data/ext/reflex/style_length.cpp +4 -3
  107. data/ext/reflex/text_event.cpp +111 -0
  108. data/ext/reflex/timer.cpp +1 -1
  109. data/ext/reflex/timer_event.cpp +1 -1
  110. data/ext/reflex/update_event.cpp +1 -1
  111. data/ext/reflex/view.cpp +236 -96
  112. data/ext/reflex/wheel_constraint.cpp +154 -0
  113. data/ext/reflex/wheel_event.cpp +1 -1
  114. data/ext/reflex/window.cpp +318 -40
  115. data/include/reflex/application.h +19 -0
  116. data/include/reflex/clipboard.h +53 -0
  117. data/include/reflex/color_picker.h +65 -0
  118. data/include/reflex/constraint.h +275 -0
  119. data/include/reflex/defs.h +204 -195
  120. data/include/reflex/event.h +180 -88
  121. data/include/reflex/file_dialog.h +73 -0
  122. data/include/reflex/gamepad.h +3 -0
  123. data/include/reflex/menu.h +120 -0
  124. data/include/reflex/midi.h +3 -0
  125. data/include/reflex/pin.h +68 -0
  126. data/include/reflex/pointer.h +4 -0
  127. data/include/reflex/reflex.h +2 -0
  128. data/include/reflex/ruby/application.h +6 -1
  129. data/include/reflex/ruby/clipboard.h +23 -0
  130. data/include/reflex/ruby/color_picker.h +89 -0
  131. data/include/reflex/ruby/constraint.h +94 -0
  132. data/include/reflex/ruby/event.h +62 -29
  133. data/include/reflex/ruby/file_dialog.h +89 -0
  134. data/include/reflex/ruby/gamepad.h +46 -0
  135. data/include/reflex/ruby/menu.h +103 -0
  136. data/include/reflex/ruby/pin.h +40 -0
  137. data/include/reflex/ruby/reflex.h +3 -0
  138. data/include/reflex/ruby/view.h +123 -39
  139. data/include/reflex/ruby/window.h +96 -19
  140. data/include/reflex/ruby.h +3 -0
  141. data/include/reflex/screen.h +11 -2
  142. data/include/reflex/view.h +66 -27
  143. data/include/reflex/window.h +57 -12
  144. data/include/reflex.h +8 -0
  145. data/lib/reflex/application.rb +5 -5
  146. data/lib/reflex/autoinit.rb +3 -1
  147. data/lib/reflex/button.rb +3 -3
  148. data/lib/reflex/chase_constraint.rb +15 -0
  149. data/lib/reflex/clipboard.rb +19 -0
  150. data/lib/reflex/color_event.rb +16 -0
  151. data/lib/reflex/color_picker.rb +45 -0
  152. data/lib/reflex/constraint.rb +29 -0
  153. data/lib/reflex/control_change_event.rb +17 -0
  154. data/lib/reflex/extension.rb +1 -1
  155. data/lib/reflex/file_dialog.rb +70 -0
  156. data/lib/reflex/file_event.rb +37 -0
  157. data/lib/reflex/helper.rb +79 -0
  158. data/lib/reflex/key_event.rb +14 -14
  159. data/lib/reflex/link_constraint.rb +31 -0
  160. data/lib/reflex/menu.rb +92 -0
  161. data/lib/reflex/model.rb +19 -19
  162. data/lib/reflex/note_event.rb +1 -1
  163. data/lib/reflex/pin.rb +39 -0
  164. data/lib/reflex/pointer.rb +30 -1
  165. data/lib/reflex/pointer_event.rb +13 -2
  166. data/lib/reflex/reflex.rb +5 -0
  167. data/lib/reflex/shape.rb +14 -14
  168. data/lib/reflex/snap_constraint.rb +28 -0
  169. data/lib/reflex/style.rb +16 -16
  170. data/lib/reflex/text_event.rb +40 -0
  171. data/lib/reflex/timer.rb +3 -3
  172. data/lib/reflex/view.rb +85 -18
  173. data/lib/reflex/wheel_constraint.rb +28 -0
  174. data/lib/reflex/wheel_event.rb +19 -1
  175. data/lib/reflex/window.rb +25 -13
  176. data/lib/reflex.rb +23 -8
  177. data/pod.rake +1 -1
  178. data/reflex.gemspec +4 -4
  179. data/samples/constraint.rb +152 -0
  180. data/samples/ime.rb +100 -0
  181. data/samples/ios/hello/hello.xcodeproj/project.pbxproj +236 -224
  182. data/samples/menu.rb +32 -0
  183. data/samples/model.rb +3 -3
  184. data/samples/test/alert.rb +93 -0
  185. data/samples/test/always_on.rb +76 -0
  186. data/samples/test/app_background.rb +51 -0
  187. data/samples/test/boundary.rb +75 -0
  188. data/samples/test/callback_exception.rb +101 -0
  189. data/samples/test/cancel.rb +53 -0
  190. data/samples/test/color_picker.rb +63 -0
  191. data/samples/test/file_dialog.rb +102 -0
  192. data/samples/window_style.rb +156 -0
  193. data/src/application.cpp +180 -20
  194. data/src/application.h +95 -5
  195. data/src/clipboard.cpp +81 -0
  196. data/src/color_picker.cpp +113 -0
  197. data/src/color_picker.h +36 -0
  198. data/src/constraint.cpp +1662 -0
  199. data/src/constraint.h +64 -0
  200. data/src/event.cpp +416 -252
  201. data/src/event.h +13 -2
  202. data/src/file_dialog.cpp +163 -0
  203. data/src/file_dialog.h +52 -0
  204. data/src/gamepad.cpp +42 -5
  205. data/src/gamepad.h +4 -0
  206. data/src/ios/app_delegate.mm +5 -3
  207. data/src/ios/application.mm +29 -0
  208. data/src/ios/clipboard.mm +44 -0
  209. data/src/ios/color_picker.mm +19 -0
  210. data/src/ios/event.h +6 -2
  211. data/src/ios/event.mm +31 -12
  212. data/src/ios/file_dialog.mm +21 -0
  213. data/src/ios/gamepad.mm +4 -4
  214. data/src/ios/menu.mm +41 -0
  215. data/src/ios/reflex.mm +8 -0
  216. data/src/ios/screen.mm +26 -0
  217. data/src/ios/view_controller.mm +47 -42
  218. data/src/ios/window.mm +44 -9
  219. data/src/menu.cpp +387 -0
  220. data/src/menu.h +81 -0
  221. data/src/midi.cpp +61 -31
  222. data/src/osx/app_delegate.h +4 -0
  223. data/src/osx/app_delegate.mm +168 -139
  224. data/src/osx/application.mm +103 -5
  225. data/src/osx/clipboard.mm +45 -0
  226. data/src/osx/color_picker.mm +112 -0
  227. data/src/osx/event.h +10 -0
  228. data/src/osx/event.mm +114 -30
  229. data/src/osx/file_dialog.mm +168 -0
  230. data/src/osx/gamepad.mm +2 -2
  231. data/src/osx/gamepad_hid.mm +1 -1
  232. data/src/osx/menu.h +25 -0
  233. data/src/osx/menu.mm +516 -0
  234. data/src/osx/native_window.h +16 -2
  235. data/src/osx/native_window.mm +141 -57
  236. data/src/osx/opengl_view.h +2 -1
  237. data/src/osx/opengl_view.mm +229 -37
  238. data/src/osx/reflex.mm +38 -0
  239. data/src/osx/screen.mm +36 -0
  240. data/src/osx/window.mm +117 -24
  241. data/src/pin.cpp +137 -0
  242. data/src/pointer.cpp +36 -16
  243. data/src/pointer.h +10 -0
  244. data/src/rays.h +46 -0
  245. data/src/sdl/application.cpp +73 -8
  246. data/src/sdl/clipboard.cpp +39 -0
  247. data/src/sdl/color_picker.cpp +18 -0
  248. data/src/sdl/event.cpp +44 -6
  249. data/src/sdl/event.h +18 -3
  250. data/src/sdl/file_dialog.cpp +20 -0
  251. data/src/sdl/gamepad.cpp +3 -7
  252. data/src/sdl/menu.cpp +40 -0
  253. data/src/sdl/reflex.cpp +20 -0
  254. data/src/sdl/screen.cpp +36 -0
  255. data/src/sdl/window.cpp +168 -37
  256. data/src/shape.cpp +15 -10
  257. data/src/view.cpp +583 -233
  258. data/src/view.h +22 -4
  259. data/src/vk.h +416 -0
  260. data/src/win32/application.cpp +167 -12
  261. data/src/win32/application.h +20 -0
  262. data/src/win32/clipboard.cpp +210 -0
  263. data/src/win32/color_picker.cpp +82 -0
  264. data/src/win32/event.cpp +123 -11
  265. data/src/win32/event.h +22 -3
  266. data/src/win32/file_dialog.cpp +226 -0
  267. data/src/win32/gamepad.cpp +9 -2
  268. data/src/win32/menu.cpp +490 -0
  269. data/src/win32/menu.h +35 -0
  270. data/src/win32/opengl.cpp +2 -9
  271. data/src/win32/reflex.cpp +44 -3
  272. data/src/win32/screen.cpp +164 -3
  273. data/src/win32/screen.h +8 -0
  274. data/src/win32/tray.cpp +191 -0
  275. data/src/win32/tray.h +22 -0
  276. data/src/win32/vk.cpp +11 -0
  277. data/src/win32/window.cpp +858 -135
  278. data/src/win32/window.h +9 -0
  279. data/src/window.cpp +929 -183
  280. data/src/window.h +77 -33
  281. data/src/world.cpp +86 -15
  282. data/src/world.h +9 -2
  283. data/test/helper.rb +24 -0
  284. data/test/test_application.rb +101 -1
  285. data/test/test_chase_constraint.rb +122 -0
  286. data/test/test_clipboard.rb +54 -0
  287. data/test/test_color_event.rb +36 -0
  288. data/test/test_color_picker.rb +62 -0
  289. data/test/test_constraint.rb +184 -0
  290. data/test/test_event.rb +1 -1
  291. data/test/test_file_dialog.rb +48 -0
  292. data/test/test_file_event.rb +43 -0
  293. data/test/test_has_text_preedit.rb +54 -0
  294. data/test/test_key_event.rb +23 -2
  295. data/test/test_link_constraint.rb +237 -0
  296. data/test/test_menu.rb +237 -0
  297. data/test/test_pin.rb +65 -0
  298. data/test/test_pointer.rb +50 -26
  299. data/test/test_pointer_event.rb +25 -10
  300. data/test/test_reflex.rb +36 -0
  301. data/test/test_screen.rb +24 -2
  302. data/test/test_snap_constraint.rb +140 -0
  303. data/test/test_text_event.rb +54 -0
  304. data/test/test_view.rb +152 -25
  305. data/test/test_wheel_constraint.rb +125 -0
  306. data/test/test_wheel_event.rb +24 -10
  307. data/test/test_window.rb +205 -43
  308. metadata +154 -10
  309. data/.github/workflows/utils.rb +0 -127
@@ -8,7 +8,7 @@ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::KeyEvent)
8
8
 
9
9
  #define THIS to<Reflex::KeyEvent*>(self)
10
10
 
11
- #define CHECK RUCY_CHECK_OBJ(Reflex::KeyEvent, self)
11
+ #define CHECK RUCY_CHECK_PTR(Reflex::KeyEvent, self)
12
12
 
13
13
 
14
14
  static
@@ -51,279 +51,6 @@ RUCY_DEF0(get_action)
51
51
  }
52
52
  RUCY_END
53
53
 
54
- static
55
- RUCY_DEF0(get_key)
56
- {
57
- CHECK;
58
- switch (THIS->code())
59
- {
60
- #define CASE(key) case Reflex::KEY_##key
61
- #define SYMBOL1(name) SYMBOL2(_##name, #name)
62
- #define SYMBOL2(var, sym) {RUCY_SYMBOL(var, sym); return var.value();}
63
-
64
- CASE(A): SYMBOL1(a);
65
- CASE(B): SYMBOL1(b);
66
- CASE(C): SYMBOL1(c);
67
- CASE(D): SYMBOL1(d);
68
- CASE(E): SYMBOL1(e);
69
- CASE(F): SYMBOL1(f);
70
- CASE(G): SYMBOL1(g);
71
- CASE(H): SYMBOL1(h);
72
- CASE(I): SYMBOL1(i);
73
- CASE(J): SYMBOL1(j);
74
- CASE(K): SYMBOL1(k);
75
- CASE(L): SYMBOL1(l);
76
- CASE(M): SYMBOL1(m);
77
- CASE(N): SYMBOL1(n);
78
- CASE(O): SYMBOL1(o);
79
- CASE(P): SYMBOL1(p);
80
- CASE(Q): SYMBOL1(q);
81
- CASE(R): SYMBOL1(r);
82
- CASE(S): SYMBOL1(s);
83
- CASE(T): SYMBOL1(t);
84
- CASE(U): SYMBOL1(u);
85
- CASE(V): SYMBOL1(v);
86
- CASE(W): SYMBOL1(w);
87
- CASE(X): SYMBOL1(x);
88
- CASE(Y): SYMBOL1(y);
89
- CASE(Z): SYMBOL1(z);
90
-
91
- CASE(0):
92
- CASE(NUM_0): SYMBOL1(0);
93
- CASE(1):
94
- CASE(NUM_1): SYMBOL1(1);
95
- CASE(2):
96
- CASE(NUM_2): SYMBOL1(2);
97
- CASE(3):
98
- CASE(NUM_3): SYMBOL1(3);
99
- CASE(4):
100
- CASE(NUM_4): SYMBOL1(4);
101
- CASE(5):
102
- CASE(NUM_5): SYMBOL1(5);
103
- CASE(6):
104
- CASE(NUM_6): SYMBOL1(6);
105
- CASE(7):
106
- CASE(NUM_7): SYMBOL1(7);
107
- CASE(8):
108
- CASE(NUM_8): SYMBOL1(8);
109
- CASE(9):
110
- CASE(NUM_9): SYMBOL1(9);
111
-
112
- CASE(MINUS): SYMBOL1(minus);
113
- CASE(EQUAL): SYMBOL1(equal);
114
- CASE(COMMA): SYMBOL1(comma);
115
- CASE(PERIOD): SYMBOL1(period);
116
- CASE(SEMICOLON): SYMBOL1(semicolon);
117
- CASE(QUOTE): SYMBOL1(quote);
118
- CASE(SLASH): SYMBOL1(slash);
119
- CASE(BACKSLASH): SYMBOL1(backslash);
120
- CASE(UNDERSCORE): SYMBOL1(underscore);
121
- CASE(GRAVE): SYMBOL1(grave);
122
- CASE(YEN): SYMBOL1(yen);
123
- CASE(LBRACKET): SYMBOL1(lbracket);
124
- CASE(RBRACKET): SYMBOL1(rbracket);
125
-
126
- #if defined(OSX) || defined(IOS) || defined(WIN32) || defined(LINUX) || defined(WASM)
127
- CASE(ENTER): SYMBOL1(enter);
128
- #else
129
- CASE(ENTER): SYMBOL1(enter);
130
- CASE(RETURN): SYMBOL2(_return, "return");
131
- #endif
132
- CASE(SPACE): SYMBOL1(space);
133
- CASE(TAB): SYMBOL1(tab);
134
- CASE(DELETE): SYMBOL2(_delete, "delete");
135
- CASE(BACKSPACE): SYMBOL1(backspace);
136
- CASE(INSERT): SYMBOL1(insert);
137
- CASE(ESCAPE): SYMBOL1(escape);
138
-
139
- CASE(LEFT): SYMBOL1(left);
140
- CASE(RIGHT): SYMBOL1(right);
141
- CASE(UP): SYMBOL1(up);
142
- CASE(DOWN): SYMBOL1(down);
143
- CASE(HOME): SYMBOL1(home);
144
- CASE(END): SYMBOL1(end);
145
- CASE(PAGEUP): SYMBOL1(pageup);
146
- CASE(PAGEDOWN): SYMBOL1(pagedown);
147
-
148
- #if !defined(OSX) && !defined(IOS) && !defined(LINUX) && !defined(WASM)
149
- CASE(SHIFT):
150
- #endif
151
- CASE(LSHIFT):
152
- CASE(RSHIFT): SYMBOL1(shift);
153
- #if !defined(OSX) && !defined(IOS) && !defined(LINUX) && !defined(WASM)
154
- CASE(CONTROL):
155
- #endif
156
- CASE(LCONTROL):
157
- CASE(RCONTROL): SYMBOL1(control);
158
- CASE(ALT):
159
- #if !defined(IOS) && !defined(LINUX) && !defined(WASM)
160
- CASE(LALT):
161
- #endif
162
- CASE(RALT): SYMBOL1(alt);
163
- CASE(LWIN):
164
- CASE(RWIN): SYMBOL1(win);
165
- #if !defined(IOS) && !defined(LINUX) && !defined(WASM)
166
- CASE(LCOMMAND):
167
- CASE(RCOMMAND): SYMBOL1(command);
168
- CASE(LOPTION):
169
- CASE(ROPTION): SYMBOL1(option);
170
- #endif
171
- CASE(FUNCTION): SYMBOL1(function);
172
-
173
- CASE(F1): SYMBOL1(f1);
174
- CASE(F2): SYMBOL1(f2);
175
- CASE(F3): SYMBOL1(f3);
176
- CASE(F4): SYMBOL1(f4);
177
- CASE(F5): SYMBOL1(f5);
178
- CASE(F6): SYMBOL1(f6);
179
- CASE(F7): SYMBOL1(f7);
180
- CASE(F8): SYMBOL1(f8);
181
- CASE(F9): SYMBOL1(f9);
182
- CASE(F10): SYMBOL1(f10);
183
- CASE(F11): SYMBOL1(f11);
184
- CASE(F12): SYMBOL1(f12);
185
- CASE(F13): SYMBOL1(f13);
186
- CASE(F14): SYMBOL1(f14);
187
- CASE(F15): SYMBOL1(f15);
188
- CASE(F16): SYMBOL1(f16);
189
- CASE(F17): SYMBOL1(f17);
190
- CASE(F18): SYMBOL1(f18);
191
- CASE(F19): SYMBOL1(f19);
192
- CASE(F20): SYMBOL1(f20);
193
- CASE(F21): SYMBOL1(f21);
194
- CASE(F22): SYMBOL1(f22);
195
- CASE(F23): SYMBOL1(f23);
196
- CASE(F24): SYMBOL1(f24);
197
-
198
- CASE(NUM_PLUS): SYMBOL1(plus);
199
- CASE(NUM_MINUS): SYMBOL1(minus);
200
- CASE(NUM_MULTIPLY): SYMBOL1(multiply);
201
- CASE(NUM_DIVIDE): SYMBOL1(divide);
202
- CASE(NUM_EQUAL): SYMBOL1(equal);
203
- CASE(NUM_COMMA): SYMBOL1(comma);
204
- CASE(NUM_DECIMAL): SYMBOL1(decimal);
205
- #if !defined(IOS) && !defined(LINUX) && !defined(WASM)
206
- CASE(NUM_CLEAR): SYMBOL1(clear);
207
- #endif
208
- CASE(NUM_ENTER): SYMBOL1(enter);
209
-
210
- CASE(CAPSLOCK): SYMBOL1(capslock);
211
- CASE(NUMLOCK): SYMBOL1(numlock);
212
- CASE(SCROLLLOCK): SYMBOL1(scrolllock);
213
-
214
- CASE(PRINTSCREEN): SYMBOL1(printscreen);
215
- CASE(PAUSE): SYMBOL1(pause);
216
- CASE(BREAK): SYMBOL2(_break, "break");
217
- CASE(SECTION): SYMBOL1(section);
218
- CASE(HELP): SYMBOL1(help);
219
-
220
- CASE(EISU): SYMBOL1(eisu);
221
- CASE(KANA): SYMBOL1(kana);
222
- CASE(KANJI): SYMBOL1(kanji);
223
- CASE(IME_ON): SYMBOL1(ime_on);
224
- CASE(IME_OFF): SYMBOL1(ime_off);
225
- CASE(IME_MODECHANGE): SYMBOL1(ime_mode_change);
226
- CASE(CONVERT): SYMBOL1(convert);
227
- CASE(NONCONVERT): SYMBOL1(nonconvert);
228
- CASE(ACCEPT): SYMBOL1(accept);
229
- CASE(PROCESS): SYMBOL1(process);
230
-
231
- CASE(VOLUME_UP): SYMBOL1(volume_up);
232
- CASE(VOLUME_DOWN): SYMBOL1(volume_down);
233
- CASE(MUTE): SYMBOL1(mute);
234
-
235
- CASE(SLEEP): SYMBOL1(sleep);
236
- CASE(EXEC): SYMBOL1(exec);
237
- CASE(PRINT): SYMBOL1(print);
238
- CASE(APPS): SYMBOL1(apps);
239
- CASE(SELECT): SYMBOL1(select);
240
- CASE(CLEAR): SYMBOL1(clear);
241
-
242
- CASE(NAVIGATION_VIEW): SYMBOL1(navigation_view);
243
- CASE(NAVIGATION_MENU): SYMBOL1(navigation_menu);
244
- CASE(NAVIGATION_UP): SYMBOL1(navigation_up);
245
- CASE(NAVIGATION_DOWN): SYMBOL1(navigation_down);
246
- CASE(NAVIGATION_LEFT): SYMBOL1(navigation_left);
247
- CASE(NAVIGATION_RIGHT): SYMBOL1(navigation_right);
248
- CASE(NAVIGATION_ACCEPT): SYMBOL1(navigation_accept);
249
- CASE(NAVIGATION_CANCEL): SYMBOL1(navigation_cancel);
250
-
251
- CASE(BROWSER_BACK): SYMBOL1(browser_back);
252
- CASE(BROWSER_FORWARD): SYMBOL1(browser_forward);
253
- CASE(BROWSER_REFRESH): SYMBOL1(browser_refresh);
254
- CASE(BROWSER_STOP): SYMBOL1(browser_stop);
255
- CASE(BROWSER_SEARCH): SYMBOL1(browser_search);
256
- CASE(BROWSER_FAVORITES): SYMBOL1(browser_favorites);
257
- CASE(BROWSER_HOME): SYMBOL1(browser_home);
258
-
259
- CASE(MEDIA_PREV_TRACK): SYMBOL1(media_prev);
260
- CASE(MEDIA_NEXT_TRACK): SYMBOL1(media_next);
261
- CASE(MEDIA_PLAY_PAUSE): SYMBOL1(media_play_pause);
262
- CASE(MEDIA_STOP): SYMBOL1(media_stop);
263
-
264
- CASE(LAUNCH_MAIL): SYMBOL1(launch_mail);
265
- CASE(LAUNCH_MEDIA_SELECT): SYMBOL1(launch_media_select);
266
- CASE(LAUNCH_APP1): SYMBOL1(launch_app1);
267
- CASE(LAUNCH_APP2): SYMBOL1(launch_app2);
268
-
269
- CASE(GAMEPAD_LEFT): SYMBOL1(gamepad_left);
270
- CASE(GAMEPAD_RIGHT): SYMBOL1(gamepad_right);
271
- CASE(GAMEPAD_UP): SYMBOL1(gamepad_up);
272
- CASE(GAMEPAD_DOWN): SYMBOL1(gamepad_down);
273
- CASE(GAMEPAD_LSTICK_LEFT): SYMBOL1(gamepad_lstick_left);
274
- CASE(GAMEPAD_LSTICK_RIGHT): SYMBOL1(gamepad_lstick_right);
275
- CASE(GAMEPAD_LSTICK_UP): SYMBOL1(gamepad_lstick_up);
276
- CASE(GAMEPAD_LSTICK_DOWN): SYMBOL1(gamepad_lstick_down);
277
- CASE(GAMEPAD_RSTICK_LEFT): SYMBOL1(gamepad_rstick_left);
278
- CASE(GAMEPAD_RSTICK_RIGHT): SYMBOL1(gamepad_rstick_right);
279
- CASE(GAMEPAD_RSTICK_UP): SYMBOL1(gamepad_rstick_up);
280
- CASE(GAMEPAD_RSTICK_DOWN): SYMBOL1(gamepad_rstick_down);
281
- CASE(GAMEPAD_A): SYMBOL1(gamepad_a);
282
- CASE(GAMEPAD_B): SYMBOL1(gamepad_b);
283
- CASE(GAMEPAD_X): SYMBOL1(gamepad_x);
284
- CASE(GAMEPAD_Y): SYMBOL1(gamepad_y);
285
- CASE(GAMEPAD_LTRIGGER): SYMBOL1(gamepad_ltrigger);
286
- CASE(GAMEPAD_RTRIGGER): SYMBOL1(gamepad_rtrigger);
287
- CASE(GAMEPAD_LSHOULDER): SYMBOL1(gamepad_lshoulder);
288
- CASE(GAMEPAD_RSHOULDER): SYMBOL1(gamepad_rshoulder);
289
- CASE(GAMEPAD_LTHUMB): SYMBOL1(gamepad_lthumb);
290
- CASE(GAMEPAD_RTHUMB): SYMBOL1(gamepad_rthumb);
291
- CASE(GAMEPAD_LPADDLE_0): SYMBOL1(gamepad_lpaddle_0);
292
- CASE(GAMEPAD_LPADDLE_1): SYMBOL1(gamepad_lpaddle_1);
293
- CASE(GAMEPAD_RPADDLE_0): SYMBOL1(gamepad_rpaddle_0);
294
- CASE(GAMEPAD_RPADDLE_1): SYMBOL1(gamepad_rpaddle_1);
295
- CASE(GAMEPAD_HOME): SYMBOL1(gamepad_home);
296
- CASE(GAMEPAD_MENU): SYMBOL1(gamepad_menu);
297
- CASE(GAMEPAD_OPTION): SYMBOL1(gamepad_option);
298
- CASE(GAMEPAD_SHARE): SYMBOL1(gamepad_share);
299
- CASE(GAMEPAD_START): SYMBOL1(gamepad_start);
300
- CASE(GAMEPAD_SELECT): SYMBOL1(gamepad_select);
301
- CASE(GAMEPAD_BUTTON_TOUCH): SYMBOL1(gamepad_button_touch);
302
- CASE(GAMEPAD_BUTTON_0): SYMBOL1(gamepad_button_0);
303
- CASE(GAMEPAD_BUTTON_1): SYMBOL1(gamepad_button_1);
304
- CASE(GAMEPAD_BUTTON_2): SYMBOL1(gamepad_button_2);
305
- CASE(GAMEPAD_BUTTON_3): SYMBOL1(gamepad_button_3);
306
- CASE(GAMEPAD_BUTTON_4): SYMBOL1(gamepad_button_4);
307
- CASE(GAMEPAD_BUTTON_5): SYMBOL1(gamepad_button_5);
308
- CASE(GAMEPAD_BUTTON_6): SYMBOL1(gamepad_button_6);
309
- CASE(GAMEPAD_BUTTON_7): SYMBOL1(gamepad_button_7);
310
- CASE(GAMEPAD_BUTTON_8): SYMBOL1(gamepad_button_8);
311
- CASE(GAMEPAD_BUTTON_9): SYMBOL1(gamepad_button_9);
312
- CASE(GAMEPAD_BUTTON_10): SYMBOL1(gamepad_button_10);
313
- CASE(GAMEPAD_BUTTON_11): SYMBOL1(gamepad_button_11);
314
- CASE(GAMEPAD_BUTTON_12): SYMBOL1(gamepad_button_12);
315
- CASE(GAMEPAD_BUTTON_13): SYMBOL1(gamepad_button_13);
316
- CASE(GAMEPAD_BUTTON_14): SYMBOL1(gamepad_button_14);
317
- CASE(GAMEPAD_BUTTON_15): SYMBOL1(gamepad_button_15);
318
-
319
- #undef CASE
320
- #undef SYMBOL1
321
- #undef SYMBOL2
322
- }
323
- return nil();
324
- }
325
- RUCY_END
326
-
327
54
  static
328
55
  RUCY_DEF0(get_chars)
329
56
  {
@@ -378,7 +105,6 @@ Init_reflex_key_event ()
378
105
  cKeyEvent.define_private_method("initialize", initialize);
379
106
  cKeyEvent.define_private_method("initialize_copy", initialize_copy);
380
107
  cKeyEvent.define_method("action", get_action);
381
- cKeyEvent.define_method("key", get_key);
382
108
  cKeyEvent.define_method("chars", get_chars);
383
109
  cKeyEvent.define_method("code", get_code);
384
110
  cKeyEvent.define_method("modifiers", get_modifiers);
@@ -9,7 +9,7 @@ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::LineShape)
9
9
 
10
10
  #define THIS to<Reflex::LineShape*>(self)
11
11
 
12
- #define CHECK RUCY_CHECK_OBJ(Reflex::LineShape, self)
12
+ #define CHECK RUCY_CHECK_PTR(Reflex::LineShape, self)
13
13
 
14
14
  #define CALL(fun) RUCY_CALL_SUPER(THIS, fun)
15
15
 
@@ -0,0 +1,194 @@
1
+ #include "reflex/ruby/constraint.h"
2
+
3
+
4
+ #include <rays/ruby/point.h>
5
+ #include "reflex/exception.h"
6
+ #include "defs.h"
7
+
8
+
9
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::LinkConstraint)
10
+
11
+ #define THIS to<Reflex::LinkConstraint*>(self)
12
+
13
+ #define CHECK RUCY_CHECK_PTR(Reflex::LinkConstraint, self)
14
+
15
+
16
+ static
17
+ RUCY_DEF_ALLOC(alloc, klass)
18
+ {
19
+ Reflex::reflex_error(
20
+ __FILE__, __LINE__, "can not instantiate LinkConstraint class");
21
+ }
22
+ RUCY_END
23
+
24
+ static
25
+ RUCY_DEFN(set_axis)
26
+ {
27
+ CHECK;
28
+ if (argc == 1 && argv[0].is_nil())
29
+ THIS->clear_axis();
30
+ else
31
+ THIS->set_axis(to<Rays::Point>(argc, argv));
32
+ }
33
+ RUCY_END
34
+
35
+ static
36
+ RUCY_DEF0(get_axis)
37
+ {
38
+ CHECK;
39
+ return THIS->has_axis() ? value(THIS->axis()) : nil();
40
+ }
41
+ RUCY_END
42
+
43
+ static
44
+ RUCY_DEF1(set_distance, distance)
45
+ {
46
+ CHECK;
47
+ if (distance.is_nil())
48
+ THIS->clear_distance();
49
+ else
50
+ THIS->set_distance(to<coord>(distance));
51
+ }
52
+ RUCY_END
53
+
54
+ static
55
+ RUCY_DEF0(get_distance)
56
+ {
57
+ CHECK;
58
+ return value(THIS->distance());
59
+ }
60
+ RUCY_END
61
+
62
+ static
63
+ RUCY_DEF0(has_distance)
64
+ {
65
+ CHECK;
66
+ return value(THIS->has_distance());
67
+ }
68
+ RUCY_END
69
+
70
+ static
71
+ RUCY_DEF0(current_distance)
72
+ {
73
+ CHECK;
74
+ return value(THIS->current_distance());
75
+ }
76
+ RUCY_END
77
+
78
+ static
79
+ RUCY_DEF2(set_range, min, max)
80
+ {
81
+ CHECK;
82
+ THIS->set_range(to<coord>(min), to<coord>(max));
83
+ }
84
+ RUCY_END
85
+
86
+ static
87
+ RUCY_DEF0(clear_range)
88
+ {
89
+ CHECK;
90
+ THIS->clear_range();
91
+ }
92
+ RUCY_END
93
+
94
+ static
95
+ RUCY_DEF0(range_min)
96
+ {
97
+ CHECK;
98
+ return value(THIS->range_min());
99
+ }
100
+ RUCY_END
101
+
102
+ static
103
+ RUCY_DEF0(range_max)
104
+ {
105
+ CHECK;
106
+ return value(THIS->range_max());
107
+ }
108
+ RUCY_END
109
+
110
+ static
111
+ RUCY_DEF0(has_range)
112
+ {
113
+ CHECK;
114
+ return value(THIS->has_range());
115
+ }
116
+ RUCY_END
117
+
118
+ static
119
+ RUCY_DEF1(set_motor, pixels_per_second)
120
+ {
121
+ CHECK;
122
+ if (pixels_per_second.is_nil())
123
+ THIS->clear_motor();
124
+ else
125
+ THIS->set_motor(to<coord>(pixels_per_second));
126
+ }
127
+ RUCY_END
128
+
129
+ static
130
+ RUCY_DEF0(get_motor)
131
+ {
132
+ CHECK;
133
+ return THIS->has_motor() ? value(THIS->motor()) : nil();
134
+ }
135
+ RUCY_END
136
+
137
+ static
138
+ RUCY_DEF1(set_force, max_force)
139
+ {
140
+ CHECK;
141
+ if (max_force.is_nil())
142
+ THIS->clear_force();
143
+ else
144
+ THIS->set_force(to<float>(max_force));
145
+ }
146
+ RUCY_END
147
+
148
+ static
149
+ RUCY_DEF0(get_force)
150
+ {
151
+ CHECK;
152
+ return THIS->has_force() ? value(THIS->force()) : nil();
153
+ }
154
+ RUCY_END
155
+
156
+
157
+ static Class cLinkConstraint;
158
+
159
+ void
160
+ Init_reflex_link_constraint ()
161
+ {
162
+ Module mReflex = define_module("Reflex");
163
+
164
+ cLinkConstraint = mReflex.define_class("LinkConstraint", Reflex::constraint_class());
165
+ cLinkConstraint.define_alloc_func(alloc);
166
+ cLinkConstraint.define_method("axis=", set_axis);
167
+ cLinkConstraint.define_method("axis", get_axis);
168
+ cLinkConstraint.define_method( "distance=", set_distance);
169
+ cLinkConstraint.define_method( "distance", get_distance);
170
+ cLinkConstraint.define_method("current_distance", current_distance);
171
+ cLinkConstraint.define_private_method( "set_range!", set_range);
172
+ cLinkConstraint.define_private_method("clear_range!", clear_range);
173
+ cLinkConstraint.define_private_method( "range_min!", range_min);
174
+ cLinkConstraint.define_private_method( "range_max!", range_max);
175
+ cLinkConstraint.define_private_method( "has_range!", has_range);
176
+ cLinkConstraint.define_method("motor=", set_motor);
177
+ cLinkConstraint.define_method("motor", get_motor);
178
+ cLinkConstraint.define_method("force=", set_force);
179
+ cLinkConstraint.define_method("force", get_force);
180
+ }
181
+
182
+
183
+ namespace Reflex
184
+ {
185
+
186
+
187
+ Class
188
+ link_constraint_class ()
189
+ {
190
+ return cLinkConstraint;
191
+ }
192
+
193
+
194
+ }// Reflex