reflexion 0.1.8 → 0.1.9

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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/.doc/ext/reflex/application.cpp +5 -1
  3. data/.doc/ext/reflex/arc_shape.cpp +89 -0
  4. data/.doc/ext/reflex/body.cpp +91 -12
  5. data/.doc/ext/reflex/contact_event.cpp +90 -0
  6. data/.doc/ext/reflex/ellipse_shape.cpp +89 -0
  7. data/.doc/ext/reflex/image_view.cpp +0 -16
  8. data/.doc/ext/reflex/native.cpp +18 -6
  9. data/.doc/ext/reflex/rect_shape.cpp +83 -0
  10. data/.doc/ext/reflex/shape_view.cpp +153 -0
  11. data/.doc/ext/reflex/view.cpp +63 -26
  12. data/.doc/ext/reflex/window.cpp +5 -1
  13. data/VERSION +1 -1
  14. data/ext/reflex/application.cpp +6 -2
  15. data/ext/reflex/arc_shape.cpp +94 -0
  16. data/ext/reflex/body.cpp +101 -13
  17. data/ext/reflex/contact_event.cpp +95 -0
  18. data/ext/reflex/ellipse_shape.cpp +94 -0
  19. data/ext/reflex/image_view.cpp +0 -18
  20. data/ext/reflex/native.cpp +18 -6
  21. data/ext/reflex/rect_shape.cpp +86 -0
  22. data/ext/reflex/shape_view.cpp +161 -0
  23. data/ext/reflex/view.cpp +71 -30
  24. data/ext/reflex/window.cpp +5 -1
  25. data/include/reflex/body.h +42 -12
  26. data/include/reflex/event.h +27 -1
  27. data/include/reflex/fixture.h +6 -5
  28. data/include/reflex/image_view.h +5 -5
  29. data/include/reflex/ruby/application.h +27 -6
  30. data/include/reflex/ruby/event.h +11 -0
  31. data/include/reflex/ruby/shape_view.h +96 -0
  32. data/include/reflex/ruby/view.h +60 -5
  33. data/include/reflex/ruby/window.h +12 -3
  34. data/include/reflex/shape_view.h +146 -0
  35. data/include/reflex/view.h +17 -5
  36. data/lib/reflex/application.rb +9 -9
  37. data/lib/reflex/body.rb +2 -0
  38. data/lib/reflex/contact_event.rb +38 -0
  39. data/lib/reflex/image_view.rb +1 -1
  40. data/lib/reflex/shape_view.rb +25 -0
  41. data/lib/reflex/view.rb +19 -9
  42. data/lib/reflex/window.rb +11 -10
  43. data/lib/reflex.rb +15 -13
  44. data/lib/reflexion.rb +25 -18
  45. data/samples/osx/hello/hello/main.cpp +6 -0
  46. data/samples/physics.rb +22 -12
  47. data/samples/reflexion/breakout.rb +52 -0
  48. data/samples/reflexion/hello.rb +5 -7
  49. data/samples/reflexion/paint.rb +10 -11
  50. data/samples/reflexion/physics.rb +28 -0
  51. data/samples/reflexion/pulse.rb +10 -8
  52. data/samples/shapes.rb +2 -2
  53. data/src/body.cpp +241 -40
  54. data/src/event.cpp +32 -2
  55. data/src/shape_view.cpp +306 -0
  56. data/src/view.cpp +232 -66
  57. data/src/world.cpp +110 -30
  58. data/src/world.h +61 -14
  59. metadata +24 -7
  60. data/lib/reflex/arc_shape.rb +0 -20
  61. data/lib/reflex/ellipse_shape.rb +0 -20
  62. data/lib/reflex/line_shape.rb +0 -20
  63. data/lib/reflex/rect_shape.rb +0 -20
  64. data/lib/reflex/shape.rb +0 -34
