reflexion 0.1.12 → 0.1.13

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 (329) hide show
  1. checksums.yaml +5 -5
  2. data/.doc/ext/reflex/application.cpp +9 -5
  3. data/.doc/ext/reflex/capture_event.cpp +0 -4
  4. data/.doc/ext/reflex/contact_event.cpp +17 -10
  5. data/.doc/ext/reflex/draw_event.cpp +1 -5
  6. data/.doc/ext/reflex/ellipse_shape.cpp +51 -24
  7. data/.doc/ext/reflex/event.cpp +0 -4
  8. data/.doc/ext/reflex/filter.cpp +81 -0
  9. data/.doc/ext/reflex/focus_event.cpp +9 -13
  10. data/.doc/ext/reflex/frame_event.cpp +40 -6
  11. data/.doc/ext/reflex/image_view.cpp +1 -10
  12. data/.doc/ext/reflex/key_event.cpp +2 -6
  13. data/.doc/ext/reflex/line_shape.cpp +99 -0
  14. data/.doc/ext/reflex/motion_event.cpp +75 -0
  15. data/.doc/ext/reflex/native.cpp +18 -18
  16. data/.doc/ext/reflex/pointer_event.cpp +5 -11
  17. data/.doc/ext/reflex/polygon_shape.cpp +65 -0
  18. data/.doc/ext/reflex/rect_shape.cpp +102 -23
  19. data/.doc/ext/reflex/reflex.cpp +21 -2
  20. data/.doc/ext/reflex/scroll_event.cpp +0 -6
  21. data/.doc/ext/reflex/selector.cpp +43 -15
  22. data/.doc/ext/reflex/shape.cpp +211 -0
  23. data/.doc/ext/reflex/style.cpp +359 -185
  24. data/.doc/ext/reflex/style_length.cpp +163 -35
  25. data/.doc/ext/reflex/timer.cpp +101 -0
  26. data/.doc/ext/reflex/timer_event.cpp +123 -0
  27. data/.doc/ext/reflex/update_event.cpp +11 -6
  28. data/.doc/ext/reflex/view.cpp +548 -144
  29. data/.doc/ext/reflex/wheel_event.cpp +0 -22
  30. data/.doc/ext/reflex/window.cpp +7 -15
  31. data/README.md +1 -1
  32. data/Rakefile +14 -12
  33. data/VERSION +1 -1
  34. data/ext/reflex/application.cpp +10 -5
  35. data/ext/reflex/capture_event.cpp +1 -5
  36. data/ext/reflex/contact_event.cpp +19 -11
  37. data/ext/reflex/defs.h +5 -2
  38. data/ext/reflex/draw_event.cpp +2 -6
  39. data/ext/reflex/ellipse_shape.cpp +56 -25
  40. data/ext/reflex/event.cpp +0 -4
  41. data/ext/reflex/extconf.rb +1 -2
  42. data/ext/reflex/filter.cpp +86 -0
  43. data/ext/reflex/focus_event.cpp +11 -15
  44. data/ext/reflex/frame_event.cpp +46 -7
  45. data/ext/reflex/image_view.cpp +1 -10
  46. data/ext/reflex/key_event.cpp +3 -7
  47. data/ext/reflex/line_shape.cpp +104 -0
  48. data/ext/reflex/motion_event.cpp +79 -0
  49. data/ext/reflex/native.cpp +18 -18
  50. data/ext/reflex/pointer_event.cpp +6 -12
  51. data/ext/reflex/polygon_shape.cpp +68 -0
  52. data/ext/reflex/rect_shape.cpp +113 -24
  53. data/ext/reflex/reflex.cpp +21 -2
  54. data/ext/reflex/scroll_event.cpp +1 -7
  55. data/ext/reflex/selector.cpp +46 -16
  56. data/ext/reflex/selector.h +130 -0
  57. data/ext/reflex/shape.cpp +231 -0
  58. data/ext/reflex/style.cpp +363 -192
  59. data/ext/reflex/style_length.cpp +164 -37
  60. data/ext/reflex/timer.cpp +108 -0
  61. data/ext/reflex/timer_event.cpp +133 -0
  62. data/ext/reflex/update_event.cpp +13 -7
  63. data/ext/reflex/view.cpp +594 -150
  64. data/ext/reflex/wheel_event.cpp +1 -25
  65. data/ext/reflex/window.cpp +7 -15
  66. data/include/reflex/application.h +2 -0
  67. data/include/reflex/debug.h +22 -0
  68. data/include/reflex/defs.h +45 -0
  69. data/include/reflex/event.h +60 -16
  70. data/include/reflex/exception.h +9 -0
  71. data/include/reflex/filter.h +56 -0
  72. data/include/reflex/image_view.h +1 -1
  73. data/include/reflex/ruby/application.h +17 -9
  74. data/include/reflex/ruby/event.h +22 -0
  75. data/include/reflex/ruby/filter.h +69 -0
  76. data/include/reflex/ruby/selector.h +1 -1
  77. data/include/reflex/ruby/shape.h +140 -0
  78. data/include/reflex/ruby/style.h +1 -1
  79. data/include/reflex/ruby/timer.h +69 -0
  80. data/include/reflex/ruby/view.h +43 -76
  81. data/include/reflex/ruby/window.h +17 -32
  82. data/include/reflex/ruby.h +6 -4
  83. data/include/reflex/selector.h +54 -2
  84. data/include/reflex/shape.h +211 -0
  85. data/include/reflex/style.h +111 -77
  86. data/include/reflex/timer.h +73 -0
  87. data/include/reflex/view.h +181 -59
  88. data/include/reflex/window.h +4 -3
  89. data/include/reflex.h +5 -4
  90. data/lib/reflex/application.rb +6 -3
  91. data/lib/reflex/button.rb +2 -2
  92. data/lib/reflex/capture_event.rb +7 -6
  93. data/lib/reflex/contact_event.rb +10 -12
  94. data/lib/reflex/draw_event.rb +6 -1
  95. data/lib/reflex/ellipse_shape.rb +27 -0
  96. data/lib/reflex/filter.rb +18 -0
  97. data/lib/reflex/fixture.rb +4 -0
  98. data/lib/reflex/focus_event.rb +10 -12
  99. data/lib/reflex/frame_event.rb +1 -1
  100. data/lib/reflex/helper.rb +17 -29
  101. data/lib/reflex/key_event.rb +13 -11
  102. data/lib/reflex/line_shape.rb +18 -0
  103. data/lib/reflex/{texture.rb → matrix.rb} +2 -2
  104. data/lib/reflex/module.rb +4 -19
  105. data/lib/reflex/pointer_event.rb +26 -37
  106. data/lib/reflex/polygon.rb +14 -0
  107. data/lib/reflex/polygon_shape.rb +23 -0
  108. data/lib/reflex/polyline.rb +13 -0
  109. data/lib/reflex/rect_shape.rb +20 -0
  110. data/lib/reflex/reflex.rb +1 -3
  111. data/lib/reflex/scroll_event.rb +1 -1
  112. data/lib/reflex/selector.rb +2 -2
  113. data/lib/reflex/shape.rb +62 -0
  114. data/lib/reflex/style.rb +78 -11
  115. data/lib/reflex/style_length.rb +0 -11
  116. data/lib/reflex/text_view.rb +7 -24
  117. data/lib/reflex/timer.rb +30 -0
  118. data/lib/reflex/timer_event.rb +29 -0
  119. data/lib/reflex/update_event.rb +1 -1
  120. data/lib/reflex/view.rb +127 -32
  121. data/lib/reflex/wheel_event.rb +9 -1
  122. data/lib/reflex/window.rb +29 -9
  123. data/lib/reflex.rb +11 -5
  124. data/lib/reflexion.rb +23 -7
  125. data/reflex.gemspec +8 -10
  126. data/samples/bats.rb +4 -4
  127. data/samples/fans.rb +1 -1
  128. data/samples/fps.rb +5 -3
  129. data/samples/hello.rb +4 -6
  130. data/samples/image.rb +5 -4
  131. data/samples/ios/hello/hello.xcodeproj/project.pbxproj +0 -2
  132. data/samples/layout.rb +16 -7
  133. data/samples/model.rb +10 -7
  134. data/samples/physics.rb +22 -20
  135. data/samples/reflexion/breakout.rb +4 -5
  136. data/samples/reflexion/hello.rb +2 -2
  137. data/samples/reflexion/jump_action.rb +191 -0
  138. data/samples/reflexion/noise.rb +23 -0
  139. data/samples/reflexion/paint.rb +7 -6
  140. data/samples/reflexion/physics.rb +15 -8
  141. data/samples/reflexion/pulse.rb +24 -10
  142. data/samples/shader.rb +8 -6
  143. data/samples/shapes.rb +63 -14
  144. data/samples/tree.rb +9 -10
  145. data/samples/views.rb +3 -3
  146. data/samples/visuals.rb +2 -5
  147. data/src/body.cpp +146 -345
  148. data/src/body.h +91 -0
  149. data/src/event.cpp +66 -16
  150. data/src/exception.cpp +13 -3
  151. data/src/filter.cpp +76 -0
  152. data/src/fixture.cpp +164 -39
  153. data/src/fixture.h +85 -0
  154. data/src/image_view.cpp +4 -4
  155. data/src/ios/app_delegate.h +5 -10
  156. data/src/ios/app_delegate.mm +79 -41
  157. data/src/ios/application.h +32 -0
  158. data/src/ios/application.mm +35 -25
  159. data/src/ios/event.mm +8 -4
  160. data/src/ios/reflex.mm +0 -7
  161. data/src/ios/view_controller.h +33 -0
  162. data/src/ios/view_controller.mm +436 -0
  163. data/src/ios/window.h +40 -0
  164. data/src/ios/window.mm +59 -250
  165. data/src/osx/app_delegate.h +5 -10
  166. data/src/osx/app_delegate.mm +52 -55
  167. data/src/osx/application.h +32 -0
  168. data/src/osx/application.mm +44 -39
  169. data/src/osx/native_window.h +0 -15
  170. data/src/osx/native_window.mm +131 -115
  171. data/src/osx/opengl_view.h +0 -2
  172. data/src/osx/opengl_view.mm +12 -3
  173. data/src/osx/reflex.mm +0 -9
  174. data/src/osx/window.h +42 -0
  175. data/src/osx/window.mm +45 -252
  176. data/src/selector.cpp +232 -7
  177. data/src/selector.h +52 -0
  178. data/src/shape.cpp +1191 -0
  179. data/src/shape.h +61 -0
  180. data/src/style.cpp +571 -374
  181. data/src/style.h +39 -0
  182. data/src/timer.cpp +291 -0
  183. data/src/timer.h +55 -0
  184. data/src/view.cpp +1624 -984
  185. data/src/view.h +56 -0
  186. data/src/win32/window.cpp +3 -4
  187. data/src/window.cpp +275 -20
  188. data/src/window.h +92 -0
  189. data/src/world.cpp +112 -111
  190. data/src/world.h +34 -53
  191. data/task/box2d.rake +31 -10
  192. data/test/test_capture_event.rb +8 -6
  193. data/test/test_pointer_event.rb +85 -0
  194. data/test/test_selector.rb +1 -1
  195. data/test/test_shape.rb +71 -0
  196. data/test/test_style.rb +77 -11
  197. data/test/test_style_length.rb +42 -13
  198. data/test/test_view.rb +138 -14
  199. metadata +109 -210
  200. data/.doc/ext/reflex/arc_shape.cpp +0 -89
  201. data/.doc/ext/reflex/body.cpp +0 -299
  202. data/.doc/ext/reflex/fixture.cpp +0 -101
  203. data/.doc/ext/reflex/shape_view.cpp +0 -153
  204. data/ext/reflex/arc_shape.cpp +0 -94
  205. data/ext/reflex/body.cpp +0 -328
  206. data/ext/reflex/fixture.cpp +0 -108
  207. data/ext/reflex/shape_view.cpp +0 -161
  208. data/include/reflex/bitmap.h +0 -20
  209. data/include/reflex/body.h +0 -128
  210. data/include/reflex/bounds.h +0 -20
  211. data/include/reflex/color.h +0 -20
  212. data/include/reflex/color_space.h +0 -20
  213. data/include/reflex/fixture.h +0 -117
  214. data/include/reflex/font.h +0 -20
  215. data/include/reflex/image.h +0 -20
  216. data/include/reflex/matrix.h +0 -20
  217. data/include/reflex/painter.h +0 -20
  218. data/include/reflex/point.h +0 -24
  219. data/include/reflex/ruby/body.h +0 -41
  220. data/include/reflex/ruby/fixture.h +0 -41
  221. data/include/reflex/ruby/shape_view.h +0 -96
  222. data/include/reflex/shader.h +0 -20
  223. data/include/reflex/shape_view.h +0 -146
  224. data/include/reflex/texture.h +0 -20
  225. data/lib/reflex/body.rb +0 -22
  226. data/lib/reflex/flags.rb +0 -18
  227. data/lib/reflex/shape_view.rb +0 -25
  228. data/src/ios/application_data.h +0 -45
  229. data/src/ios/native_window.h +0 -39
  230. data/src/ios/native_window.mm +0 -224
  231. data/src/ios/opengl_view.h +0 -13
  232. data/src/ios/opengl_view.mm +0 -139
  233. data/src/ios/window_data.h +0 -75
  234. data/src/osx/application_data.h +0 -45
  235. data/src/osx/window_data.h +0 -75
  236. data/src/physics/Box2D/Box2D.h +0 -68
  237. data/src/physics/Box2D/Collision/Shapes/b2ChainShape.cpp +0 -193
  238. data/src/physics/Box2D/Collision/Shapes/b2ChainShape.h +0 -105
  239. data/src/physics/Box2D/Collision/Shapes/b2CircleShape.cpp +0 -99
  240. data/src/physics/Box2D/Collision/Shapes/b2CircleShape.h +0 -91
  241. data/src/physics/Box2D/Collision/Shapes/b2EdgeShape.cpp +0 -138
  242. data/src/physics/Box2D/Collision/Shapes/b2EdgeShape.h +0 -74
  243. data/src/physics/Box2D/Collision/Shapes/b2PolygonShape.cpp +0 -467
  244. data/src/physics/Box2D/Collision/Shapes/b2PolygonShape.h +0 -101
  245. data/src/physics/Box2D/Collision/Shapes/b2Shape.h +0 -101
  246. data/src/physics/Box2D/Collision/b2BroadPhase.cpp +0 -119
  247. data/src/physics/Box2D/Collision/b2BroadPhase.h +0 -257
  248. data/src/physics/Box2D/Collision/b2CollideCircle.cpp +0 -154
  249. data/src/physics/Box2D/Collision/b2CollideEdge.cpp +0 -698
  250. data/src/physics/Box2D/Collision/b2CollidePolygon.cpp +0 -239
  251. data/src/physics/Box2D/Collision/b2Collision.cpp +0 -252
  252. data/src/physics/Box2D/Collision/b2Collision.h +0 -277
  253. data/src/physics/Box2D/Collision/b2Distance.cpp +0 -603
  254. data/src/physics/Box2D/Collision/b2Distance.h +0 -141
  255. data/src/physics/Box2D/Collision/b2DynamicTree.cpp +0 -778
  256. data/src/physics/Box2D/Collision/b2DynamicTree.h +0 -289
  257. data/src/physics/Box2D/Collision/b2TimeOfImpact.cpp +0 -486
  258. data/src/physics/Box2D/Collision/b2TimeOfImpact.h +0 -58
  259. data/src/physics/Box2D/Common/b2BlockAllocator.cpp +0 -215
  260. data/src/physics/Box2D/Common/b2BlockAllocator.h +0 -62
  261. data/src/physics/Box2D/Common/b2Draw.cpp +0 -44
  262. data/src/physics/Box2D/Common/b2Draw.h +0 -86
  263. data/src/physics/Box2D/Common/b2GrowableStack.h +0 -85
  264. data/src/physics/Box2D/Common/b2Math.cpp +0 -94
  265. data/src/physics/Box2D/Common/b2Math.h +0 -720
  266. data/src/physics/Box2D/Common/b2Settings.cpp +0 -44
  267. data/src/physics/Box2D/Common/b2Settings.h +0 -151
  268. data/src/physics/Box2D/Common/b2StackAllocator.cpp +0 -83
  269. data/src/physics/Box2D/Common/b2StackAllocator.h +0 -60
  270. data/src/physics/Box2D/Common/b2Timer.cpp +0 -101
  271. data/src/physics/Box2D/Common/b2Timer.h +0 -50
  272. data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndCircleContact.cpp +0 -53
  273. data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndCircleContact.h +0 -39
  274. data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndPolygonContact.cpp +0 -53
  275. data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndPolygonContact.h +0 -39
  276. data/src/physics/Box2D/Dynamics/Contacts/b2CircleContact.cpp +0 -52
  277. data/src/physics/Box2D/Dynamics/Contacts/b2CircleContact.h +0 -39
  278. data/src/physics/Box2D/Dynamics/Contacts/b2Contact.cpp +0 -247
  279. data/src/physics/Box2D/Dynamics/Contacts/b2Contact.h +0 -349
  280. data/src/physics/Box2D/Dynamics/Contacts/b2ContactSolver.cpp +0 -838
  281. data/src/physics/Box2D/Dynamics/Contacts/b2ContactSolver.h +0 -95
  282. data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndCircleContact.cpp +0 -49
  283. data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndCircleContact.h +0 -39
  284. data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp +0 -49
  285. data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndPolygonContact.h +0 -39
  286. data/src/physics/Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.cpp +0 -49
  287. data/src/physics/Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.h +0 -38
  288. data/src/physics/Box2D/Dynamics/Contacts/b2PolygonContact.cpp +0 -52
  289. data/src/physics/Box2D/Dynamics/Contacts/b2PolygonContact.h +0 -39
  290. data/src/physics/Box2D/Dynamics/Joints/b2DistanceJoint.cpp +0 -260
  291. data/src/physics/Box2D/Dynamics/Joints/b2DistanceJoint.h +0 -169
  292. data/src/physics/Box2D/Dynamics/Joints/b2FrictionJoint.cpp +0 -251
  293. data/src/physics/Box2D/Dynamics/Joints/b2FrictionJoint.h +0 -119
  294. data/src/physics/Box2D/Dynamics/Joints/b2GearJoint.cpp +0 -419
  295. data/src/physics/Box2D/Dynamics/Joints/b2GearJoint.h +0 -125
  296. data/src/physics/Box2D/Dynamics/Joints/b2Joint.cpp +0 -211
  297. data/src/physics/Box2D/Dynamics/Joints/b2Joint.h +0 -226
  298. data/src/physics/Box2D/Dynamics/Joints/b2MotorJoint.cpp +0 -304
  299. data/src/physics/Box2D/Dynamics/Joints/b2MotorJoint.h +0 -133
  300. data/src/physics/Box2D/Dynamics/Joints/b2MouseJoint.cpp +0 -222
  301. data/src/physics/Box2D/Dynamics/Joints/b2MouseJoint.h +0 -129
  302. data/src/physics/Box2D/Dynamics/Joints/b2PrismaticJoint.cpp +0 -629
  303. data/src/physics/Box2D/Dynamics/Joints/b2PrismaticJoint.h +0 -196
  304. data/src/physics/Box2D/Dynamics/Joints/b2PulleyJoint.cpp +0 -348
  305. data/src/physics/Box2D/Dynamics/Joints/b2PulleyJoint.h +0 -152
  306. data/src/physics/Box2D/Dynamics/Joints/b2RevoluteJoint.cpp +0 -502
  307. data/src/physics/Box2D/Dynamics/Joints/b2RevoluteJoint.h +0 -204
  308. data/src/physics/Box2D/Dynamics/Joints/b2RopeJoint.cpp +0 -241
  309. data/src/physics/Box2D/Dynamics/Joints/b2RopeJoint.h +0 -114
  310. data/src/physics/Box2D/Dynamics/Joints/b2WeldJoint.cpp +0 -344
  311. data/src/physics/Box2D/Dynamics/Joints/b2WeldJoint.h +0 -126
  312. data/src/physics/Box2D/Dynamics/Joints/b2WheelJoint.cpp +0 -419
  313. data/src/physics/Box2D/Dynamics/Joints/b2WheelJoint.h +0 -210
  314. data/src/physics/Box2D/Dynamics/b2Body.cpp +0 -549
  315. data/src/physics/Box2D/Dynamics/b2Body.h +0 -860
  316. data/src/physics/Box2D/Dynamics/b2ContactManager.cpp +0 -296
  317. data/src/physics/Box2D/Dynamics/b2ContactManager.h +0 -52
  318. data/src/physics/Box2D/Dynamics/b2Fixture.cpp +0 -303
  319. data/src/physics/Box2D/Dynamics/b2Fixture.h +0 -345
  320. data/src/physics/Box2D/Dynamics/b2Island.cpp +0 -539
  321. data/src/physics/Box2D/Dynamics/b2Island.h +0 -93
  322. data/src/physics/Box2D/Dynamics/b2TimeStep.h +0 -70
  323. data/src/physics/Box2D/Dynamics/b2World.cpp +0 -1339
  324. data/src/physics/Box2D/Dynamics/b2World.h +0 -354
  325. data/src/physics/Box2D/Dynamics/b2WorldCallbacks.cpp +0 -36
  326. data/src/physics/Box2D/Dynamics/b2WorldCallbacks.h +0 -155
  327. data/src/physics/Box2D/Rope/b2Rope.cpp +0 -259
  328. data/src/physics/Box2D/Rope/b2Rope.h +0 -115
  329. data/src/shape_view.cpp +0 -306
