reflexion 0.1.34 → 0.1.36

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/.doc/ext/reflex/frame_event.cpp +27 -2
  3. data/.doc/ext/reflex/view.cpp +25 -0
  4. data/.github/workflows/utils.rb +2 -1
  5. data/ChangeLog.md +15 -0
  6. data/Rakefile +1 -1
  7. data/VERSION +1 -1
  8. data/ext/reflex/extconf.rb +0 -3
  9. data/ext/reflex/frame_event.cpp +33 -5
  10. data/ext/reflex/view.cpp +28 -0
  11. data/include/reflex/event.h +10 -2
  12. data/include/reflex/ruby/view.h +9 -0
  13. data/include/reflex/view.h +12 -4
  14. data/lib/reflex/application.rb +2 -3
  15. data/lib/reflex/autoinit.rb +0 -3
  16. data/lib/reflex/bitmap.rb +0 -3
  17. data/lib/reflex/bounds.rb +0 -3
  18. data/lib/reflex/button.rb +0 -3
  19. data/lib/reflex/camera.rb +0 -3
  20. data/lib/reflex/capture_event.rb +0 -3
  21. data/lib/reflex/color.rb +0 -3
  22. data/lib/reflex/color_space.rb +0 -3
  23. data/lib/reflex/contact_event.rb +0 -3
  24. data/lib/reflex/draw_event.rb +0 -3
  25. data/lib/reflex/ellipse_shape.rb +0 -3
  26. data/lib/reflex/ext.rb +0 -3
  27. data/lib/reflex/extension.rb +0 -3
  28. data/lib/reflex/filter.rb +0 -3
  29. data/lib/reflex/fixture.rb +0 -3
  30. data/lib/reflex/focus_event.rb +0 -3
  31. data/lib/reflex/font.rb +0 -3
  32. data/lib/reflex/frame_event.rb +2 -4
  33. data/lib/reflex/helper.rb +0 -3
  34. data/lib/reflex/image.rb +0 -3
  35. data/lib/reflex/image_view.rb +0 -3
  36. data/lib/reflex/key_event.rb +0 -3
  37. data/lib/reflex/line_shape.rb +0 -3
  38. data/lib/reflex/list_view.rb +0 -3
  39. data/lib/reflex/matrix.rb +0 -3
  40. data/lib/reflex/model.rb +0 -3
  41. data/lib/reflex/model_owner.rb +0 -3
  42. data/lib/reflex/model_view.rb +0 -3
  43. data/lib/reflex/painter.rb +0 -3
  44. data/lib/reflex/point.rb +0 -3
  45. data/lib/reflex/pointer.rb +0 -3
  46. data/lib/reflex/pointer_event.rb +0 -3
  47. data/lib/reflex/polygon.rb +0 -3
  48. data/lib/reflex/polygon_shape.rb +0 -3
  49. data/lib/reflex/polyline.rb +0 -3
  50. data/lib/reflex/rect_shape.rb +0 -3
  51. data/lib/reflex/reflex.rb +0 -3
  52. data/lib/reflex/scroll_event.rb +0 -3
  53. data/lib/reflex/selector.rb +0 -3
  54. data/lib/reflex/shader.rb +0 -3
  55. data/lib/reflex/shape.rb +0 -3
  56. data/lib/reflex/style.rb +0 -3
  57. data/lib/reflex/style_length.rb +0 -3
  58. data/lib/reflex/text_view.rb +0 -3
  59. data/lib/reflex/timer.rb +0 -3
  60. data/lib/reflex/timer_event.rb +0 -3
  61. data/lib/reflex/update_event.rb +0 -3
  62. data/lib/reflex/view.rb +10 -4
  63. data/lib/reflex/wheel_event.rb +0 -3
  64. data/lib/reflex/window.rb +2 -3
  65. data/lib/reflex.rb +0 -3
  66. data/lib/reflexion/include.rb +0 -3
  67. data/lib/reflexion.rb +0 -3
  68. data/reflex.gemspec +5 -5
  69. data/samples/app.rb +0 -3
  70. data/samples/bats.rb +0 -3
  71. data/samples/camera.rb +0 -3
  72. data/samples/checker.rb +0 -3
  73. data/samples/fans.rb +0 -3
  74. data/samples/fps.rb +0 -3
  75. data/samples/grid.rb +0 -3
  76. data/samples/hello.rb +0 -3
  77. data/samples/image.rb +0 -3
  78. data/samples/key.rb +0 -3
  79. data/samples/layout.rb +0 -3
  80. data/samples/model.rb +0 -3
  81. data/samples/physics.rb +0 -3
  82. data/samples/reflexion/breakout.rb +0 -3
  83. data/samples/reflexion/hello.rb +0 -3
  84. data/samples/reflexion/jump_action.rb +0 -3
  85. data/samples/reflexion/noise.rb +0 -3
  86. data/samples/reflexion/paint.rb +0 -3
  87. data/samples/reflexion/physics.rb +0 -3
  88. data/samples/reflexion/pulse.rb +0 -3
  89. data/samples/repl.rb +0 -3
  90. data/samples/shader.rb +0 -3
  91. data/samples/shapes.rb +0 -3
  92. data/samples/text.rb +0 -3
  93. data/samples/tree.rb +0 -3
  94. data/samples/views.rb +0 -3
  95. data/samples/visuals.rb +0 -3
  96. data/src/body.cpp +14 -0
  97. data/src/body.h +4 -0
  98. data/src/event.cpp +54 -32
  99. data/src/osx/native_window.mm +1 -1
  100. data/src/view.cpp +136 -61
  101. data/src/window.cpp +4 -2
  102. data/test/helper.rb +0 -3
  103. data/test/test_application.rb +4 -3
  104. data/test/test_capture_event.rb +0 -3
  105. data/test/test_contact_event.rb +0 -3
  106. data/test/test_draw_event.rb +0 -3
  107. data/test/test_event.rb +1 -4
  108. data/test/test_focus_event.rb +0 -3
  109. data/test/test_frame_event.rb +22 -7
  110. data/test/test_has_frame.rb +0 -3
  111. data/test/test_key_event.rb +0 -3
  112. data/test/test_model.rb +0 -3
  113. data/test/test_model_owner.rb +0 -3
  114. data/test/test_pointer.rb +0 -3
  115. data/test/test_pointer_event.rb +0 -3
  116. data/test/test_reflex_init.rb +0 -3
  117. data/test/test_scroll_event.rb +0 -3
  118. data/test/test_selector.rb +0 -3
  119. data/test/test_shape.rb +0 -3
  120. data/test/test_style.rb +0 -3
  121. data/test/test_style_length.rb +0 -3
  122. data/test/test_timer_event.rb +0 -3
  123. data/test/test_update_event.rb +0 -3
  124. data/test/test_view.rb +37 -3
  125. data/test/test_wheel_event.rb +0 -3
  126. data/test/test_window.rb +4 -3
  127. metadata +10 -11
  128. data/task/box2d.rake +0 -46
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a4e06dbe75f97139a975134d48605a0b0fbdcd9fc5b9198ad8b9383c1eb0a49
4
- data.tar.gz: 421779117f618c4fd0b9f196c5ad6b5348179a44d6ea8687afa723df4cad5e18
3
+ metadata.gz: 54f32e8f80f2156f47dca7b252f81acf4bf0dc45aab45d7af8d3fb2418141a6c
4
+ data.tar.gz: 538889ab97d5fec6fc47a3a8a99bec4856d9a3e763ffcd2c438d81f1ca92422d
5
5
  SHA512:
