reflexion 0.1.7 → 0.1.8

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 (223) hide show
  1. checksums.yaml +4 -4
  2. data/.doc/ext/reflex/application.cpp +5 -5
  3. data/.doc/ext/reflex/body.cpp +167 -0
  4. data/.doc/ext/reflex/capture_event.cpp +4 -4
  5. data/.doc/ext/reflex/draw_event.cpp +4 -4
  6. data/.doc/ext/reflex/event.cpp +4 -4
  7. data/.doc/ext/reflex/fixture.cpp +101 -0
  8. data/.doc/ext/reflex/focus_event.cpp +4 -4
  9. data/.doc/ext/reflex/frame_event.cpp +4 -4
  10. data/.doc/ext/reflex/image_view.cpp +22 -5
  11. data/.doc/ext/reflex/key_event.cpp +4 -4
  12. data/.doc/ext/reflex/native.cpp +6 -0
  13. data/.doc/ext/reflex/pointer_event.cpp +4 -4
  14. data/.doc/ext/reflex/reflex.cpp +2 -3
  15. data/.doc/ext/reflex/scroll_event.cpp +4 -4
  16. data/.doc/ext/reflex/selector.cpp +4 -4
  17. data/.doc/ext/reflex/style.cpp +4 -4
  18. data/.doc/ext/reflex/style_length.cpp +4 -4
  19. data/.doc/ext/reflex/style_length2.cpp +4 -4
  20. data/.doc/ext/reflex/style_length4.cpp +4 -4
  21. data/.doc/ext/reflex/update_event.cpp +4 -4
  22. data/.doc/ext/reflex/view.cpp +110 -8
  23. data/.doc/ext/reflex/wheel_event.cpp +4 -4
  24. data/.doc/ext/reflex/window.cpp +36 -12
  25. data/README.md +2 -2
  26. data/Rakefile +2 -1
  27. data/VERSION +1 -1
  28. data/ext/reflex/application.cpp +8 -8
  29. data/ext/reflex/body.cpp +181 -0
  30. data/ext/reflex/capture_event.cpp +4 -4
  31. data/ext/reflex/draw_event.cpp +4 -4
  32. data/ext/reflex/event.cpp +4 -4
  33. data/ext/reflex/fixture.cpp +108 -0
  34. data/ext/reflex/focus_event.cpp +4 -4
  35. data/ext/reflex/frame_event.cpp +4 -4
  36. data/ext/reflex/image_view.cpp +24 -5
  37. data/ext/reflex/key_event.cpp +4 -4
  38. data/ext/reflex/native.cpp +6 -0
  39. data/ext/reflex/pointer_event.cpp +4 -4
  40. data/ext/reflex/reflex.cpp +2 -3
  41. data/ext/reflex/scroll_event.cpp +4 -4
  42. data/ext/reflex/selector.cpp +4 -4
  43. data/ext/reflex/style.cpp +4 -4
  44. data/ext/reflex/style_length.cpp +4 -4
  45. data/ext/reflex/style_length2.cpp +4 -4
  46. data/ext/reflex/style_length4.cpp +4 -4
  47. data/ext/reflex/update_event.cpp +4 -4
  48. data/ext/reflex/view.cpp +126 -12
  49. data/ext/reflex/wheel_event.cpp +4 -4
  50. data/ext/reflex/window.cpp +39 -12
  51. data/include/reflex/bitmap.h +20 -0
  52. data/include/reflex/body.h +82 -0
  53. data/include/reflex/bounds.h +20 -0
  54. data/include/reflex/color.h +20 -0
  55. data/include/reflex/color_space.h +20 -0
  56. data/include/reflex/defs.h +5 -1
  57. data/include/reflex/event.h +16 -25
  58. data/include/reflex/fixture.h +116 -0
  59. data/include/reflex/font.h +20 -0
  60. data/include/reflex/image.h +20 -0
  61. data/include/reflex/image_view.h +1 -1
  62. data/include/reflex/matrix.h +20 -0
  63. data/include/reflex/painter.h +20 -0
  64. data/include/reflex/point.h +24 -0
  65. data/include/reflex/ruby/application.h +6 -0
  66. data/include/reflex/ruby/body.h +41 -0
  67. data/include/reflex/ruby/event.h +68 -0
  68. data/include/reflex/ruby/fixture.h +41 -0
  69. data/include/reflex/ruby/image_view.h +14 -0
  70. data/include/reflex/ruby/selector.h +14 -0
  71. data/include/reflex/ruby/style.h +14 -0
  72. data/include/reflex/ruby/style_length.h +26 -0
  73. data/include/reflex/ruby/view.h +43 -39
  74. data/include/reflex/ruby/window.h +27 -21
  75. data/include/reflex/ruby.h +2 -0
  76. data/include/reflex/shader.h +20 -0
  77. data/include/reflex/style.h +2 -3
  78. data/include/reflex/texture.h +20 -0
  79. data/include/reflex/view.h +45 -24
  80. data/include/reflex/window.h +11 -14
  81. data/include/reflex.h +3 -0
  82. data/lib/reflex/application.rb +6 -2
  83. data/lib/reflex/body.rb +17 -0
  84. data/lib/reflex/fixture.rb +17 -0
  85. data/lib/reflex/view.rb +16 -1
  86. data/lib/reflex/window.rb +13 -1
  87. data/lib/reflex.rb +2 -0
  88. data/reflex.gemspec +1 -1
  89. data/samples/bats.rb +4 -3
  90. data/samples/checker.rb +4 -3
  91. data/samples/fans.rb +4 -3
  92. data/samples/fps.rb +5 -3
  93. data/samples/grid.rb +5 -4
  94. data/samples/hello.rb +1 -1
  95. data/samples/image.rb +3 -2
  96. data/samples/ios/hello/hello/main.cpp +12 -3
  97. data/samples/ios/hello/hello.xcodeproj/project.pbxproj +376 -123
  98. data/samples/key.rb +5 -4
  99. data/samples/layout.rb +3 -2
  100. data/samples/model.rb +3 -2
  101. data/samples/osx/hello/hello/main.cpp +12 -3
  102. data/samples/osx/hello/hello.xcodeproj/project.pbxproj +375 -120
  103. data/samples/physics.rb +37 -0
  104. data/samples/repl.rb +3 -2
  105. data/samples/shader.rb +4 -4
  106. data/samples/shapes.rb +4 -4
  107. data/samples/text.rb +6 -4
  108. data/samples/tree.rb +5 -4
  109. data/samples/views.rb +3 -2
  110. data/samples/visuals.rb +1 -2
  111. data/src/body.cpp +244 -0
  112. data/src/event.cpp +18 -18
  113. data/src/fixture.cpp +108 -0
  114. data/src/image_view.cpp +1 -1
  115. data/src/ios/native_window.h +2 -0
  116. data/src/ios/native_window.mm +18 -1
  117. data/src/ios/opengl_view.mm +8 -0
  118. data/src/ios/window.mm +24 -3
  119. data/src/ios/window_data.h +3 -3
  120. data/src/osx/native_window.mm +17 -1
  121. data/src/osx/window.mm +24 -3
  122. data/src/osx/window_data.h +3 -3
  123. data/src/physics/Box2D/Box2D.h +68 -0
  124. data/src/physics/Box2D/Collision/Shapes/b2ChainShape.cpp +193 -0
  125. data/src/physics/Box2D/Collision/Shapes/b2ChainShape.h +105 -0
  126. data/src/physics/Box2D/Collision/Shapes/b2CircleShape.cpp +99 -0
  127. data/src/physics/Box2D/Collision/Shapes/b2CircleShape.h +91 -0
  128. data/src/physics/Box2D/Collision/Shapes/b2EdgeShape.cpp +138 -0
  129. data/src/physics/Box2D/Collision/Shapes/b2EdgeShape.h +74 -0
  130. data/src/physics/Box2D/Collision/Shapes/b2PolygonShape.cpp +467 -0
  131. data/src/physics/Box2D/Collision/Shapes/b2PolygonShape.h +101 -0
  132. data/src/physics/Box2D/Collision/Shapes/b2Shape.h +101 -0
  133. data/src/physics/Box2D/Collision/b2BroadPhase.cpp +119 -0
  134. data/src/physics/Box2D/Collision/b2BroadPhase.h +257 -0
  135. data/src/physics/Box2D/Collision/b2CollideCircle.cpp +154 -0
  136. data/src/physics/Box2D/Collision/b2CollideEdge.cpp +698 -0
  137. data/src/physics/Box2D/Collision/b2CollidePolygon.cpp +239 -0
  138. data/src/physics/Box2D/Collision/b2Collision.cpp +252 -0
  139. data/src/physics/Box2D/Collision/b2Collision.h +277 -0
  140. data/src/physics/Box2D/Collision/b2Distance.cpp +603 -0
  141. data/src/physics/Box2D/Collision/b2Distance.h +141 -0
  142. data/src/physics/Box2D/Collision/b2DynamicTree.cpp +778 -0
  143. data/src/physics/Box2D/Collision/b2DynamicTree.h +289 -0
  144. data/src/physics/Box2D/Collision/b2TimeOfImpact.cpp +486 -0
  145. data/src/physics/Box2D/Collision/b2TimeOfImpact.h +58 -0
  146. data/src/physics/Box2D/Common/b2BlockAllocator.cpp +215 -0
  147. data/src/physics/Box2D/Common/b2BlockAllocator.h +62 -0
  148. data/src/physics/Box2D/Common/b2Draw.cpp +44 -0
  149. data/src/physics/Box2D/Common/b2Draw.h +86 -0
  150. data/src/physics/Box2D/Common/b2GrowableStack.h +85 -0
  151. data/src/physics/Box2D/Common/b2Math.cpp +94 -0
  152. data/src/physics/Box2D/Common/b2Math.h +720 -0
  153. data/src/physics/Box2D/Common/b2Settings.cpp +44 -0
  154. data/src/physics/Box2D/Common/b2Settings.h +151 -0
  155. data/src/physics/Box2D/Common/b2StackAllocator.cpp +83 -0
  156. data/src/physics/Box2D/Common/b2StackAllocator.h +60 -0
  157. data/src/physics/Box2D/Common/b2Timer.cpp +101 -0
  158. data/src/physics/Box2D/Common/b2Timer.h +50 -0
  159. data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndCircleContact.cpp +53 -0
  160. data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndCircleContact.h +39 -0
  161. data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndPolygonContact.cpp +53 -0
  162. data/src/physics/Box2D/Dynamics/Contacts/b2ChainAndPolygonContact.h +39 -0
  163. data/src/physics/Box2D/Dynamics/Contacts/b2CircleContact.cpp +52 -0
  164. data/src/physics/Box2D/Dynamics/Contacts/b2CircleContact.h +39 -0
  165. data/src/physics/Box2D/Dynamics/Contacts/b2Contact.cpp +247 -0
  166. data/src/physics/Box2D/Dynamics/Contacts/b2Contact.h +349 -0
  167. data/src/physics/Box2D/Dynamics/Contacts/b2ContactSolver.cpp +838 -0
  168. data/src/physics/Box2D/Dynamics/Contacts/b2ContactSolver.h +95 -0
  169. data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndCircleContact.cpp +49 -0
  170. data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndCircleContact.h +39 -0
  171. data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp +49 -0
  172. data/src/physics/Box2D/Dynamics/Contacts/b2EdgeAndPolygonContact.h +39 -0
  173. data/src/physics/Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.cpp +49 -0
  174. data/src/physics/Box2D/Dynamics/Contacts/b2PolygonAndCircleContact.h +38 -0
  175. data/src/physics/Box2D/Dynamics/Contacts/b2PolygonContact.cpp +52 -0
  176. data/src/physics/Box2D/Dynamics/Contacts/b2PolygonContact.h +39 -0
  177. data/src/physics/Box2D/Dynamics/Joints/b2DistanceJoint.cpp +260 -0
  178. data/src/physics/Box2D/Dynamics/Joints/b2DistanceJoint.h +169 -0
  179. data/src/physics/Box2D/Dynamics/Joints/b2FrictionJoint.cpp +251 -0
  180. data/src/physics/Box2D/Dynamics/Joints/b2FrictionJoint.h +119 -0
  181. data/src/physics/Box2D/Dynamics/Joints/b2GearJoint.cpp +419 -0
  182. data/src/physics/Box2D/Dynamics/Joints/b2GearJoint.h +125 -0
  183. data/src/physics/Box2D/Dynamics/Joints/b2Joint.cpp +211 -0
  184. data/src/physics/Box2D/Dynamics/Joints/b2Joint.h +226 -0
  185. data/src/physics/Box2D/Dynamics/Joints/b2MotorJoint.cpp +304 -0
  186. data/src/physics/Box2D/Dynamics/Joints/b2MotorJoint.h +133 -0
  187. data/src/physics/Box2D/Dynamics/Joints/b2MouseJoint.cpp +222 -0
  188. data/src/physics/Box2D/Dynamics/Joints/b2MouseJoint.h +129 -0
  189. data/src/physics/Box2D/Dynamics/Joints/b2PrismaticJoint.cpp +629 -0
  190. data/src/physics/Box2D/Dynamics/Joints/b2PrismaticJoint.h +196 -0
  191. data/src/physics/Box2D/Dynamics/Joints/b2PulleyJoint.cpp +348 -0
  192. data/src/physics/Box2D/Dynamics/Joints/b2PulleyJoint.h +152 -0
  193. data/src/physics/Box2D/Dynamics/Joints/b2RevoluteJoint.cpp +502 -0
  194. data/src/physics/Box2D/Dynamics/Joints/b2RevoluteJoint.h +204 -0
  195. data/src/physics/Box2D/Dynamics/Joints/b2RopeJoint.cpp +241 -0
  196. data/src/physics/Box2D/Dynamics/Joints/b2RopeJoint.h +114 -0
  197. data/src/physics/Box2D/Dynamics/Joints/b2WeldJoint.cpp +344 -0
  198. data/src/physics/Box2D/Dynamics/Joints/b2WeldJoint.h +126 -0
  199. data/src/physics/Box2D/Dynamics/Joints/b2WheelJoint.cpp +419 -0
  200. data/src/physics/Box2D/Dynamics/Joints/b2WheelJoint.h +210 -0
  201. data/src/physics/Box2D/Dynamics/b2Body.cpp +549 -0
  202. data/src/physics/Box2D/Dynamics/b2Body.h +860 -0
  203. data/src/physics/Box2D/Dynamics/b2ContactManager.cpp +296 -0
  204. data/src/physics/Box2D/Dynamics/b2ContactManager.h +52 -0
  205. data/src/physics/Box2D/Dynamics/b2Fixture.cpp +303 -0
  206. data/src/physics/Box2D/Dynamics/b2Fixture.h +345 -0
  207. data/src/physics/Box2D/Dynamics/b2Island.cpp +539 -0
  208. data/src/physics/Box2D/Dynamics/b2Island.h +93 -0
  209. data/src/physics/Box2D/Dynamics/b2TimeStep.h +70 -0
  210. data/src/physics/Box2D/Dynamics/b2World.cpp +1339 -0
  211. data/src/physics/Box2D/Dynamics/b2World.h +354 -0
  212. data/src/physics/Box2D/Dynamics/b2WorldCallbacks.cpp +36 -0
  213. data/src/physics/Box2D/Dynamics/b2WorldCallbacks.h +155 -0
  214. data/src/physics/Box2D/Rope/b2Rope.cpp +259 -0
  215. data/src/physics/Box2D/Rope/b2Rope.h +115 -0
  216. data/src/style.cpp +2 -2
  217. data/src/view.cpp +217 -17
  218. data/src/window.cpp +25 -15
  219. data/src/world.cpp +206 -0
  220. data/src/world.h +96 -0
  221. data/task/box2d.rake +25 -0
  222. data/test/test_view.rb +5 -5
  223. metadata +125 -3