@@ -0,0 +1,95 @@
1
+ #include "reflex/ruby/event.h"
2
+
3
+
4
+ #include <rucy.h>
5
+ #include "reflex/ruby/view.h"
6
+ #include "defs.h"
7
+
8
+
9
+ using namespace Rucy;
10
+
11
+
12
+ RUCY_DEFINE_VALUE_FROM_TO(Reflex::ContactEvent)
13
+
14
+ #define THIS to<Reflex::ContactEvent*>(self)
15
+
16
+ #define CHECK RUCY_CHECK_OBJ(Reflex::ContactEvent, self)
17
+
18
+
19
+ static
20
+ RUCY_DEF_ALLOC(alloc, klass)
21
+ {
22
+ return new_type<Reflex::ContactEvent>(klass);
23
+ }
24
+ RUCY_END
25
+
26
+ static
27
+ RUCY_DEFN(initialize)
28
+ {
29
+ CHECK;
30
+ check_arg_count(__FILE__, __LINE__, "ContactEvent#initialize", argc, 0, 2);
31
+
32
+ THIS->type = (argc >= 1) ? (Reflex::ContactEvent::Type) to<int>(argv[0]) : Reflex::ContactEvent::NONE;
33
+ THIS->view = (argc >= 2) ? to<Reflex::View*>(argv[1]) : NULL;
34
+
35
+ return rb_call_super(0, NULL);
36
+ }
37
+ RUCY_END
38
+
39
+ static
40
+ RUCY_DEF1(initialize_copy, obj)
41
+ {
42
+ CHECK;
43
+ *THIS = to<Reflex::ContactEvent&>(obj);
44
+ return self;
45
+ }
46
+ RUCY_END
47
+
48
+ static
49
+ RUCY_DEF0(get_type)
50
+ {
51
+ CHECK;
52
+ return value(THIS->type);
53
+ }
54
+ RUCY_END
55
+
56
+ static
57
+ RUCY_DEF0(get_view)
58
+ {
59
+ CHECK;
60
+ return value(THIS->view);
61
+ }
62
+ RUCY_END
63
+
64
+
65
+ static Class cContactEvent;
66
+
67
+ void
68
+ Init_contact_event ()
69
+ {
70
+ Module mReflex = define_module("Reflex");
71
+
72
+ cContactEvent = mReflex.define_class("ContactEvent", Reflex::event_class());
73
+ cContactEvent.define_alloc_func(alloc);
74
+ cContactEvent.define_private_method("initialize", initialize);
75
+ cContactEvent.define_private_method("initialize_copy", initialize_copy);
76
+ cContactEvent.define_method("get_type", get_type);
77
+ cContactEvent.define_method("view", get_view);
78
+ cContactEvent.define_const("TYPE_NONE", Reflex::ContactEvent::NONE);
79
+ cContactEvent.define_const("TYPE_BEGIN", Reflex::ContactEvent::BEGIN);
80
+ cContactEvent.define_const("TYPE_END", Reflex::ContactEvent::END);
81
+ }
82
+
83
+
84
+ namespace Reflex
85
+ {
86
+
87
+
88
+ Class
89
+ contact_event_class ()
90
+ {
91
+ return cContactEvent;
92
+ }
93
+
94
+
95
+ }// Reflex
@@ -0,0 +1,94 @@
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::EllipseShape)
13
+
14
+ #define THIS to<Reflex::EllipseShape*>(self)
15
+
16
+ #define CHECK RUCY_CHECK_OBJECT(Reflex::EllipseShape, self)
17
+
18
+ #define CALL(fun) RUCY_WRAPPER_CALL(Reflex::EllipseShape, THIS, fun)
19
+
20
+
21
+ static
22
+ RUCY_DEF_ALLOC(alloc, klass)
23
+ {
24
+ return value(new Reflex::RubyShapeView<Reflex::EllipseShape>, klass);
25
+ }
26
+ RUCY_END
27
+
28
+ static
29
+ RUCY_DEF1(set_radius_min, radius)
30
+ {
31
+ CHECK;
32
+ THIS->set_radius_min(radius.as_f(true));
33
+ return radius;
34
+ }
35
+ RUCY_END
36
+
37
+ static
38
+ RUCY_DEF0(get_radius_min)
39
+ {
40
+ CHECK;
41
+ return value(THIS->radius_min());
42
+ }
43
+ RUCY_END
44
+
45
+ static
46
+ RUCY_DEF1(set_nsegment, nsegment)
47
+ {
48
+ CHECK;
49
+ THIS->set_nsegment(nsegment.as_i(true));
50
+ return nsegment;
51
+ }
52
+ RUCY_END
53
+
54
+ static
55
+ RUCY_DEF0(get_nsegment)
56
+ {
57
+ CHECK;
58
+ return value(THIS->nsegment());
59
+ }
60
+ RUCY_END
61
+
62
+ static
63
+ RUCY_DEF_clear_override_flags(cof, Reflex::EllipseShape);
64
+
65
+
66
+ static Class cEllipseShape;
67
+
68
+ void
69
+ Init_ellipse_shape ()
70
+ {
71
+ Module mReflex = define_module("Reflex");
72
+
73
+ cEllipseShape = mReflex.define_class("EllipseShape", Reflex::shape_view_class());
74
+ cEllipseShape.define_alloc_func(alloc);
75
+ cEllipseShape.define_private_method("radius_min=", set_radius_min);
76
+ cEllipseShape.define_method( "radius_min", get_radius_min);
77
+ cEllipseShape.define_private_method("nsegment=", set_nsegment);
78
+ cEllipseShape.define_method( "nsegment", get_nsegment);
79
+ cEllipseShape.define_clear_override_flags(cof);
80
+ }
81
+
82
+
83
+ namespace Reflex
84
+ {
85
+
86
+
87
+ Class
88
+ ellipse_shape_class ()
89
+ {
90
+ return cEllipseShape;
91
+ }
92
+
93
+
94
+ }// Reflex
@@ -45,22 +45,6 @@ RUCY_DEF1(set_image, image)
45
45
  }