6
- metadata.gz: eed1fbdfe875d01fe1ce577d986ca148e910147acb4de5206b0933b2100c1c85a35871b294c634e09d3c2b9582091fb46b145cf651c39cd4f0b4549c7ea2dc39
7
- data.tar.gz: af03b8b695a62fdeca0332c6c32fd5b049987cb276ff11a6ffe88472478eb1c543f634c48fb3d40696f7a55667745666019e6bf5a925ebe6239b1325bd39b5c7
6
+ metadata.gz: 7ad6c799423f7c91fd99ca2eb9821d817e78eda67a1de868cedf632d9c888abfb9a46ea46a2c78f532a47ff28a8cd008344c230cd7c8560e8ac796ba3cf2d415
7
+ data.tar.gz: caa79e8872fb1c7a6633c57d4316318ed6a3754a792c07179c3493c6b8767e7c740cf6261f87885cde24b63f4c066db36d69ed57a559769b9c6f7a44185d918c
@@ -20,7 +20,7 @@ VALUE alloc(VALUE klass)
20
20
  }
21
21
 
22
22
  static
23
- VALUE initialize(VALUE self, VALUE frame, VALUE dx, VALUE dy, VALUE dwidth, VALUE dheight, VALUE angle, VALUE dangle)
23
+ VALUE initialize(VALUE self, VALUE frame, VALUE dx, VALUE dy, VALUE dwidth, VALUE dheight, VALUE zoom, VALUE dzoom, VALUE angle, VALUE dangle)
24
24
  {
25
25
  CHECK;
26
26
 
@@ -28,6 +28,7 @@ VALUE initialize(VALUE self, VALUE frame, VALUE dx, VALUE dy, VALUE dwidth, VALU
28
28
  to<Rays::Bounds>(frame),
29
29
  to<coord>(dx), to<coord>(dy),
30
30
  to<coord>(dwidth), to<coord>(dheight),
31
+ to<float>(zoom), to<float>(dzoom),
31
32
  to<float>(angle), to<float>(dangle));
32
33
 
33
34
  return rb_call_super(0, NULL);
@@ -90,6 +91,20 @@ VALUE dsize(VALUE self)
90
91
  return value(Rays::Point(THIS->dwidth(), THIS->dheight()));
91
92
  }