@@ -28,8 +28,6 @@ namespace Reflex
28
28
  RUCY_OVERRIDE_BEGIN(Rucy::ClassWrapper<T>)
29
29
 
30
30
  RUCY_OVERRIDE_ID(content_size)
31
- RUCY_OVERRIDE_ID(on_attach)
32
- RUCY_OVERRIDE_ID(on_detach)
33
31
  RUCY_OVERRIDE_ID(on_update)
34
32
  RUCY_OVERRIDE_ID(on_draw)
35
33
  RUCY_OVERRIDE_ID(on_move)
@@ -49,22 +47,10 @@ namespace Reflex
49
47
 
50
48
  RUCY_OVERRIDE_END
51
49
 
52
- virtual void show ()
53
- {
54
- RUCY_SYM(show);
55
- this->value.call(show);
56
- }
57
-
58
- virtual void hide ()
59
- {
60
- RUCY_SYM(hide);
61
- this->value.call(hide);
62
- }
63
-
64
50
  virtual Point content_size () const
65
51
  {
66
52
  RUCY_SYM(content_size);
67
- if (RUCY_IS_OVERRIDDEN(content_size, view_class()))
53
+ if (RUCY_IS_OVERRIDDEN(content_size))
68
54
  {
69
55
  Rucy::Value ret = this->value.call(content_size);
70
56
  return ret.is_nil() ? Super::content_size() : Rucy::to<Point>(ret);
@@ -73,28 +59,40 @@ namespace Reflex
73
59
  return Super::content_size();
74
60
  }
75
61
 
62
+ virtual void make_body ()
63
+ {
64
+ RUCY_SYM(make_body);
65
+ this->value.call(make_body);
66
+ }
67
+
76
68
  virtual void on_attach (Event* e)
77
69
  {
78
70
  RUCY_SYM(on_attach);
79
- if (RUCY_IS_OVERRIDDEN(on_attach, view_class()))
80
- this->value.call(on_attach, Rucy::value(e));
81
- else
82
- Super::on_attach(e);
71
+ this->value.call(on_attach, Rucy::value(e));
83
72
  }
84
73
 
85
74
  virtual void on_detach (Event* e)
86
75
  {
87
76
  RUCY_SYM(on_detach);
88
- if (RUCY_IS_OVERRIDDEN(on_detach, view_class()))
89
- this->value.call(on_detach, Rucy::value(e));
90
- else
91
- Super::on_detach(e);
77
+ this->value.call(on_detach, Rucy::value(e));
78
+ }
79
+
80
+ virtual void on_show (Event* e)
81
+ {
82
+ RUCY_SYM(on_show);
83
+ this->value.call(on_show, Rucy::value(e));
84
+ }
85
+
86
+ virtual void on_hide (Event* e)
87
+ {
88
+ RUCY_SYM(on_hide);
89
+ this->value.call(on_hide, Rucy::value(e));
92
90
  }
93
91
 
94
92
  virtual void on_update (UpdateEvent* e)
95
93
  {
96
94
  RUCY_SYM(on_update);
97
- if (RUCY_IS_OVERRIDDEN(on_update, view_class()))
95
+ if (RUCY_IS_OVERRIDDEN(on_update))
98
96
  this->value.call(on_update, Rucy::value(e));
99
97
  else
100
98
  Super::on_update(e);
@@ -103,7 +101,7 @@ namespace Reflex
103
101
  virtual void on_draw (DrawEvent* e)
104
102
  {
105
103
  RUCY_SYM(on_draw);
106
- if (RUCY_IS_OVERRIDDEN(on_draw, view_class()))
104
+ if (RUCY_IS_OVERRIDDEN(on_draw))
107
105
  this->value.call(on_draw, Rucy::value(e));
108
106
  else
109
107
  Super::on_draw(e);
@@ -112,7 +110,7 @@ namespace Reflex
112
110
  virtual void on_move (FrameEvent* e)
113
111
  {
114
112
  RUCY_SYM(on_move);
115
- if (RUCY_IS_OVERRIDDEN(on_move, view_class()))
113
+ if (RUCY_IS_OVERRIDDEN(on_move))
116
114
  this->value.call(on_move, Rucy::value(e));
117
115
  else
118
116
  Super::on_move(e);
@@ -121,7 +119,7 @@ namespace Reflex
121
119
  virtual void on_resize (FrameEvent* e)
122
120
  {
123
121
  RUCY_SYM(on_resize);
124
- if (RUCY_IS_OVERRIDDEN(on_resize, view_class()))
122
+ if (RUCY_IS_OVERRIDDEN(on_resize))
125
123
  this->value.call(on_resize, Rucy::value(e));
126
124
  else
127
125
  Super::on_resize(e);
@@ -130,7 +128,7 @@ namespace Reflex
130
128
  virtual void on_scroll (ScrollEvent* e)
131
129
  {
132
130
  RUCY_SYM(on_scroll);
133
- if (RUCY_IS_OVERRIDDEN(on_scroll, view_class()))
131
+ if (RUCY_IS_OVERRIDDEN(on_scroll))
134
132
  this->value.call(on_scroll, Rucy::value(e));
135
133
  else
136
134
  Super::on_scroll(e);
@@ -139,7 +137,7 @@ namespace Reflex
139
137
  virtual void on_focus (FocusEvent* e)
140
138
  {
141
139
  RUCY_SYM(on_focus);
142
- if (RUCY_IS_OVERRIDDEN(on_focus, view_class()))
140
+ if (RUCY_IS_OVERRIDDEN(on_focus))
143
141
  this->value.call(on_focus, Rucy::value(e));
144
142
  else
145
143
  Super::on_focus(e);
@@ -148,7 +146,7 @@ namespace Reflex
148
146
  virtual void on_blur (FocusEvent* e)
149
147
  {
150
148
  RUCY_SYM(on_blur);
151
- if (RUCY_IS_OVERRIDDEN(on_blur, view_class()))
149
+ if (RUCY_IS_OVERRIDDEN(on_blur))
152
150
  this->value.call(on_blur, Rucy::value(e));
153
151
  else
154
152
  Super::on_blur(e);
@@ -157,7 +155,7 @@ namespace Reflex
157
155
  virtual void on_key (KeyEvent* e)
158
156
  {
159
157
  RUCY_SYM(on_key);
160
- if (RUCY_IS_OVERRIDDEN(on_key, view_class()))
158
+ if (RUCY_IS_OVERRIDDEN(on_key))
161
159
  this->value.call(on_key, Rucy::value(e));
162
160
  else
163
161
  Super::on_key(e);
@@ -166,7 +164,7 @@ namespace Reflex
166
164
  virtual void on_key_down (KeyEvent* e)
167
165
  {
168
166
  RUCY_SYM(on_key_down);
169
- if (RUCY_IS_OVERRIDDEN(on_key_down, view_class()))
167
+ if (RUCY_IS_OVERRIDDEN(on_key_down))
170
168
  this->value.call(on_key_down, Rucy::value(e));
171
169
  else
172
170
  Super::on_key_down(e);
@@ -175,7 +173,7 @@ namespace Reflex
175
173
  virtual void on_key_up (KeyEvent* e)
176
174
  {
177
175
  RUCY_SYM(on_key_up);
178
- if (RUCY_IS_OVERRIDDEN(on_key_up, view_class()))
176
+ if (RUCY_IS_OVERRIDDEN(on_key_up))
179
177
  this->value.call(on_key_up, Rucy::value(e));
180
178
  else
181
179
  Super::on_key_up(e);
@@ -184,7 +182,7 @@ namespace Reflex
184
182
  virtual void on_pointer (PointerEvent* e)
185
183
  {
186
184
  RUCY_SYM(on_pointer);
187
- if (RUCY_IS_OVERRIDDEN(on_pointer, view_class()))
185
+ if (RUCY_IS_OVERRIDDEN(on_pointer))
188
186
  this->value.call(on_pointer, Rucy::value(e));
189
187
  else
190
188
  Super::on_pointer(e);
@@ -193,7 +191,7 @@ namespace Reflex
193
191
  virtual void on_pointer_down (PointerEvent* e)
194
192
  {
195
193
  RUCY_SYM(on_pointer_down);
196
- if (RUCY_IS_OVERRIDDEN(on_pointer_down, view_class()))
194
+ if (RUCY_IS_OVERRIDDEN(on_pointer_down))
197
195
  this->value.call(on_pointer_down, Rucy::value(e));
198
196
  else
199
197
  Super::on_pointer_down(e);
@@ -202,7 +200,7 @@ namespace Reflex
202
200
  virtual void on_pointer_up (PointerEvent* e)
203
201
  {
204
202
  RUCY_SYM(on_pointer_up);
205
- if (RUCY_IS_OVERRIDDEN(on_pointer_up, view_class()))
203
+ if (RUCY_IS_OVERRIDDEN(on_pointer_up))
206
204
  this->value.call(on_pointer_up, Rucy::value(e));
207
205
  else
208
206
  Super::on_pointer_up(e);
@@ -211,7 +209,7 @@ namespace Reflex
211
209
  virtual void on_pointer_move (PointerEvent* e)
212
210
  {
213
211
  RUCY_SYM(on_pointer_move);
214
- if (RUCY_IS_OVERRIDDEN(on_pointer_move, view_class()))
212
+ if (RUCY_IS_OVERRIDDEN(on_pointer_move))
215
213
  this->value.call(on_pointer_move, Rucy::value(e));
216
214
  else
217
215
  Super::on_pointer_move(e);
@@ -220,7 +218,7 @@ namespace Reflex
220
218
  virtual void on_wheel (WheelEvent* e)
221
219
  {
222
220
  RUCY_SYM(on_wheel);
223
- if (RUCY_IS_OVERRIDDEN(on_wheel, view_class()))
221
+ if (RUCY_IS_OVERRIDDEN(on_wheel))
224
222
  this->value.call(on_wheel, Rucy::value(e));
225
223
  else
226
224
  Super::on_wheel(e);
@@ -229,7 +227,7 @@ namespace Reflex
229
227
  virtual void on_capture (CaptureEvent* e)
230
228
  {
231
229
  RUCY_SYM(on_capture);
232
- if (RUCY_IS_OVERRIDDEN(on_capture, view_class()))
230
+ if (RUCY_IS_OVERRIDDEN(on_capture))
233
231
  this->value.call(on_capture, Rucy::value(e));
234
232
  else
235
233
  Super::on_capture(e);
@@ -248,6 +246,12 @@ namespace Rucy
248
246
  {
249
247
 
250
248
 
249
+ template <> inline Class
250
+ get_ruby_class<Reflex::View> ()
251
+ {
252
+ return Reflex::view_class();
253
+ }
254
+
251
255
  inline Value
252
256
  value (Reflex::View::Ref& ref, Value klass = Reflex::view_class())
253
257
  {
@@ -42,28 +42,28 @@ namespace Reflex
42
42
 
43
43
  RUCY_OVERRIDE_END
44
44
 
45
- virtual void show ()
45
+ virtual void on_show (Event* e)
46
46
  {
47
- RUCY_SYM(show);
48
- this->value.call(show);
47
+ RUCY_SYM(on_show);
48
+ this->value.call(on_show, Rucy::value(e));
49
49
  }
50
50
 
51
- virtual void hide ()
51
+ virtual void on_hide (Event* e)
52
52
  {
53
- RUCY_SYM(hide);
54
- this->value.call(hide);
53
+ RUCY_SYM(on_hide);
54
+ this->value.call(on_hide, Rucy::value(e));
55
55
  }
56
56
 
57
- virtual void close ()
57
+ virtual void on_close (Event* e)
58
58
  {
59
- RUCY_SYM(close);
60
- this->value.call(close);
59
+ RUCY_SYM(on_close);
60
+ this->value.call(on_close, Rucy::value(e));
61
61
  }
62
62
 
63
63
  virtual void on_update (UpdateEvent* e)
64
64
  {
65
65
  RUCY_SYM(on_update);
66
- if (RUCY_IS_OVERRIDDEN(on_update, window_class()))
66
+ if (RUCY_IS_OVERRIDDEN(on_update))
67
67
  this->value.call(on_update, Rucy::value(e));
68
68
  else
69
69
  Super::on_update(e);
@@ -72,7 +72,7 @@ namespace Reflex
72
72
  virtual void on_draw (DrawEvent* e)
73
73
  {
74
74
  RUCY_SYM(on_draw);
75
- if (RUCY_IS_OVERRIDDEN(on_draw, window_class()))
75
+ if (RUCY_IS_OVERRIDDEN(on_draw))
76
76
  this->value.call(on_draw, Rucy::value(e));
77
77
  else
78
78
  Super::on_draw(e);
@@ -81,7 +81,7 @@ namespace Reflex
81
81
  virtual void on_move (FrameEvent* e)
82
82
  {
83
83
  RUCY_SYM(on_move);
84
- if (RUCY_IS_OVERRIDDEN(on_move, window_class()))
84
+ if (RUCY_IS_OVERRIDDEN(on_move))
85
85
  this->value.call(on_move, Rucy::value(e));
86
86
  else
87
87
  Super::on_move(e);
@@ -90,7 +90,7 @@ namespace Reflex
90
90
  virtual void on_resize (FrameEvent* e)
91
91
  {
92
92
  RUCY_SYM(on_resize);
93
- if (RUCY_IS_OVERRIDDEN(on_resize, window_class()))
93
+ if (RUCY_IS_OVERRIDDEN(on_resize))
94
94
  this->value.call(on_resize, Rucy::value(e));
95
95
  else
96
96
  Super::on_resize(e);
@@ -99,7 +99,7 @@ namespace Reflex
99
99
  virtual void on_key (KeyEvent* e)
100
100
  {
101
101
  RUCY_SYM(on_key);
102
- if (RUCY_IS_OVERRIDDEN(on_key, window_class()))
102
+ if (RUCY_IS_OVERRIDDEN(on_key))
103
103
  this->value.call(on_key, Rucy::value(e));
104
104
  else
105
105
  Super::on_key(e);
@@ -108,7 +108,7 @@ namespace Reflex
108
108
  virtual void on_key_down (KeyEvent* e)
109
109
  {
110
110
  RUCY_SYM(on_key_down);
111
- if (RUCY_IS_OVERRIDDEN(on_key_down, window_class()))
111
+ if (RUCY_IS_OVERRIDDEN(on_key_down))
112
112
  this->value.call(on_key_down, Rucy::value(e));
113
113
  else
114
114
  Super::on_key_down(e);
@@ -117,7 +117,7 @@ namespace Reflex
117
117
  virtual void on_key_up (KeyEvent* e)
118
118
  {
119
119
  RUCY_SYM(on_key_up);
120
- if (RUCY_IS_OVERRIDDEN(on_key_up, window_class()))
120
+ if (RUCY_IS_OVERRIDDEN(on_key_up))
121
121
  this->value.call(on_key_up, Rucy::value(e));
122
122
  else
123
123
  Super::on_key_up(e);
@@ -126,7 +126,7 @@ namespace Reflex
126
126
  virtual void on_pointer (PointerEvent* e)
127
127
  {
128
128
  RUCY_SYM(on_pointer);
129
- if (RUCY_IS_OVERRIDDEN(on_pointer, window_class()))
129
+ if (RUCY_IS_OVERRIDDEN(on_pointer))
130
130
  this->value.call(on_pointer, Rucy::value(e));
131
131
  else
132
132
  Super::on_pointer(e);
@@ -135,7 +135,7 @@ namespace Reflex
135
135
  virtual void on_pointer_down (PointerEvent* e)
136
136
  {
137
137
  RUCY_SYM(on_pointer_down);
138
- if (RUCY_IS_OVERRIDDEN(on_pointer_down, window_class()))
138
+ if (RUCY_IS_OVERRIDDEN(on_pointer_down))
139
139
  this->value.call(on_pointer_down, Rucy::value(e));
140
140
  else
141
141
  Super::on_pointer_down(e);
@@ -144,7 +144,7 @@ namespace Reflex
144
144
  virtual void on_pointer_up (PointerEvent* e)
145
145
  {
146
146
  RUCY_SYM(on_pointer_up);
147
- if (RUCY_IS_OVERRIDDEN(on_pointer_up, window_class()))
147
+ if (RUCY_IS_OVERRIDDEN(on_pointer_up))
148
148
  this->value.call(on_pointer_up, Rucy::value(e));
149
149
  else
150
150
  Super::on_pointer_up(e);
@@ -153,7 +153,7 @@ namespace Reflex
153
153
  virtual void on_pointer_move (PointerEvent* e)
154
154
  {
155
155
  RUCY_SYM(on_pointer_move);
156
- if (RUCY_IS_OVERRIDDEN(on_pointer_move, window_class()))
156
+ if (RUCY_IS_OVERRIDDEN(on_pointer_move))
157
157
  this->value.call(on_pointer_move, Rucy::value(e));
158
158
  else
159
159
  Super::on_pointer_move(e);
@@ -162,7 +162,7 @@ namespace Reflex
162
162
  virtual void on_wheel (WheelEvent* e)
163
163
  {
164
164
  RUCY_SYM(on_wheel);
165
- if (RUCY_IS_OVERRIDDEN(on_wheel, window_class()))
165
+ if (RUCY_IS_OVERRIDDEN(on_wheel))
166
166
  this->value.call(on_wheel, Rucy::value(e));
167
167
  else
168
168
  Super::on_wheel(e);
@@ -181,6 +181,12 @@ namespace Rucy
181
181
  {
182
182
 
183
183
 
184
+ template <> inline Class
185
+ get_ruby_class<Reflex::Window> ()
186
+ {
187
+ return Reflex::window_class();
188
+ }
189
+
184
190
  inline Value
185
191
  value (Reflex::Window::Ref& ref, Value klass = Reflex::window_class())
186
192
  {
@@ -11,6 +11,8 @@
11
11
  #include <reflex/ruby/selector.h>
12
12
  #include <reflex/ruby/style.h>
13
13
  #include <reflex/ruby/event.h>
14
+ #include <reflex/ruby/body.h>
15
+ #include <reflex/ruby/fixture.h>
14
16
 
15
17
 
16
18
  #endif//EOH
@@ -0,0 +1,20 @@
1
+ // -*- c++ -*-
2
+ #pragma once
3
+ #ifndef __REFLEX_SHADER_H__
4
+ #define __REFLEX_SHADER_H__
5
+
6
+
7
+ #include <rays/shader.h>
8
+
9
+
10
+ namespace Reflex
11
+ {
12
+
13
+
14
+ using Rays::Shader;
15
+
16
+
17
+ }// Reflex
18
+
19
+
20
+ #endif//EOH
@@ -5,9 +5,8 @@
5
5
 
6
6
 
7
7
  #include <xot/ref.h>
8
- #include <rays/color.h>
9
- #include <rays/image.h>
10
- #include <reflex/defs.h>
8
+ #include <reflex/color.h>
9
+ #include <reflex/image.h>
11
10
  #include <reflex/selector.h>
12
11
  #include <reflex/style_length.h>
13
12
 
@@ -0,0 +1,20 @@
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
@@ -7,8 +7,9 @@
7
7
  #include <vector>
8
8
  #include <xot/ref.h>
9
9
  #include <xot/pimpl.h>
10
- #include <rays/point.h>
11
- #include <reflex/defs.h>
10
+ #include <reflex/point.h>
11
+ #include <reflex/bounds.h>
12
+ #include <reflex/painter.h>
12
13
  #include <reflex/style.h>
13
14
  #include <reflex/event.h>
14
15
 
@@ -16,22 +17,14 @@
16
17
  //#define REFLEX_VIEW_REF_DEBUG 1
17
18
 
18
19
 
19
- namespace Rays
20
- {
21
-
22
- struct Bounds;
23
-
24
- class Painter;
25
-
26
- };// Rays
27
-
28
-
29
20
  namespace Reflex
30
21
  {
31
22
 
32
23
 
33
24
  class Window;
34
25
 
26
+ class Body;
27
+
35
28
 
36
29
  class View : public Xot::RefCountable<>
37
30
  {
@@ -127,7 +120,11 @@ namespace Reflex
127
120
 
128
121
  virtual void resize_to_fit ();
129
122
 
130
- virtual Rays::Point content_size () const;
123
+ virtual Point content_size () const;
124
+
125
+ virtual void make_body ();
126
+
127
+ virtual void clear_body ();
131
128
 
132
129
  virtual void set_name (const char* name);
133
130
 
@@ -157,15 +154,15 @@ namespace Reflex
157
154
 
158
155
  virtual const Bounds& frame () const;
159
156
 
160
- virtual void scroll_to (coord x, coord y, coord z = 0);
157
+ virtual void scroll_to (coord x, coord y, coord z = 0);
161
158
 
162
- virtual void scroll_to (const Rays::Point& scroll);
159
+ virtual void scroll_to (const Point& scroll);
163
160
 
164
- virtual void scroll_by (coord x, coord y, coord z = 0);
161
+ virtual void scroll_by (coord x, coord y, coord z = 0);
165
162
 
166
- virtual void scroll_by (const Rays::Point& dscroll);
163
+ virtual void scroll_by (const Point& dscroll);
167
164
 
168
- virtual const Rays::Point& scroll () const;
165
+ virtual const Point& scroll () const;
169
166
 
170
167
  virtual void set_capture (uint types);
171
168
 
@@ -179,22 +176,46 @@ namespace Reflex
179
176
 
180
177
  virtual const Window* window () const;
181
178
 
182
- virtual Rays::Point from_parent (const Rays::Point& point) const;
179
+ virtual Body* body ();
180
+
181
+ virtual const Body* body () const;
182
+
183
+ virtual void set_density (float density);
183
184
 
184
- virtual Rays::Point to_parent (const Rays::Point& point) const;
185
+ virtual void set_friction (float friction);
185
186
 
186
- virtual Rays::Point from_window (const Rays::Point& point) const;
187
+ virtual void set_restitution (float restitution);
187
188
 
188
- virtual Rays::Point to_window (const Rays::Point& point) const;
189
+ virtual void set_gravity (coord x, coord y);
189
190
 
190
- virtual Rays::Point from_screen (const Rays::Point& point) const;
191
+ virtual void set_gravity (const Point& vector);
191
192
 
192
- virtual Rays::Point to_screen (const Rays::Point& point) const;
193
+ virtual Point gravity () const;
194
+
195
+ virtual void set_debug (bool state);
196
+
197
+ virtual bool is_debug () const;
198
+
199
+ virtual Point from_parent (const Point& point) const;
200
+
201
+ virtual Point to_parent (const Point& point) const;
202
+
203
+ virtual Point from_window (const Point& point) const;
204
+
205
+ virtual Point to_window (const Point& point) const;
206
+
207
+ virtual Point from_screen (const Point& point) const;
208
+
209
+ virtual Point to_screen (const Point& point) const;
193
210
 
194
211
  virtual void on_attach (Event* e);
195
212
 
196
213
  virtual void on_detach (Event* e);
197
214
 
215
+ virtual void on_show (Event* e);
216
+
217
+ virtual void on_hide (Event* e);
218
+
198
219
  virtual void on_update (UpdateEvent* e);
199
220
 
200
221
  virtual void on_draw (DrawEvent* e);
@@ -6,21 +6,12 @@
6
6
 
7
7
  #include <xot/ref.h>
8
8
  #include <xot/pimpl.h>
9
- #include <rays/point.h>
10
- #include <reflex/defs.h>
9
+ #include <reflex/point.h>
10
+ #include <reflex/bounds.h>
11
+ #include <reflex/painter.h>
11
12
  #include <reflex/event.h>
12
13
 
13
14
 
14
- namespace Rays
15
- {
16
-
17
- struct Bounds;
18
-
19
- class Painter;
20
-
21
- }// Rays
22
-
23
-
24
15
  namespace Reflex
25
16
  {
26
17
 
@@ -71,9 +62,15 @@ namespace Reflex
71
62
 
72
63
  virtual const Painter* painter () const;
73
64
 
74
- virtual Rays::Point from_screen (const Rays::Point& point) const;
65
+ virtual Point from_screen (const Point& point) const;
66
+
67
+ virtual Point to_screen (const Point& point) const;
68
+
69
+ virtual void on_show (Event* e);
70
+
71
+ virtual void on_hide (Event* e);
75
72
 
76
- virtual Rays::Point to_screen (const Rays::Point& point) const;
73
+ virtual void on_close (Event* e);
77
74
 
78
75
  virtual void on_update (UpdateEvent* e);
79
76
 
data/include/reflex.h CHANGED
@@ -16,6 +16,9 @@
16
16
  #include <reflex/window.h>
17
17
  #include <reflex/view.h>
18
18
 
19
+ #include <reflex/body.h>
20
+ #include <reflex/fixture.h>
21
+
19
22
  #include <reflex/image_view.h>
20
23
 
21
24
 
@@ -18,11 +18,15 @@ module Reflex
18
18
  def initialize (opts = {}, &block)
19
19
  super()
20
20
  set opts
21
- @start_block = block
21
+ @on_start = block if block
22
22
  end
23
23
 
24
24
  def on_start (e)
25
- Xot::BlockUtil.instance_eval_or_block_call self, &@start_block if @start_block
25
+ if @on_start
26
+ Xot::BlockUtil.instance_eval_or_block_call self, &@on_start
27
+ @on_start = nil
28
+ end
29
+ on_start! e
26
30
  end
27
31
 
28
32
  def self.start (*args, &block)
@@ -0,0 +1,17 @@
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
+ end# Body
15
+
16
+
17
+ end# Reflex
@@ -0,0 +1,17 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+
4
+ require 'xot/setter'
5
+
6
+
7
+ module Reflex
8
+
9
+
10
+ class Fixture
11
+
12
+ include Xot::Setter
13
+
14
+ end# Fixture
15
+
16
+
17
+ end# Reflex
data/lib/reflex/view.rb CHANGED
@@ -26,7 +26,7 @@ module Reflex
26
26
  def initialize (opts = {}, &block)
27
27
  super()
28
28
  set opts
29
- Xot::BlockUtil.instance_eval_or_block_call self, &block if block
29
+ @on_attach = block if block
30
30
  end
31
31
 
32
32
  def children ()
@@ -57,6 +57,21 @@ module Reflex
57
57
  args.all? {|type| cap.include? type}
58
58
  end
59
59
 
60
+ def gravity= (*args)
61
+ case arg = args[0]
62
+ when Point then set_gravity arg.x, arg.y
63
+ else set_gravity *args
64
+ end
65
+ end
66
+
67
+ def on_attach (e)
68
+ on_attach! e
69
+ if @on_attach
70
+ Xot::BlockUtil.instance_eval_or_block_call self, &@on_attach
71
+ @on_attach = nil
72
+ end
73
+ end
74
+
60
75
  def self.has_model ()
61
76
  include ModelView
62
77
  end