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,146 +0,0 @@
1
- // -*- c++ -*-
2
- #pragma once
3
- #ifndef __REFLEX_SHAPE_VIEW_H__
4
- #define __REFLEX_SHAPE_VIEW_H__
5
-
6
-
7
- #include <xot/pimpl.h>
8
- #include <reflex/view.h>
9
-
10
-
11
- namespace Reflex
12
- {
13
-
14
-
15
- class ShapeView : public View
16
- {
17
-
18
- typedef View Super;
19
-
20
- public:
21
-
22
- ShapeView (const char* name = NULL);
23
-
24
- virtual ~ShapeView ();
25
-
26
- virtual void set_fill (float red, float green, float blue, float alpha = 1);
27
-
28
- virtual void set_fill (const Color& color);
29
-
30
- virtual void no_fill ();
31
-
32
- virtual const Color& fill () const;
33
-
34
- virtual void set_stroke (float red, float green, float blue, float alpha = 1);
35
-
36
- virtual void set_stroke (const Color& color);
37
-
38
- virtual void no_stroke ();
39
-
40
- virtual const Color& stroke () const;
41
-
42
- virtual Point content_size () const;
43
-
44
- virtual void on_draw (DrawEvent* e);
45
-
46
- virtual void on_draw_shape (DrawEvent* e);
47
-
48
- struct Data;
49
-
50
- Xot::PImpl<Data> self;
51
-
52
- };// ShapeView
53
-
54
-
55
- class RectShape : public ShapeView
56
- {
57
-
58
- typedef ShapeView Super;
59
-
60
- public:
61
-
62
- RectShape (const char* name = NULL);
63
-
64
- virtual ~RectShape ();
65
-
66
- virtual void set_round (coord round);
67
-
68
- virtual void set_round (coord width, coord height);
69
-
70
- virtual void set_round (const Point& round);
71
-
72
- virtual const Point& round () const;
73
-
74
- virtual void on_draw_shape (DrawEvent* e);
75
-
76
- struct Data;
77
-
78
- Xot::PImpl<Data> self;
79
-
80
- };// RectShape
81
-
82
-
83
- class EllipseShape : public ShapeView
84
- {
85
-
86
- typedef ShapeView Super;
87
-
88
- public:
89
-
90
- EllipseShape (const char* name = NULL);
91
-
92
- virtual ~EllipseShape ();
93
-
94
- virtual void set_radius_min (coord radius);
95
-
96
- virtual coord radius_min () const;
97
-
98
- virtual void set_nsegment (uint num_of_segments);
99
-
100
- virtual uint nsegment() const;
101
-
102
- virtual void make_body ();
103
-
104
- virtual void on_draw_shape (DrawEvent* e);
105
-
106
- struct Data;
107
-
108
- Xot::PImpl<Data> self;
109
-
110
- };// EllipseShape
111
-
112
-
113
- class ArcShape : public EllipseShape
114
- {
115
-
116
- typedef EllipseShape Super;
117
-
118
- public:
119
-
120
- ArcShape (const char* name = NULL);
121
-
122
- virtual ~ArcShape ();
123
-
124
- virtual void set_angle_from (float degree);
125
-
126
- virtual float angle_from () const;
127
-
128
- virtual void set_angle_to (float degree);
129
-
130
- virtual float angle_to () const;
131
-
132
- virtual void make_body ();
133
-
134
- virtual void on_draw_shape (DrawEvent* e);
135
-
136
- struct Data;
137
-
138
- Xot::PImpl<Data> self;
139
-
140
- };// ArcShape
141
-
142
-
143
- }// Reflex
144
-
145
-
146
- #endif//EOH
@@ -1,20 +0,0 @@
1
- // -*- c++ -*-
2
- #pragma once
3
- #ifndef __REFLEX_TEXTURE_H__
4
- #define __REFLEX_TEXTURE_H__
5
-
6
-
7
- #include <rays/texture.h>
8
-
9
-
10
- namespace Reflex
11
- {
12
-
13
-
14
- using Rays::Texture;
15
-
16
-
17
- }// Reflex
18
-
19
-
20
- #endif//EOH
data/lib/reflex/body.rb DELETED
@@ -1,22 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
- require 'xot/setter'
5
-
6
-
7
- module Reflex
8
-
9
-
10
- class Body
11
-
12
- include Xot::Setter
13
-
14
- alias velocity= linear_velocity=
15
- alias velocity linear_velocity
16
- alias apply_impulse apply_linear_impulse
17
- alias meter meter2pixel
18
-
19
- end# Body
20
-
21
-
22
- end# Reflex
data/lib/reflex/flags.rb DELETED
@@ -1,18 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
- require 'xot/bit_flag'
5
- require 'reflex/ext'
6
-
7
-
8
- module Reflex
9
-
10
-
11
- CAPTURE_FLAG = Xot::BitFlag.new do
12
- flag :key, View::CAPTURE_KEY
13
- flag :pointer, View::CAPTURE_POINTER
14
- flag :all, View::CAPTURE_ALL
15
- end
16
-
17
-
18
- end# Reflex
@@ -1,25 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
- require 'reflex/view'
5
-
6
-
7
- module Reflex
8
-
9
-
10
- class ShapeView
11
-
12
- def fill= (*args)
13
- set_fill Color.color *args
14
- fill
15
- end
16
-
17
- def stroke= (*args)
18
- set_stroke Color.color *args
19
- stroke
20
- end
21
-
22
- end# ShapeView
23
-
24
-
25
- end# Reflex
@@ -1,45 +0,0 @@
1
- // -*- c++ -*-
2
- #pragma once
3
- #ifndef __REFLEX_SRC_IOS_APPLICATION_DATA_H__
4
- #define __REFLEX_SRC_IOS_APPLICATION_DATA_H__
5
-
6
-
7
- #include <reflex/application.h>
8
-
9
-
10
- @class AppDelegate;
11
-
12
-
13
- namespace Reflex
14
- {
15
-
16
-
17
- struct Application::Data
18
- {
19
-
20
- AppDelegate* delegate;
21
-
22
- String name;
23
-
24
- Data ()
25
- : delegate(nil)
26
- {
27
- }
28
-
29
- operator bool () const
30
- {
31
- return delegate;
32
- }
33
-
34
- bool operator ! () const
35
- {
36
- return !operator bool();
37
- }
38
-
39
- };// Application::Data
40
-
41
-
42
- }// Reflex
43
-
44
-
45
- #endif//EOH
@@ -1,39 +0,0 @@
1
- // -*- objc -*-
2
- #import <UIKit/UIWindow.h>
3
- #include <reflex/window.h>
4
-
5
-
6
- @class OpenGLViewController;
7
-
8
-
9
- @interface NativeWindow : UIWindow
10
-
11
- {
12
- @private
13
- Reflex::Window::Ref* pref;
14
- OpenGLViewController* view_controller;
15
- }
16
-
17
- - (void) bind: (Reflex::Window*) instance;
18
-
19
- - (void) unbind: (Reflex::Window*) instance;
20
-
21
- - (void) update;
22
-
23
- - (void) draw;
24
-
25
- - (void) frameChanged;
26
-
27
- - (void) keyDown: (UIEvent*) event;
28
-
29
- - (void) keyUp: (UIEvent*) event;
30
-
31
- - (void) touchesBegan: (NSSet*) touches withEvent: (UIEvent*) event;
32
-
33
- - (void) touchesEnded: (NSSet*) touches withEvent: (UIEvent*) event;
34
-
35
- - (void) touchesCancelled: (NSSet*) touches withEvent: (UIEvent*) event;
36
-
37
- - (void) touchesMoved: (NSSet*) touches withEvent: (UIEvent*) event;
38
-
39
- @end// NativeWindow
@@ -1,224 +0,0 @@
1
- // -*- objc -*-
2
- #import "native_window.h"
3
-
4
-
5
- #include <assert.h>
6
- #include "reflex/bounds.h"
7
- #include "reflex/window.h"
8
- #include "reflex/exception.h"
9
- #include "event.h"
10
- #include "window_data.h"
11
- #import "opengl_view.h"
12
-
13
-
14
- #define REF (*pref)
15
-
16
-
17
- namespace Reflex
18
- {
19
-
20
- void update_view_tree (View* v, const UpdateEvent& e);
21
-
22
- void draw_view_tree (View* v, const DrawEvent& e, const Point& offset, const Bounds& clip);
23
-
24
- }// Reflex
25
-
26
-
27
- @implementation NativeWindow
28
-
29
- - (id) init
30
- {
31
- self = [super initWithFrame: UIScreen.mainScreen.bounds];
32
- if (!self) return nil;
33
-
34
- pref = new Reflex::Window::Ref;
35
- view_controller = [[OpenGLViewController alloc] init];
36
-
37
- self.rootViewController = view_controller;
38
-
39
- return self;
40
- }
41
-
42
- - (void) dealloc
43
- {
44
- assert(pref);
45
-
46
- self.rootViewController = nil;
47
- if (view_controller) [view_controller release];
48
-
49
- [self unbind: NULL];
50
- delete pref;
51
-
52
- [super dealloc];
53
- }
54
-
55
- - (void) bind: (Reflex::Window*) instance
56
- {
57
- assert(pref);
58
-
59
- if (instance && instance->self->native)
60
- Reflex::argument_error(__FILE__, __LINE__);
61
-
62
- if (REF)
63
- Reflex::invalid_state_error(__FILE__, __LINE__);
64
-
65
- REF = instance;
66
- if (REF) REF->self->native = [self retain];
67
- }
68
-
69
- - (void) unbind: (Reflex::Window*) instance
70
- {
71
- assert(pref);
72
-
73
- if (!REF) return;
74
-
75
- if (instance && instance != REF.get())
76
- Reflex::invalid_state_error(__FILE__, __LINE__);
77
-
78
- if (REF->self->native) [REF->self->native release];
79
- REF->self->native = nil;
80
- REF.reset();
81
- }
82
-
83
- - (void) update
84
- {
85
- assert(pref);
86
-
87
- if (!REF) return;
88
-
89
- double now = Xot::time();
90
- Reflex::UpdateEvent e(now - REF->self->prev_time_update);
91
- REF->self->prev_time_update = now;
92
-
93
- REF->on_update(&e);
94
- Reflex::update_view_tree(REF->root(), e);
95
- }
96
-
97
- - (void) draw
98
- {
99
- assert(pref);
100
-
101
- if (!REF || !REF->self->redraw) return;
102
-
103
- REF->self->redraw = false;
104
-
105
- double now = Xot::time();
106
- double dt = now - REF->self->prev_time_draw;
107
- double fps = 1. / dt;
108
-
109
- fps = REF->self->prev_fps * 0.9 + fps * 0.1;// LPF
110
- REF->self->prev_time_draw = now;
111
- REF->self->prev_fps = fps;
112
-
113
- Reflex::DrawEvent e(dt, fps);
114
-
115
- e.painter = REF->painter();
116
- if (!e.painter)
117
- Xot::invalid_state_error(__FILE__, __LINE__);
118
-
119
- Rays::Bounds b = REF->frame();
120
- e.bounds.reset(0, 0, b.width, b.height);
121
-
122
- e.painter->begin();
123
- e.painter->clear();
124
-
125
- REF->on_draw(&e);
126
- draw_view_tree(REF->root(), e, 0, REF->frame().dup().move_to(0));
127
-
128
- e.painter->end();
129
- }
130
-
131
- - (void) frameChanged
132
- {
133
- assert(pref);
134
-
135
- if (!REF) return;
136
-
137
- Rays::Bounds b = REF->frame();
138
- Rays::Point dpos = b.position() - REF->self->prev_position;
139
- Rays::Point dsize = b.size() - REF->self->prev_size;
140
- REF->self->prev_position = b.position();
141
- REF->self->prev_size = b.size();
142
-
143
- if (dpos != 0 || dsize != 0)
144
- {
145
- Reflex::FrameEvent e(b, dpos.x, dpos.y, dsize.x, dsize.y);
146
- if (dpos != 0) REF->on_move(&e);
147
- if (dsize != 0)
148
- {
149
- Rays::Bounds b = REF->frame();
150
- b.move_to(0, 0);
151
- if (REF->painter()) REF->painter()->canvas(b);
152
- if (REF->root()) REF->root()->set_frame(b);
153
- REF->on_resize(&e);
154
- }
155
- }
156
- }
157
-
158
- - (void) becomeKeyWindow
159
- {
160
- [super becomeKeyWindow];
161
- [self frameChanged];
162
- }
163
-
164
- - (void) keyDown: (UIEvent*) event
165
- {
166
- assert(pref);
167
-
168
- if (!REF) return;
169
-
170
- //Reflex::NativeKeyEvent e(event, Reflex::KeyEvent::DOWN);
171
- //REF->on_key(&e);
172
- }
173
-
174
- - (void) keyUp: (UIEvent*) event
175
- {
176
- assert(pref);
177
-
178
- if (!REF) return;
179
-
180
- //Reflex::NativeKeyEvent e(event, Reflex::KeyEvent::UP);
181
- //REF->on_key(&e);
182
- }
183
-
184
- - (void) touchesBegan: (NSSet*) touches withEvent: (UIEvent*) event
185
- {
186
- assert(pref);
187
-
188
- if (!REF) return;
189
-
190
- Reflex::NativePointerEvent e(touches, event, view_controller.view, Reflex::PointerEvent::DOWN);
191
- REF->on_pointer(&e);
192
- }
193
-
194
- - (void) touchesEnded: (NSSet*) touches withEvent: (UIEvent*) event
195
- {
196
- assert(pref);
197
-
198
- if (!REF) return;
199
-
200
- Reflex::NativePointerEvent e(touches, event, view_controller.view, Reflex::PointerEvent::UP);
201
- REF->on_pointer(&e);
202
- }
203
-
204
- - (void) touchesCancelled: (NSSet*) touches withEvent: (UIEvent*) event
205
- {
206
- assert(pref);
207
-
208
- if (!REF) return;
209
-
210
- Reflex::NativePointerEvent e(touches, event, view_controller.view, Reflex::PointerEvent::UP);
211
- REF->on_pointer(&e);
212
- }
213
-
214
- - (void) touchesMoved: (NSSet*) touches withEvent: (UIEvent*) event
215
- {
216
- assert(pref);
217
-
218
- if (!REF) return;
219
-
220
- Reflex::NativePointerEvent e(touches, event, view_controller.view, Reflex::PointerEvent::MOVE);
221
- REF->on_pointer(&e);
222
- }
223
-
224
- @end// NativeWindow
@@ -1,13 +0,0 @@
1
- // -*- objc -*-
2
- #import <UIKit/UIKit.h>
3
- #import <GLKit/GLKit.h>
4
-
5
-
6
- @interface OpenGLViewController : GLKViewController
7
-
8
- {
9
- @private
10
- EAGLContext* context;
11
- }
12
-
13
- @end// OpenGLViewController
@@ -1,139 +0,0 @@
1
- // -*- objc -*-
2
- #import "opengl_view.h"
3
-
4
-
5
- #include <rays/opengl.h>
6
- #include <rays/exception.h>
7
- #include "reflex/exception.h"
8
- #import "native_window.h"
9
-
10
-
11
- //#define TRANSPARENT_BACKGROUND
12
-
13
-
14
- @implementation OpenGLViewController
15
-
16
- - (void) viewDidLoad
17
- {
18
- [super viewDidLoad];
19
-
20
- context = [[EAGLContext alloc] initWithAPI: kEAGLRenderingAPIOpenGLES1];
21
- if (!context)
22
- Reflex::reflex_error(__FILE__, __LINE__, "failed to create OpenGL context.");
23
-
24
- GLKView* view = (GLKView*) self.view;
25
- view.context = context;
26
- view.drawableDepthFormat = GLKViewDrawableDepthFormat24;
27
- //view.drawableMultisample = GLKViewDrawableMultisample4X;
28
-
29
- self.preferredFramesPerSecond = 60;
30
-
31
- [self setupOpenGL];
32
- }
33
-
34
- - (void) dealloc
35
- {
36
- [self teardownOpenGL];
37
- [super dealloc];
38
- }
39
-
40
- - (void) didReceiveMemoryWarning
41
- {
42
- [super didReceiveMemoryWarning];
43
-
44
- if ([self isViewLoaded] && self.view.window == nil)
45
- {
46
- self.view = nil;
47
- [self teardownOpenGL];
48
- }
49
- }
50
-
51
- - (void) activateContext
52
- {
53
- [EAGLContext setCurrentContext: context];
54
- }
55
-
56
- - (void) setupOpenGL
57
- {
58
- [self activateContext];
59
- }
60
-
61
- - (void) teardownOpenGL
62
- {
63
- [self activateContext];
64
-
65
- if (context && [EAGLContext currentContext] == context)
66
- {
67
- [EAGLContext setCurrentContext: nil];
68
- context = nil;
69
- }
70
- }
71
-
72
- - (void) update
73
- {
74
- NativeWindow* win = (NativeWindow*) self.view.window;
75
- if (!win) return;
76
-
77
- [win update];
78
- }
79
-
80
- - (void) glkView: (GLKView*) view drawInRect: (CGRect) rect
81
- {
82
- NativeWindow* win = (NativeWindow*) self.view.window;
83
- if (!win) return;
84
-
85
- [self activateContext];
86
- [win draw];
87
- }
88
-
89
- - (void) keyDown: (UIEvent*) event
90
- {
91
- //[self interpretKeyEvents: [NSArray arrayWithObject: event]];
92
-
93
- NativeWindow* win = (NativeWindow*) self.view.window;
94
- if (!win) return;
95
-
96
- [win keyDown: event];
97
- }
98
-
99
- - (void) keyUp: (UIEvent*) event
100
- {
101
- NativeWindow* win = (NativeWindow*) self.view.window;
102
- if (!win) return;
103
-
104
- [win keyUp: event];
105
- }
106
-
107
- - (void) touchesBegan: (NSSet*) touches withEvent: (UIEvent*) event
108
- {
109
- NativeWindow* win = (NativeWindow*) self.view.window;
110
- if (!win) return;
111
-
112
- [win touchesBegan: touches withEvent: event];
113
- }
114
-
115
- - (void) touchesEnded: (NSSet*) touches withEvent: (UIEvent*) event
116
- {
117
- NativeWindow* win = (NativeWindow*) self.view.window;
118
- if (!win) return;
119
-
120
- [win touchesEnded: touches withEvent: event];
121
- }
122
-
123
- - (void) touchesCancelled: (NSSet*) touches withEvent: (UIEvent*) event
124
- {
125
- NativeWindow* win = (NativeWindow*) self.view.window;
126
- if (!win) return;
127
-
128
- [win touchesCancelled: touches withEvent: event];
129
- }
130
-
131
- - (void) touchesMoved: (NSSet*) touches withEvent: (UIEvent*) event
132
- {
133
- NativeWindow* win = (NativeWindow*) self.view.window;
134
- if (!win) return;
135
-
136
- [win touchesMoved: touches withEvent: event];
137
- }
138
-
139
- @end// OpenGLViewController