92
93
 
94
+ static
95
+ VALUE zoom(VALUE self)
96
+ {
97
+ CHECK;
98
+ return value(THIS->zoom());
99
+ }
100
+
101
+ static
102
+ VALUE dzoom(VALUE self)
103
+ {
104
+ CHECK;
105
+ return value(THIS->dzoom());
106
+ }
107
+
93
108
  static
94
109
  VALUE angle(VALUE self)
95
110
  {
@@ -118,6 +133,13 @@ VALUE is_resize(VALUE self)
118
133
  return value(THIS->is_resize());
119
134
  }
120
135
 
136
+ static
137
+ VALUE is_zoom(VALUE self)
138
+ {
139
+ CHECK;
140
+ return value(THIS->is_zoom());
141
+ }
142
+
121
143
  static
122
144
  VALUE is_rotate(VALUE self)
123
145
  {
@@ -135,7 +157,7 @@ Init_reflex_frame_event ()
135
157
 
136
158
  cFrameEvent = mReflex.define_class("FrameEvent", Reflex::event_class());
137
159
  rb_define_alloc_func(cFrameEvent, alloc);
138
- rb_define_private_method(cFrameEvent, "initialize", RUBY_METHOD_FUNC(initialize), 7);
160
+ rb_define_private_method(cFrameEvent, "initialize", RUBY_METHOD_FUNC(initialize), 9);
139
161
  rb_define_private_method(cFrameEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
140
162
  rb_define_method(cFrameEvent, "frame", RUBY_METHOD_FUNC(frame), 0);
141
163
  rb_define_method(cFrameEvent, "dx", RUBY_METHOD_FUNC(dx), 0);
@@ -144,10 +166,13 @@ Init_reflex_frame_event ()
144
166
  rb_define_method(cFrameEvent, "dheight", RUBY_METHOD_FUNC(dheight), 0);
145
167
  rb_define_method(cFrameEvent, "dposition", RUBY_METHOD_FUNC(dposition), 0);
146
168
  rb_define_method(cFrameEvent, "dsize", RUBY_METHOD_FUNC(dsize), 0);
169
+ rb_define_method(cFrameEvent, "zoom", RUBY_METHOD_FUNC(zoom), 0);
170
+ rb_define_method(cFrameEvent, "dzoom", RUBY_METHOD_FUNC(dzoom), 0);
147
171
  rb_define_method(cFrameEvent, "angle", RUBY_METHOD_FUNC(angle), 0);
148
172
  rb_define_method(cFrameEvent, "dangle", RUBY_METHOD_FUNC(dangle), 0);
149
173
  cFrameEvent.define_method("move?", is_move);
150
174
  cFrameEvent.define_method("resize?", is_resize);
175
+ cFrameEvent.define_method("zoom?", is_zoom);
151
176
  cFrameEvent.define_method("rotate?", is_rotate);
152
177
  }
153
178
 
@@ -404,6 +404,21 @@ VALUE get_angle(VALUE self)
404
404
  return value(THIS->angle());
405
405
  }