46
46
  RUCY_END
47
47
 
48
- static
49
- RUCY_DEF0(content_size)
50
- {
51
- CHECK;
52
- return value(THIS->content_size());
53
- }
54
- RUCY_END
55
-
56
- static
57
- RUCY_DEF1(on_draw, event)
58
- {
59
- CHECK;
60
- CALL(on_draw(to<Reflex::DrawEvent*>(event)));
61
- }
62
- RUCY_END
63
-
64
48
  static
65
49
  RUCY_DEF_clear_override_flags(cof, Reflex::ImageView);
66
50
 
@@ -76,8 +60,6 @@ Init_image_view ()
76
60
  cImageView.define_alloc_func(alloc);
77
61
  cImageView.define_private_method("set_image", set_image);
78
62
  cImageView.define_method( "image", get_image);
79
- cImageView.define_method("content_size", content_size);
80
- cImageView.define_method("on_draw", on_draw);
81
63
  cImageView.define_clear_override_flags(cof);
82
64
  }
83
65
 
@@ -23,16 +23,22 @@ void Init_key_event ();
23
23
  void Init_pointer_event ();
24
24
  void Init_wheel_event ();
25
25
  void Init_capture_event ();
26
+ void Init_contact_event ();
27
+
28
+ void Init_body ();
29
+ void Init_fixture ();
26
30
 
27
31
  void Init_application ();
28
32
  void Init_window ();
29
33
  void Init_view ();
30
34
 
31
- void Init_body ();
32
- void Init_fixture ();
33
-
34
35
  void Init_image_view ();
35
36
 
37
+ void Init_shape_view ();
38
+ void Init_rect_shape ();
39
+ void Init_ellipse_shape ();
40
+ void Init_arc_shape ();
41
+
36
42
 
37
43
  extern "C" void
38
44
  Init_native ()
@@ -59,15 +65,21 @@ Init_native ()
59
65
  Init_pointer_event();
60
66
  Init_wheel_event();
61
67
  Init_capture_event();
68
+ Init_contact_event();
69
+
70
+ Init_body();
71
+ Init_fixture();
62
72
 