@@ -1,299 +0,0 @@
1
- #include "reflex/ruby/body.h"
2
-
3
-
4
- #include <rucy.h>
5
- #include "rays/ruby/point.h"
6
- #include "reflex/ruby/fixture.h"
7
- #include "defs.h"
8
-
9
-
10
- using namespace Rucy;
11
-
12
-
13
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::Body)
14
-
15
- #define THIS to<Reflex::Body*>(self)
16
-
17
- #define CHECK RUCY_CHECK_OBJ(Reflex::Body, self)
18
-
19
-
20
- static
21
- VALUE initialize_copy(VALUE self, VALUE obj)
22
- {
23
- CHECK;
24
- *THIS = to<Reflex::Body&>(obj);
25
- return self;
26
- }
27
-
28
- static
29
- VALUE add_box(VALUE self, VALUE width, VALUE height)
30
- {
31
- CHECK;
32
- return value(THIS->add_box(width.as_f(true), height.as_f(true)));
33
- }
34
-
35
- static
36
- VALUE add_ellipse(VALUE self, VALUE width, VALUE height)
37
- {
38
- CHECK;
39
- return value(THIS->add_ellipse(width.as_f(true), height.as_f(true)));
40
- }
41
-
42
- static
43
- VALUE add_arc(VALUE self, VALUE width, VALUE height, VALUE angle_from, VALUE angle_to)
44
- {
45
- CHECK;
46
- return value(THIS->add_arc(
47
- width.as_f(true), height.as_f(true),
48
- angle_from.as_f(true), angle_to.as_f(true)));
49
- }
50
-
51
- static
52
- VALUE clear_fixtures(VALUE self)
53
- {
54
- CHECK;
55
- THIS->clear_fixtures();
56
- return self;
57
- }
58
-
59
- static
60
- VALUE meter2pixel(VALUE self)
61
- {
62
- CHECK;
63
- check_arg_count(__FILE__, __LINE__, "View#meter2pixel", argc, 0, 1);
64
-
65
- float meter = argc >= 1 ? argv[0].as_f(true) : 1;
66
- return value(THIS->meter2pixel(meter));
67
- }
68
-
69
- static
70
- VALUE set_static(VALUE self, VALUE state)
71
- {
72
- CHECK;
73
- THIS->set_static(state);
74
- return state;
75
- }
76
-
77
- static
78
- VALUE is_static(VALUE self)
79
- {
80
- CHECK;
81
- return value(THIS->is_static());
82
- }
83
-
84
- static
85
- VALUE set_dynamic(VALUE self, VALUE state)
86
- {
87
- CHECK;
88
- THIS->set_dynamic(state);
89
- return state;
90
- }
91
-
92
- static
93
- VALUE is_dynamic(VALUE self)
94
- {
95
- CHECK;
96
- return value(THIS->is_dynamic());
97
- }
98
-
99
- static
100
- VALUE get_position(VALUE self)
101
- {
102
- CHECK;
103
- return value(THIS->position());
104
- }
105
-
106
- static
107
- VALUE get_angle(VALUE self)
108
- {
109
- CHECK;
110
- return value(THIS->angle());
111
- }
112
-
113
- static
114
- VALUE set_linear_velocity(VALUE self, VALUE velocity)
115
- {
116
- CHECK;
117
- THIS->set_linear_velocity(to<Rays::Point&>(velocity));
118
- return self;
119
- }
120
-
121
- static
122
- VALUE get_linear_velocity(VALUE self)
123
- {
124
- CHECK;
125
- return value(THIS->linear_velocity());
126
- }
127
-
128
- static
129
- VALUE set_angular_velocity(VALUE self, VALUE velocity)
130
- {
131
- CHECK;
132
- THIS->set_angular_velocity(velocity.as_f(true));
133
- return self;
134
- }
135
-
136
- static
137
- VALUE get_angular_velocity(VALUE self)
138
- {
139
- CHECK;
140
- return value(THIS->angular_velocity());
141
- }
142
-
143
- static
144
- VALUE apply_force(VALUE self, VALUE force)
145
- {
146
- CHECK;
147
- THIS->apply_force(to<Rays::Point&>(force));
148
- return self;
149
- }
150
-
151
- static
152
- VALUE apply_torque(VALUE self, VALUE torque)
153
- {
154
- CHECK;
155
- THIS->apply_torque(torque.as_f(true));
156
- return self;
157
- }
158
-
159
- static
160
- VALUE apply_linear_impulse(VALUE self, VALUE impulse)
161
- {
162
- CHECK;
163
- THIS->apply_linear_impulse(to<Rays::Point&>(impulse));
164
- return self;
165
- }
166
-
167
- static
168
- VALUE apply_angular_impulse(VALUE self, VALUE impulse)
169
- {
170
- CHECK;
171
- THIS->apply_angular_impulse(impulse.as_f(true));
172
- return self;
173
- }
174
-
175
- static
176
- VALUE set_density(VALUE self, VALUE density)
177
- {
178
- CHECK;
179
- THIS->set_density(density.as_f(true));
180
- return self;
181
- }
182
-
183
- static
184
- VALUE get_density(VALUE self)
185
- {
186
- CHECK;
187
- return value(THIS->density());
188
- }
189
-
190
- static
191
- VALUE set_friction(VALUE self, VALUE friction)
192
- {
193
- CHECK;
194
- THIS->set_friction(friction.as_f(true));
195
- return self;
196
- }
197
-
198
- static
199
- VALUE get_friction(VALUE self)
200
- {
201
- CHECK;
202
- return value(THIS->friction());
203
- }
204
-
205
- static
206
- VALUE set_restitution(VALUE self, VALUE restitution)
207
- {
208
- CHECK;
209
- THIS->set_restitution(restitution.as_f(true));
210
- return self;
211
- }
212
-
213
- static
214
- VALUE get_restitution(VALUE self)
215
- {
216
- CHECK;
217
- return value(THIS->restitution());
218
- }
219
-
220
- static
221
- VALUE set_gravity_scale(VALUE self, VALUE scale)
222
- {
223
- CHECK;
224
- THIS->set_gravity_scale(scale.as_f(true));
225
- return self;
226
- }
227
-
228
- static
229
- VALUE get_gravity_scale(VALUE self)
230
- {
231
- CHECK;
232
- return value(THIS->gravity_scale());
233
- }
234
-
235
- static
236
- VALUE each(VALUE self)
237
- {
238
- CHECK;
239
-
240
- Value ret;
241
- Reflex::Body::iterator end = THIS->end();
242
- for (Reflex::Body::iterator it = THIS->begin(); it != end; ++it)
243
- ret = rb_yield(value(*it));
244
- return ret;
245
- }
246
-
247
-
248
- static Class cBody;
249
-
250
- void
251
- Init_body ()
252
- {
253
- Module mReflex = rb_define_module("Reflex");
254
-
255
- cBody = rb_define_class_under(mReflex, "Body", rb_cObject);
256
- rb_define_private_method(cBody, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
257
- rb_define_method(cBody, "add_box", RUBY_METHOD_FUNC(add_box), 2);
258
- rb_define_method(cBody, "add_ellipse", RUBY_METHOD_FUNC(add_ellipse), 2);
259
- rb_define_method(cBody, "add_arc", RUBY_METHOD_FUNC(add_arc), 4);
260
- rb_define_method(cBody, "clear_fixtures", RUBY_METHOD_FUNC(clear_fixtures), 0);
261
- rb_define_method(cBody, "meter2pixel", RUBY_METHOD_FUNC(meter2pixel), -1);
262
- rb_define_method(cBody, "static=", RUBY_METHOD_FUNC(set_static), 1);
263
- cBody.define_method("static?", is_static);
264
- rb_define_method(cBody, "dynamic=", RUBY_METHOD_FUNC(set_dynamic), 1);
265
- cBody.define_method("dynamic?", is_dynamic);
266
- rb_define_method(cBody, "position", RUBY_METHOD_FUNC(get_position), 0);
267
- rb_define_method(cBody, "angle", RUBY_METHOD_FUNC(get_angle), 0);
268
- rb_define_method(cBody, "linear_velocity=", RUBY_METHOD_FUNC(set_linear_velocity), 1);
269
- rb_define_method(cBody, "linear_velocity", RUBY_METHOD_FUNC(get_linear_velocity), 0);
270
- rb_define_method(cBody, "angular_velocity=", RUBY_METHOD_FUNC(set_angular_velocity), 1);
271
- rb_define_method(cBody, "angular_velocity", RUBY_METHOD_FUNC(get_angular_velocity), 0);
272
- rb_define_method(cBody, "apply_force", RUBY_METHOD_FUNC(apply_force), 1);
273
- rb_define_method(cBody, "apply_torque", RUBY_METHOD_FUNC(apply_torque), 1);
274
- rb_define_method(cBody, "apply_linear_impulse", RUBY_METHOD_FUNC(apply_linear_impulse), 1);
275
- rb_define_method(cBody, "apply_angular_impulse", RUBY_METHOD_FUNC(apply_angular_impulse), 1);
276
- rb_define_method(cBody, "density=", RUBY_METHOD_FUNC(set_density), 1);
277
- rb_define_method(cBody, "density", RUBY_METHOD_FUNC(get_density), 0);
278
- rb_define_method(cBody, "friction=", RUBY_METHOD_FUNC(set_friction), 1);
279
- rb_define_method(cBody, "friction", RUBY_METHOD_FUNC(get_friction), 0);
280
- rb_define_method(cBody, "restitution=", RUBY_METHOD_FUNC(set_restitution), 1);
281
- rb_define_method(cBody, "restitution", RUBY_METHOD_FUNC(get_restitution), 0);
282
- rb_define_method(cBody, "gravity_scale=", RUBY_METHOD_FUNC(set_gravity_scale), 1);
283
- rb_define_method(cBody, "gravity_scale", RUBY_METHOD_FUNC(get_gravity_scale), 0);
284
- rb_define_method(cBody, "each", RUBY_METHOD_FUNC(each), 0);
285
- }
286
-
287
-
288
- namespace Reflex
289
- {
290
-
291
-
292
- Class
293
- body_class ()
294
- {
295
- return cBody;
296
- }
297
-
298
-
299
- }// Reflex
@@ -1,101 +0,0 @@
1
- #include "reflex/ruby/fixture.h"
2
-
3
-
4
- #include <rucy.h>
5
- #include "defs.h"
6
-
7
-
8
- using namespace Rucy;
9
-
10
-
11
- RUCY_DEFINE_VALUE_FROM_TO(Reflex::Fixture)
12
-
13
- #define THIS to<Reflex::Fixture*>(self)
14
-
15
- #define CHECK RUCY_CHECK_OBJ(Reflex::Fixture, self)
16
-
17
-
18
- static
19
- VALUE initialize_copy(VALUE self, VALUE obj)
20
- {
21
- CHECK;
22
- *THIS = to<Reflex::Fixture&>(obj);
23
- return self;
24
- }
25
-
26
- static
27
- VALUE set_density(VALUE self, VALUE density)
28
- {
29
- CHECK;
30
- THIS->set_density(density.as_f(true));
31
- return self;
32
- }
33
-
34
- static
35
- VALUE get_density(VALUE self)
36
- {
37
- CHECK;
38
- return value(THIS->density());
39
- }
40
-
41
- static
42
- VALUE set_friction(VALUE self, VALUE friction)
43
- {
44
- CHECK;
45
- THIS->set_friction(friction.as_f(true));
46
- return self;
47
- }
48
-
49
- static
50
- VALUE get_friction(VALUE self)
51
- {
52
- CHECK;
53
- return value(THIS->friction());
54
- }
55
-
56
- static
57
- VALUE set_restitution(VALUE self, VALUE restitution)
58
- {
59
- CHECK;
60
- THIS->set_restitution(restitution.as_f(true));
61
- return self;
62
- }
63
-
64
- static
65
- VALUE get_restitution(VALUE self)
66
- {
67
- CHECK;
68
- return value(THIS->restitution());
69
- }
70
-
71
-
72
- static Class cFixture;
73
-
74
- void
75
- Init_fixture ()
76
- {
77
- Module mReflex = rb_define_module("Reflex");
78
-
79
- cFixture = rb_define_class_under(mReflex, "Fixture", rb_cObject);
80
- rb_define_private_method(cFixture, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
81
- rb_define_method(cFixture, "density=", RUBY_METHOD_FUNC(set_density), 1);
82
- rb_define_method(cFixture, "density", RUBY_METHOD_FUNC(get_density), 0);
83
- rb_define_method(cFixture, "friction=", RUBY_METHOD_FUNC(set_friction), 1);
84
- rb_define_method(cFixture, "friction", RUBY_METHOD_FUNC(get_friction), 0);
85
- rb_define_method(cFixture, "restitution=", RUBY_METHOD_FUNC(set_restitution), 1);
86
- rb_define_method(cFixture, "restitution", RUBY_METHOD_FUNC(get_restitution), 0);
87
- }
88
-
89
-
90
- namespace Reflex
91
- {
92
-
93
-
94
- Class
95
- fixture_class ()
96
- {
97
- return cFixture;
98
- }
99
-
100
-
101
- }// Reflex
@@ -1,153 +0,0 @@
1
- #include "reflex/ruby/shape_view.h"
2
-
3
-
4
- #include <rucy.h>
5
- #include <rays/ruby/color.h>
6
- #include "reflex/ruby/view.h"
7
-
8
-
9
- using namespace Rucy;
10
-
11
- using Reflex::coord;
12
-
13
-
14
- RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::ShapeView)
15
-
16
- #define THIS to<Reflex::ShapeView*>(self)
17
-
18
- #define CHECK RUCY_CHECK_OBJECT(Reflex::ShapeView, self)
19
-
20
- #define CALL(fun) RUCY_WRAPPER_CALL(Reflex::ShapeView, THIS, fun)
21
-
22
-
23
- static
24
- VALUE alloc(VALUE klass)
25
- {
26
- return value(new Reflex::RubyShapeView<Reflex::ShapeView>, klass);
27
- }
28
-
29
- static
30
- VALUE set_fill(VALUE self)
31
- {
32
- CHECK;
33
- check_arg_count(__FILE__, __LINE__, "ShapeView#set_fill", argc, 1, 2, 3, 4);
34
-
35
- if (argc == 1 && argv[0].is_kind_of(Rays::color_class()))
36
- THIS->set_fill(to<Rays::Color&>(argv[0]));
37
- else if (argc == 1 || argc == 2)
38
- {
39
- float v = to<float>(argv[0]);
40
- float a = (argc >= 2) ? to<float>(argv[1]) : 1;
41
- THIS->set_fill(v, v, v, a);
42
- }
43
- else
44
- {
45
- float r = to<float>(argv[0]);
46
- float g = to<float>(argv[1]);
47
- float b = to<float>(argv[2]);
48
- float a = (argc == 4) ? to<float>(argv[3]) : 1;
49
- THIS->set_fill(r, g, b, a);
50
- }
51
-
52
- return self;
53
- }
54
-
55
- static
56
- VALUE no_fill(VALUE self)
57
- {
58
- CHECK;
59
- THIS->no_fill();
60
- return self;
61
- }
62
-
63
- static
64
- VALUE get_fill(VALUE self)
65
- {
66
- CHECK;
67
- return value(THIS->fill());
68
- }
69
-
70
- static
71
- VALUE set_stroke(VALUE self)
72
- {
73
- CHECK;
74
- check_arg_count(__FILE__, __LINE__, "ShapeView#set_stroke", argc, 1, 2, 3, 4);
75
-
76
- if (argc == 1 && argv[0].is_kind_of(Rays::color_class()))
77
- THIS->set_stroke(to<Rays::Color&>(argv[0]));
78
- else if (argc == 1 || argc == 2)
79
- {
80
- float v = to<float>(argv[0]);
81
- float a = (argc >= 2) ? to<float>(argv[1]) : 1;
82
- THIS->set_stroke(v, v, v, a);
83
- }
84
- else
85
- {
86
- float r = to<float>(argv[0]);
87
- float g = to<float>(argv[1]);
88
- float b = to<float>(argv[2]);
89
- float a = (argc == 4) ? to<float>(argv[3]) : 1;
90
- THIS->set_stroke(r, g, b, a);
91
- }
92
-
93
- return self;
94
- }
95
-
96
- static
97
- VALUE no_stroke(VALUE self)
98
- {
99
- CHECK;
100
- THIS->no_stroke();
101
- return self;
102
- }
103
-
104
- static
105
- VALUE get_stroke(VALUE self)
106
- {
107
- CHECK;
108
- return value(THIS->stroke());
109
- }
110
-
111
- static
112
- VALUE on_draw_shape(VALUE self, VALUE event)
113
- {
114
- CHECK;
115
- CALL(on_draw_shape(to<Reflex::DrawEvent*>(event)));
116
- }
117
-
118
- static
119
- RUCY_DEF_clear_override_flags(cof, Reflex::ShapeView);
120
-
121
-
122
- static Class cShapeView;
123
-
124
- void
125
- Init_shape_view ()
126
- {
127
- Module mReflex = rb_define_module("Reflex");
128
-
129
- cShapeView = mReflex.define_class("ShapeView", Reflex::view_class());
130
- rb_define_alloc_func(cShapeView, alloc);
131
- rb_define_private_method(cShapeView, "set_fill", RUBY_METHOD_FUNC(set_fill), -1);
132
- rb_define_method(cShapeView, "no_fill", RUBY_METHOD_FUNC(no_fill), 0);
133
- rb_define_method(cShapeView, "fill", RUBY_METHOD_FUNC(get_fill), 0);
134
- rb_define_private_method(cShapeView, "set_stroke", RUBY_METHOD_FUNC(set_stroke), -1);
135
- rb_define_method(cShapeView, "no_stroke", RUBY_METHOD_FUNC(no_stroke), 0);
136
- rb_define_method(cShapeView, "stroke", RUBY_METHOD_FUNC(get_stroke), 0);
137
- rb_define_method(cShapeView, "on_draw_shape", RUBY_METHOD_FUNC(on_draw_shape), 1);
138
-
139
- }
140
-
141
-
142
- namespace Reflex
143
- {
144
-
145
-
146
- Class
147
- shape_view_class ()
148
- {
149
- return cShapeView;
150
- }
151
-
152
-
153
- }// Reflex
@@ -1,94 +0,0 @@
1
- #include "reflex/ruby/shape_view.h"
2
-
3
-
4
- #include <rucy.h>
5
-
6
-
7
- using namespace Rucy;
8
-
9
- using Reflex::coord;
10
-
11
-
12
- RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::ArcShape)
13
-
14
- #define THIS to<Reflex::ArcShape*>(self)
15
-
16
- #define CHECK RUCY_CHECK_OBJECT(Reflex::ArcShape, self)
17
-
18
- #define CALL(fun) RUCY_WRAPPER_CALL(Reflex::ArcShape, THIS, fun)
19
-
20
-
21
- static
22
- RUCY_DEF_ALLOC(alloc, klass)
23
- {
24
- return value(new Reflex::RubyShapeView<Reflex::ArcShape>, klass);
25
- }
26
- RUCY_END
27
-
28
- static
29
- RUCY_DEF1(set_angle_from, degree)
30
- {
31
- CHECK;
32
- THIS->set_angle_from(degree.as_f(true));
33
- return self;
34
- }
35
- RUCY_END
36
-
37
- static
38
- RUCY_DEF0(get_angle_from)
39
- {
40
- CHECK;
41
- return value(THIS->angle_from());
42
- }
43
- RUCY_END
44
-
45
- static
46
- RUCY_DEF1(set_angle_to, degree)
47
- {
48
- CHECK;
49
- THIS->set_angle_to(degree.as_f(true));
50
- return self;
51
- }
52
- RUCY_END
53
-
54
- static
55
- RUCY_DEF0(get_angle_to)
56
- {
57
- CHECK;
58
- return value(THIS->angle_to());
59
- }
60
- RUCY_END
61
-
62
- static
63
- RUCY_DEF_clear_override_flags(cof, Reflex::ArcShape);
64
-
65
-
66
- static Class cArcShape;
67
-
68
- void
69
- Init_arc_shape ()
70
- {
71
- Module mReflex = define_module("Reflex");
72
-
73
- cArcShape = mReflex.define_class("ArcShape", Reflex::ellipse_shape_class());
74
- cArcShape.define_alloc_func(alloc);
75
- cArcShape.define_method("angle_from=", set_angle_from);
76
- cArcShape.define_method("angle_from", get_angle_from);
77
- cArcShape.define_method("angle_to=", set_angle_to);
78
- cArcShape.define_method("angle_to=", get_angle_to);
79
- cArcShape.define_clear_override_flags(cof);
80
- }
81
-
82
-
83
- namespace Reflex
84
- {
85
-
86
-
87
- Class
88
- arc_shape_class ()
89
- {
90
- return cArcShape;
91
- }
92
-
93
-
94
- }// Reflex