406
406
 
407
+ static
408
+ VALUE set_pivot(VALUE self, VALUE x, VALUE y, VALUE z)
409
+ {
410
+ CHECK;
411
+ THIS->set_pivot(to<float>(x), to<float>(y), to<float>(z));
412
+ return value(THIS->pivot());
413
+ }
414
+
415
+ static
416
+ VALUE get_pivot(VALUE self)
417
+ {
418
+ CHECK;
419
+ return value(THIS->pivot());
420
+ }
421
+
407
422
  static
408
423
  VALUE scroll_to(VALUE self)
409
424
  {
@@ -871,6 +886,13 @@ VALUE on_resize(VALUE self, VALUE event)
871
886
  CALL(on_resize(to<Reflex::FrameEvent*>(event)));
872
887
  }
873
888
 
889
+ static
890
+ VALUE on_zoom(VALUE self, VALUE event)
891
+ {
892
+ CHECK;
893
+ CALL(on_zoom(to<Reflex::FrameEvent*>(event)));
894
+ }
895
+
874
896
  static
875
897
  VALUE on_rotate(VALUE self, VALUE event)
876
898
  {
@@ -1053,6 +1075,8 @@ Init_reflex_view ()
1053
1075
  rb_define_method(cView, "fit_to_content", RUBY_METHOD_FUNC(fit_to_content), 0);
1054
1076
  rb_define_method(cView, "angle=", RUBY_METHOD_FUNC(set_angle), 1);
1055
1077
  rb_define_method(cView, "angle", RUBY_METHOD_FUNC(get_angle), 0);
1078
+ cView.define_private_method("set_pivot!", set_pivot);
1079
+ rb_define_method(cView, "pivot", RUBY_METHOD_FUNC(get_pivot), 0);
1056
1080
  rb_define_method(cView, "scroll_to", RUBY_METHOD_FUNC(scroll_to), -1);
1057
1081
  rb_define_method(cView, "scroll_by", RUBY_METHOD_FUNC(scroll_by), -1);
1058
1082
  rb_define_method(cView, "scroll", RUBY_METHOD_FUNC(get_scroll), 0);
@@ -1112,6 +1136,7 @@ Init_reflex_view ()
1112
1136
  rb_define_method(cView, "on_draw", RUBY_METHOD_FUNC(on_draw), 1);
1113
1137
  rb_define_method(cView, "on_move", RUBY_METHOD_FUNC(on_move), 1);
1114
1138
  rb_define_method(cView, "on_resize", RUBY_METHOD_FUNC(on_resize), 1);
1139
+ rb_define_method(cView, "on_zoom", RUBY_METHOD_FUNC(on_zoom), 1);
1115
1140
  rb_define_method(cView, "on_rotate", RUBY_METHOD_FUNC(on_rotate), 1);
1116
1141
  rb_define_method(cView, "on_scroll", RUBY_METHOD_FUNC(on_scroll), 1);
1117
1142
  rb_define_method(cView, "on_focus", RUBY_METHOD_FUNC(on_focus), 1);
@@ -20,8 +20,9 @@ def setup_dependencies(build: true, only: nil)
20
20
 
21
21
  exts.each do |ext|
22
22
  gem = RENAMES[ext.to_sym].then {|s| s || ext}
23
- clone = "git clone --depth 1 https://github.com/xord/#{ext}.git ../#{ext}"
24
23
  ver = gemspec[/add_runtime_dependency.*['"]#{gem}['"].*['"]\s*~>\s*([\d\.]+)\s*['"]/, 1]
24
+ opts = '-c advice.detachedHead=false --depth 1'
25
+ clone = "git clone #{opts} https://github.com/xord/#{ext}.git ../#{ext}"
25
26
 
26
27
  # 'rake subtree:push' pushes all subrepos, so cloning by new tag
27
28
  # often fails before tagging each new tag
data/ChangeLog.md CHANGED
@@ -1,6 +1,21 @@
1
1
  # reflex ChangeLog
2
2
 
3
3
 
4
+ ## [v0.1.36] - 2023-05-08
5
+
6
+ - Add inspect()
7
+ - Add View#pivot accessor
8
+ - Awake view body on every pointer event
9
+ - Disable blocking event escalation
10
+ - Check is view valid before calling event handlers
11
+ - Fix pointer position for rotated view
12
+
13
+
14
+ ## [v0.1.35] - 2023-04-30
15
+
16
+ - Add View#on_zoom(e)
17
+
18
+
4
19
  ## [v0.1.34] - 2023-04-25
5
20
 
6
21
  - Update beeps to v0.1.34
data/Rakefile CHANGED
@@ -1,4 +1,4 @@
1
- # -*- mode: ruby; coding: utf-8 -*-
1
+ # -*- mode: ruby -*-
2
2
 
3
3
 
4
4
  %w[../xot ../rucy ../rays .]
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.34
1
+ 0.1.36
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  %w[../xot ../rucy ../rays .]
5
2
  .map {|s| File.expand_path "../../#{s}/lib", __dir__}
6
3
  .each {|s| $:.unshift s if !$:.include?(s) && File.directory?(s)}
@@ -21,7 +21,7 @@ RUCY_DEF_ALLOC(alloc, klass)
21
21
  RUCY_END
22
22
 
23
23
  static
24
- RUCY_DEF7(initialize, frame, dx, dy, dwidth, dheight, angle, dangle)
24
+ RUCY_DEF9(initialize, frame, dx, dy, dwidth, dheight, zoom, dzoom, angle, dangle)
25
25
  {
26
26
  CHECK;
27
27
 
@@ -29,6 +29,7 @@ RUCY_DEF7(initialize, frame, dx, dy, dwidth, dheight, angle, dangle)
29
29
  to<Rays::Bounds>(frame),
30
30
  to<coord>(dx), to<coord>(dy),
31
31
  to<coord>(dwidth), to<coord>(dheight),
32
+ to<float>(zoom), to<float>(dzoom),
32
33
  to<float>(angle), to<float>(dangle));
33
34
 
34
35
  return rb_call_super(0, NULL);
@@ -100,6 +101,22 @@ RUCY_DEF0(dsize)
100
101
  }
101
102
  RUCY_END
102
103
 
104
+ static
105
+ RUCY_DEF0(zoom)
106
+ {
107
+ CHECK;
108
+ return value(THIS->zoom());
109
+ }
110
+ RUCY_END
111
+
112
+ static
113
+ RUCY_DEF0(dzoom)
114
+ {
115
+ CHECK;
116
+ return value(THIS->dzoom());
117
+ }
118
+ RUCY_END
119
+
103
120
  static
104
121
  RUCY_DEF0(angle)
105
122
  {
@@ -132,6 +149,14 @@ RUCY_DEF0(is_resize)
132
149
  }
133
150
  RUCY_END
134
151
 
152
+ static
153
+ RUCY_DEF0(is_zoom)
154
+ {
155
+ CHECK;
156
+ return value(THIS->is_zoom());
157
+ }
158
+ RUCY_END
159
+
135
160
  static
136
161
  RUCY_DEF0(is_rotate)
137
162
  {
@@ -153,16 +178,19 @@ Init_reflex_frame_event ()
153
178
  cFrameEvent.define_private_method("initialize", initialize);
154
179
  cFrameEvent.define_private_method("initialize_copy", initialize_copy);
155
180
  cFrameEvent.define_method("frame", frame);
156
- cFrameEvent.define_method("dx", dx);
157
- cFrameEvent.define_method("dy", dy);
158
- cFrameEvent.define_method("dwidth", dwidth);
159
- cFrameEvent.define_method("dheight", dheight);
181
+ cFrameEvent.define_method("dx", dx);
182
+ cFrameEvent.define_method("dy", dy);
183
+ cFrameEvent.define_method("dwidth", dwidth);
184
+ cFrameEvent.define_method("dheight", dheight);
160
185
  cFrameEvent.define_method("dposition", dposition);
161
186
  cFrameEvent.define_method("dsize", dsize);
187
+ cFrameEvent.define_method( "zoom", zoom);
188
+ cFrameEvent.define_method("dzoom", dzoom);
162
189
  cFrameEvent.define_method( "angle", angle);
163
190
  cFrameEvent.define_method("dangle", dangle);
164
191
  cFrameEvent.define_method("move?", is_move);
165
192
  cFrameEvent.define_method("resize?", is_resize);
193
+ cFrameEvent.define_method("zoom?", is_zoom);
166
194
  cFrameEvent.define_method("rotate?", is_rotate);
167
195
  }
168
196
 
data/ext/reflex/view.cpp CHANGED
@@ -445,6 +445,23 @@ RUCY_DEF0(get_angle)
445
445
  }
446
446
  RUCY_END
447
447
 
448
+ static
449
+ RUCY_DEF3(set_pivot, x, y, z)
450
+ {
451
+ CHECK;
452
+ THIS->set_pivot(to<float>(x), to<float>(y), to<float>(z));
453
+ return value(THIS->pivot());
454
+ }
455
+ RUCY_END
456
+
457
+ static
458
+ RUCY_DEF0(get_pivot)
459
+ {
460
+ CHECK;
461
+ return value(THIS->pivot());
462
+ }
463
+ RUCY_END
464
+
448
465
  static
449
466
  RUCY_DEFN(scroll_to)
450
467
  {
@@ -968,6 +985,14 @@ RUCY_DEF1(on_resize, event)
968
985
  }
969
986
  RUCY_END
970
987
 
988
+ static
989
+ RUCY_DEF1(on_zoom, event)
990
+ {
991
+ CHECK;
992
+ CALL(on_zoom(to<Reflex::FrameEvent*>(event)));
993
+ }
994
+ RUCY_END
995
+
971
996
  static
972
997
  RUCY_DEF1(on_rotate, event)
973
998
  {
@@ -1168,6 +1193,8 @@ Init_reflex_view ()
1168
1193
  cView.define_method("fit_to_content", fit_to_content);
1169
1194
  cView.define_method("angle=", set_angle);
1170
1195
  cView.define_method("angle", get_angle);
1196
+ cView.define_private_method("set_pivot!", set_pivot);
1197
+ cView.define_method( "pivot", get_pivot);
1171
1198
  cView.define_method("scroll_to", scroll_to);
1172
1199
  cView.define_method("scroll_by", scroll_by);
1173
1200
  cView.define_method("scroll", get_scroll);
@@ -1227,6 +1254,7 @@ Init_reflex_view ()
1227
1254
  cView.define_method("on_draw", on_draw);
1228
1255
  cView.define_method("on_move", on_move);
1229
1256
  cView.define_method("on_resize", on_resize);
1257
+ cView.define_method("on_zoom", on_zoom);
1230
1258
  cView.define_method("on_rotate", on_rotate);
1231
1259
  cView.define_method("on_scroll", on_scroll);
1232
1260
  cView.define_method("on_focus", on_focus);
@@ -30,7 +30,7 @@ namespace Reflex
30
30
 
31
31
  ~Event ();
32
32
 
33
- void block ();
33
+ void block (bool parent = false);
34
34
 
35
35
  bool is_blocked () const;
36
36
 
@@ -116,10 +116,12 @@ namespace Reflex
116
116
  const Bounds& frame,
117
117
  coord dx, coord dy,
118
118
  coord dwidth, coord dheight,
119
- float angle, float dangle);
119
+ float zoom = 1, float dzoom = 0,
120
+ float angle = 0, float dangle = 0);
120
121
 