63
73
  Init_application();
64
74
  Init_window();
65
75
  Init_view();
66
76
 
67
- Init_body();
68
- Init_fixture();
69
-
70
77
  Init_image_view();
71
78
 
79
+ Init_shape_view();
80
+ Init_rect_shape();
81
+ Init_ellipse_shape();
82
+ Init_arc_shape();
83
+
72
84
  RUCY_CATCH
73
85
  }
@@ -0,0 +1,86 @@
1
+ #include "reflex/ruby/shape_view.h"
2
+
3
+
4
+ #include <rucy.h>
5
+ #include <rays/ruby/point.h>
6
+
7
+
8
+ using namespace Rucy;
9
+
10
+ using Reflex::coord;
11
+
12
+
13
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::RectShape)
14
+
15
+ #define THIS to<Reflex::RectShape*>(self)
16
+
17
+ #define CHECK RUCY_CHECK_OBJECT(Reflex::RectShape, self)
18
+
19
+ #define CALL(fun) RUCY_WRAPPER_CALL(Reflex::RectShape, THIS, fun)
20
+
21
+
22
+ static
23
+ RUCY_DEF_ALLOC(alloc, klass)
24
+ {
25
+ return value(new Reflex::RubyShapeView<Reflex::RectShape>, klass);
26
+ }
27
+ RUCY_END
28
+
29
+ static
30
+ RUCY_DEFN(set_round)
31
+ {
32
+ CHECK;
33
+ check_arg_count(__FILE__, __LINE__, "RectShape#set_fill", argc, 1, 2);
34
+
35
+ if (argc == 1 && argv[0].is_kind_of(Rays::point_class()))
36
+ THIS->set_round(to<Rays::Point&>(argv[0]));
37
+ else
38
+ {
39
+ float w = to<float>(argv[0]);
40
+ float h = (argc >= 2) ? to<float>(argv[1]) : 1;
41
+ THIS->set_round(w, h);
42
+ }
43
+
44
+ return self;
45
+ }
46
+ RUCY_END
47
+
48
+ static
49
+ RUCY_DEF0(get_round)
50
+ {
51
+ CHECK;
52
+ return value(THIS->round());
53
+ }
54
+ RUCY_END
55
+
56
+ static
57
+ RUCY_DEF_clear_override_flags(cof, Reflex::RectShape);
58
+
59
+
60
+ static Class cRectShape;
61
+
62
+ void
63
+ Init_rect_shape ()
64
+ {
65
+ Module mReflex = define_module("Reflex");
66
+
67
+ cRectShape = mReflex.define_class("RectShape", Reflex::shape_view_class());
68
+ cRectShape.define_alloc_func(alloc);
69
+ cRectShape.define_private_method("round=", set_round);
70
+ cRectShape.define_method( "round", get_round);
71
+ cRectShape.define_clear_override_flags(cof);
72
+ }
73
+
74
+
75
+ namespace Reflex
76
+ {
77
+
78
+
79
+ Class
80
+ rect_shape_class ()
81
+ {
82
+ return cRectShape;
83
+ }
84
+
85
+
86
+ }// Reflex
@@ -0,0 +1,161 @@
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
+ RUCY_DEF_ALLOC(alloc, klass)
25
+ {
26
+ return value(new Reflex::RubyShapeView<Reflex::ShapeView>, klass);
27
+ }
28
+ RUCY_END
29
+
30
+ static
31
+ RUCY_DEFN(set_fill)
32
+ {
33
+ CHECK;
34
+ check_arg_count(__FILE__, __LINE__, "ShapeView#set_fill", argc, 1, 2, 3, 4);
35
+
36
+ if (argc == 1 && argv[0].is_kind_of(Rays::color_class()))
37
+ THIS->set_fill(to<Rays::Color&>(argv[0]));
38
+ else if (argc == 1 || argc == 2)
39
+ {
40
+ float v = to<float>(argv[0]);
41
+ float a = (argc >= 2) ? to<float>(argv[1]) : 1;
42
+ THIS->set_fill(v, v, v, a);
43
+ }
44
+ else
45
+ {
46
+ float r = to<float>(argv[0]);
47
+ float g = to<float>(argv[1]);
48
+ float b = to<float>(argv[2]);
49
+ float a = (argc == 4) ? to<float>(argv[3]) : 1;
50
+ THIS->set_fill(r, g, b, a);
51
+ }
52
+
53
+ return self;
54
+ }
55
+ RUCY_END
56
+
57
+ static
58
+ RUCY_DEF0(no_fill)
59
+ {
60
+ CHECK;
61
+ THIS->no_fill();
62
+ return self;
63
+ }
64
+ RUCY_END
65
+
66
+ static
67
+ RUCY_DEF0(get_fill)
68
+ {
69
+ CHECK;
70
+ return value(THIS->fill());
71
+ }
72
+ RUCY_END
73
+
74
+ static
75
+ RUCY_DEFN(set_stroke)
76
+ {
77
+ CHECK;
78
+ check_arg_count(__FILE__, __LINE__, "ShapeView#set_stroke", argc, 1, 2, 3, 4);
79
+
80
+ if (argc == 1 && argv[0].is_kind_of(Rays::color_class()))
81
+ THIS->set_stroke(to<Rays::Color&>(argv[0]));
82
+ else if (argc == 1 || argc == 2)
83
+ {
84
+ float v = to<float>(argv[0]);
85
+ float a = (argc >= 2) ? to<float>(argv[1]) : 1;
86
+ THIS->set_stroke(v, v, v, a);
87
+ }
88
+ else
89
+ {
90
+ float r = to<float>(argv[0]);
91
+ float g = to<float>(argv[1]);
92
+ float b = to<float>(argv[2]);
93
+ float a = (argc == 4) ? to<float>(argv[3]) : 1;
94
+ THIS->set_stroke(r, g, b, a);
95
+ }
96
+
97
+ return self;
98
+ }
99
+ RUCY_END
100
+
101
+ static
102
+ RUCY_DEF0(no_stroke)
103
+ {
104
+ CHECK;
105
+ THIS->no_stroke();
106
+ return self;
107
+ }
108
+ RUCY_END
109
+
110
+ static
111
+ RUCY_DEF0(get_stroke)
112
+ {
113
+ CHECK;
114
+ return value(THIS->stroke());
115
+ }
116
+ RUCY_END
117
+
118
+ static
119
+ RUCY_DEF1(on_draw_shape, event)
120
+ {
121
+ CHECK;
122
+ CALL(on_draw_shape(to<Reflex::DrawEvent*>(event)));
123
+ }
124
+ RUCY_END
125
+
126
+ static
127
+ RUCY_DEF_clear_override_flags(cof, Reflex::ShapeView);
128
+
129
+
130
+ static Class cShapeView;
131
+
132
+ void
133
+ Init_shape_view ()
134
+ {
135
+ Module mReflex = define_module("Reflex");
136
+
137
+ cShapeView = mReflex.define_class("ShapeView", Reflex::view_class());
138
+ cShapeView.define_alloc_func(alloc);
139
+ cShapeView.define_private_method("set_fill", set_fill);
140
+ cShapeView.define_method( "no_fill", no_fill);
141
+ cShapeView.define_method( "fill", get_fill);
142
+ cShapeView.define_private_method("set_stroke", set_stroke);
143
+ cShapeView.define_method( "no_stroke", no_stroke);
144
+ cShapeView.define_method( "stroke", get_stroke);
145
+ cShapeView.define_method("on_draw_shape", on_draw_shape);
146
+ cShapeView.define_clear_override_flags(cof);
147
+ }
148
+
149
+
150
+ namespace Reflex
151
+ {
152
+
153
+
154
+ Class
155
+ shape_view_class ()
156
+ {
157
+ return cShapeView;
158
+ }
159
+
160
+
161
+ }// Reflex
data/ext/reflex/view.cpp CHANGED
@@ -223,7 +223,7 @@ static
223
223
  RUCY_DEF0(content_size)
