reflexion 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
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);