121
122
  FrameEvent (
122
123
  const Bounds& frame, const Bounds& prev_frame,
124
+ float zoom, float prev_zoom,
123
125
  float angle, float prev_angle);
124
126
 
125
127
  FrameEvent dup () const;
@@ -134,6 +136,10 @@ namespace Reflex
134
136
 
135
137
  coord dheight () const;
136
138
 
139
+ float zoom () const;
140
+
141
+ float dzoom () const;
142
+
137
143
  float angle () const;
138
144
 
139
145
  float dangle () const;
@@ -142,6 +148,8 @@ namespace Reflex
142
148
 
143
149
  bool is_resize () const;
144
150
 
151
+ bool is_zoom () const;
152
+
145
153
  bool is_rotate () const;
146
154
 
147
155
  struct Data;
@@ -113,6 +113,15 @@ namespace Reflex
113
113
  Super::on_resize(e);
114
114
  }
115
115
 
116
+ virtual void on_zoom (FrameEvent* e)
117
+ {
118
+ RUCY_SYM(on_zoom);
119
+ if (this->is_overridable())
120
+ this->value.call(on_zoom, Rucy::value(e));
121
+ else
122
+ Super::on_zoom(e);
123
+ }
124
+
116
125
  virtual void on_rotate (FrameEvent* e)