224
224
  {
225
225
  CHECK;
226
- return value(THIS->content_size());
226
+ return value(CALL(content_size()));
227
227
  }
228
228
  RUCY_END
229
229
 
@@ -320,6 +320,14 @@ RUCY_DEF0(get_frame)
320
320
  }
321
321
  RUCY_END
322
322
 
323
+ static
324
+ RUCY_DEF0(get_angle)
325
+ {
326
+ CHECK;
327
+ return value(THIS->angle());
328
+ }
329
+ RUCY_END
330
+
323
331
  static
324
332
  RUCY_DEF1(set_capture, types)
325
333
  {
@@ -410,46 +418,39 @@ RUCY_DEF0(body)
410
418
  RUCY_END
411
419
 
412
420
  static
413
- RUCY_DEF1(set_density, value)
421
+ RUCY_DEFN(meter2pixel)
414
422
  {
415
423
  CHECK;
416
- THIS->set_density(value.as_f(true));
417
- return value;
418
- }
419
- RUCY_END
424
+ check_arg_count(__FILE__, __LINE__, "View#meter2pixel", argc, 0, 1, 2);
420
425
 
421
- static
422
- RUCY_DEF1(set_friction, value)
423
- {
424
- CHECK;
425
- THIS->set_friction(value.as_f(true));
426
- return value;
426
+ float meter = argc >= 1 ? argv[0].as_f(true) : 1;
427
+ bool create_world = argc >= 2 ? (bool) argv[1] : true;
428
+ return value(THIS->meter2pixel(meter, create_world));
427
429
  }
428
430
  RUCY_END
429
431
 
430
432
  static
431
- RUCY_DEF1(set_restitution, value)
433
+ RUCY_DEF2(set_gravity, x, y)
432
434
  {
433
435
  CHECK;
434
- THIS->set_restitution(value.as_f(true));
435
- return value;
436
+ THIS->set_gravity(x.as_f(true), y.as_f(true));
437
+ return self;
436
438
  }
437
439
  RUCY_END
438
440
 
439
441
  static
440
- RUCY_DEF2(set_gravity, x, y)
442
+ RUCY_DEF0(get_gravity)
441
443
  {
442
444
  CHECK;
443
- THIS->set_gravity(x.as_f(true), y.as_f(true));
444
- return self;
445
+ return value(THIS->gravity());
445
446
  }
446
447
  RUCY_END
447
448
 
448
449
  static
449
- RUCY_DEF0(get_gravity)
450
+ RUCY_DEF0(wall)
450
451
  {
451
452
  CHECK;
452
- return value(THIS->gravity());
453
+ return value(THIS->wall());
453
454
  }
454
455
  RUCY_END
455
456
 
@@ -463,10 +464,10 @@ RUCY_DEF1(set_debug, state)
463
464
  RUCY_END
464
465
 
465
466
  static
466
- RUCY_DEF0(is_debug)
467
+ RUCY_DEF0(debugging)
467
468
  {
468
469
  CHECK;
469
- return value(THIS->is_debug());
470
+ return value(THIS->debugging());
470
471
  }
471
472
  RUCY_END
472
473
 
@@ -474,6 +475,10 @@ static
474
475
  RUCY_DEF1(on_attach, event)
475
476
  {
476
477
  CHECK;
478
+
479
+ RUCY_SYM(call_attach_block);
480
+ self.call(call_attach_block);
481
+
477
482
  CALL(on_attach(to<Reflex::Event*>(event)));
478
483
  }
479
484
  RUCY_END
@@ -534,6 +539,14 @@ RUCY_DEF1(on_resize, event)
534
539
  }