117
126
  {
118
127
  RUCY_SYM(on_rotate);
@@ -209,10 +209,20 @@ namespace Reflex
209
209
 
210
210
  virtual void fit_to_content ();
211
211
 
212
+ virtual void set_zoom (float zoom);
213
+
214
+ virtual float zoom () const;
215
+
212
216
  virtual void set_angle (float degree);
213
217
 
214
218
  virtual float angle () const;
215
219
 
220
+ virtual void set_pivot (float x, float y, float z = 0);
221
+
222
+ virtual void set_pivot (const Point& pivot);
223
+
224
+ virtual const Point& pivot () const;
225
+
216
226
  virtual void scroll_to (coord x, coord y, coord z = 0);
217
227
 
218
228
  virtual void scroll_to (const Point& scroll);
@@ -223,10 +233,6 @@ namespace Reflex
223
233
 
224
234
  virtual const Point& scroll () const;
225
235
 
226
- virtual void set_zoom (float zoom);
227
-
228
- virtual float zoom () const;
229
-
230
236
  virtual void set_capture (uint types);
231
237
 
232
238
  virtual uint capture () const;
@@ -344,6 +350,8 @@ namespace Reflex
344
350
 
345
351
  virtual void on_resize (FrameEvent* e);
346
352
 
353
+ virtual void on_zoom (FrameEvent* e);
354
+
347
355
  virtual void on_rotate (FrameEvent* e);
348
356
 
349
357
  virtual void on_scroll (ScrollEvent* e);
@@ -1,9 +1,7 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'xot/setter'
5
2
  require 'xot/universal_accessor'
6
3
  require 'xot/block_util'
4
+ require 'xot/inspectable'
7
5
  require 'reflex/ext'
8
6
  require 'reflex/helper'
9
7
 
@@ -14,6 +12,7 @@ module Reflex
14
12
  class Application
15
13
 
16
14
  include Xot::Setter
15
+ include Xot::Inspectable
17
16
  include Hookable
18
17
 
19
18
  universal_accessor :name
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'rays/autoinit'
5
2
  require 'reflex/ext'
6
3
 
data/lib/reflex/bitmap.rb CHANGED
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'rays/bitmap'
5
2
 
6
3
 
data/lib/reflex/bounds.rb CHANGED
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'rays/bounds'
5
2
 
6
3
 
data/lib/reflex/button.rb CHANGED
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'reflex/view'
5
2
 
6
3
 
data/lib/reflex/camera.rb CHANGED
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'rays/camera'
5
2
 
6
3
 
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'reflex/ext'
5
2
  require 'reflex/view'
6
3
 
data/lib/reflex/color.rb CHANGED
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'rays/color'
5
2
 
6
3
 
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'rays/color_space'
5
2
 
6
3
 
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'xot/const_symbol_accessor'
5
2
  require 'reflex/ext'
6
3
 
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'xot/block_util'
5
2
  require 'reflex/ext'
6
3
 
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'xot/universal_accessor'
5
2
  require 'reflex/shape'
6
3
 
data/lib/reflex/ext.rb CHANGED
@@ -1,5 +1,2 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'rays/ext'
5
2
  require 'reflex/native'
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  module Reflex
5
2
 
6
3
 
data/lib/reflex/filter.rb CHANGED
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'xot/universal_accessor'
5
2
  require 'reflex/ext'
6
3
 
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'xot/setter'
5
2
  require 'xot/universal_accessor'
6
3
 
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'xot/const_symbol_accessor'
5
2
  require 'reflex/ext'
6
3
 
data/lib/reflex/font.rb CHANGED
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'rays/font'
5
2
 
6
3
 
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'reflex/ext'
5
2
 
6
3
 
@@ -33,7 +30,8 @@ module Reflex
33
30
  alias h height
34
31
 
35
32
  def inspect()
36
- "#<Reflex::FrameEvent x:#{x} y:#{y} w:#{w} h:#{h} dx:#{dx} dy:#{dy} dw:#{dw} dh:#{dh}>"
33
+ "#<Reflex::FrameEvent x:%g(%g) y:%g(%g) w:%g(%g) h:%g(%g) zoom:%g(%g) angle:%g(%g)>" %
34
+ [x, dx, y, dy, w, dw, h, dh, zoom, dzoom, angle, dangle]
37
35
  end
38
36
 
39
37
  end# FrameEvent
data/lib/reflex/helper.rb CHANGED
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'xot/hookable'
5
2
  require 'xot/universal_accessor'
6
3
  require 'reflex/point'
data/lib/reflex/image.rb CHANGED
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'rays/image'
5
2
 
6
3
 
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'reflex/view'
5
2
 
6
3
 
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'xot/const_symbol_accessor'
5
2
  require 'reflex/ext'
6
3
 
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'xot/universal_accessor'
5
2
  require 'reflex/shape'
6
3
 
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'reflex/view'
5
2
 
6
3
 
data/lib/reflex/matrix.rb CHANGED
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'rays/matrix'
5
2
 
6
3
 
data/lib/reflex/model.rb CHANGED
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'xot/invoker'
5
2
  require 'xot/setter'
6
3
  require 'xot/block_util'
@@ -1,6 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
-
3
-
4
1
  require 'reflex/model'
5
2
 
6
3