535
540
  RUCY_END
536
541
 
542
+ static
543
+ RUCY_DEF1(on_rotate, event)
544
+ {
545
+ CHECK;
546
+ CALL(on_rotate(to<Reflex::FrameEvent*>(event)));
547
+ }
548
+ RUCY_END
549
+
537
550
  static
538
551
  RUCY_DEF1(on_scroll, event)
539
552
  {
@@ -630,6 +643,30 @@ RUCY_DEF1(on_capture, event)
630
643
  }
631
644
  RUCY_END
632
645
 
646
+ static
647
+ RUCY_DEF1(on_contact, event)
648
+ {
649
+ CHECK;
650
+ CALL(on_contact(to<Reflex::ContactEvent*>(event)));
651
+ }
652
+ RUCY_END
653
+
654
+ static
655
+ RUCY_DEF1(on_contact_begin, event)
656
+ {
657
+ CHECK;
658
+ CALL(on_contact_begin(to<Reflex::ContactEvent*>(event)));
659
+ }
660
+ RUCY_END
661
+
662
+ static
663
+ RUCY_DEF1(on_contact_end, event)
664
+ {
665
+ CHECK;
666
+ CALL(on_contact_end(to<Reflex::ContactEvent*>(event)));
667
+ }
668
+ RUCY_END
669
+
633
670
  static
634
671
  RUCY_DEF_clear_override_flags(cof, Reflex::View);
635
672
 
@@ -672,6 +709,7 @@ Init_view ()
672
709
  cView.define_method("selector", get_selector);
673
710
  cView.define_private_method("set_frame", set_frame);
674
711
  cView.define_private_method("get_frame", get_frame);
712
+ cView.define_method("angle", get_angle);
675
713
  cView.define_method("scroll_to", scroll_to);
676
714
  cView.define_method("scroll_by", scroll_by);
677
715
  cView.define_method("scroll", get_scroll);
@@ -680,21 +718,21 @@ Init_view ()
680
718
  cView.define_method("parent", parent);
681
719
  cView.define_method("window", window);
682
720
  cView.define_method("body", body);
683
- cView.define_method("density=", set_density);
684
- cView.define_method("friction=", set_friction);
685
- cView.define_method("restitution=", set_restitution);
686
- cView.define_method("set_gravity", set_gravity);
687
- cView.define_method("gravity", get_gravity);
721
+ cView.define_method("meter2pixel", meter2pixel);
722
+ cView.define_method("set_gravity", set_gravity);
723
+ cView.define_method("gravity", get_gravity);
724
+ cView.define_method("wall", wall);
688
725
  cView.define_method("debug=", set_debug);
689
- cView.define_method("debug?", is_debug);
690
- cView.define_method("on_attach!", on_attach);
691
- cView.define_method("on_detach", on_detach);
726
+ cView.define_method("debug?", debugging);
727
+ cView.define_method("on_attach", on_attach);
728
+ cView.define_method("on_detach", on_detach);
692
729
  cView.define_method("on_show", on_show);
693
730
  cView.define_method("on_hide", on_hide);
694
731
  cView.define_method("on_update", on_update);
695
732
  cView.define_method("on_draw", on_draw);
696
733
  cView.define_method("on_move", on_move);
697
734
  cView.define_method("on_resize", on_resize);
735
+ cView.define_method("on_rotate", on_rotate);
698
736
  cView.define_method("on_scroll", on_scroll);
699
737
  cView.define_method("on_focus", on_focus);
700
738
  cView.define_method("on_blur", on_blur);
@@ -707,6 +745,9 @@ Init_view ()
707
745
  cView.define_method("on_pointer_move", on_pointer_move);
708
746
  cView.define_method("on_wheel", on_wheel);
709
747
  cView.define_method("on_capture", on_capture);
748
+ cView.define_method("on_contact", on_contact);
749
+ cView.define_method("on_contact_begin", on_contact_begin);
750
+ cView.define_method("on_contact_end", on_contact_end);
710
751
  cView.define_const("CAPTURE_NONE", Reflex::View::CAPTURE_NONE);
711
752
  cView.define_const("CAPTURE_KEY", Reflex::View::CAPTURE_KEY);
712
753
  cView.define_const("CAPTURE_POINTER", Reflex::View::CAPTURE_POINTER);