reflexion 0.1.34 → 0.1.36
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.doc/ext/reflex/frame_event.cpp +27 -2
- data/.doc/ext/reflex/view.cpp +25 -0
- data/.github/workflows/utils.rb +2 -1
- data/ChangeLog.md +15 -0
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/ext/reflex/extconf.rb +0 -3
- data/ext/reflex/frame_event.cpp +33 -5
- data/ext/reflex/view.cpp +28 -0
- data/include/reflex/event.h +10 -2
- data/include/reflex/ruby/view.h +9 -0
- data/include/reflex/view.h +12 -4
- data/lib/reflex/application.rb +2 -3
- data/lib/reflex/autoinit.rb +0 -3
- data/lib/reflex/bitmap.rb +0 -3
- data/lib/reflex/bounds.rb +0 -3
- data/lib/reflex/button.rb +0 -3
- data/lib/reflex/camera.rb +0 -3
- data/lib/reflex/capture_event.rb +0 -3
- data/lib/reflex/color.rb +0 -3
- data/lib/reflex/color_space.rb +0 -3
- data/lib/reflex/contact_event.rb +0 -3
- data/lib/reflex/draw_event.rb +0 -3
- data/lib/reflex/ellipse_shape.rb +0 -3
- data/lib/reflex/ext.rb +0 -3
- data/lib/reflex/extension.rb +0 -3
- data/lib/reflex/filter.rb +0 -3
- data/lib/reflex/fixture.rb +0 -3
- data/lib/reflex/focus_event.rb +0 -3
- data/lib/reflex/font.rb +0 -3
- data/lib/reflex/frame_event.rb +2 -4
- data/lib/reflex/helper.rb +0 -3
- data/lib/reflex/image.rb +0 -3
- data/lib/reflex/image_view.rb +0 -3
- data/lib/reflex/key_event.rb +0 -3
- data/lib/reflex/line_shape.rb +0 -3
- data/lib/reflex/list_view.rb +0 -3
- data/lib/reflex/matrix.rb +0 -3
- data/lib/reflex/model.rb +0 -3
- data/lib/reflex/model_owner.rb +0 -3
- data/lib/reflex/model_view.rb +0 -3
- data/lib/reflex/painter.rb +0 -3
- data/lib/reflex/point.rb +0 -3
- data/lib/reflex/pointer.rb +0 -3
- data/lib/reflex/pointer_event.rb +0 -3
- data/lib/reflex/polygon.rb +0 -3
- data/lib/reflex/polygon_shape.rb +0 -3
- data/lib/reflex/polyline.rb +0 -3
- data/lib/reflex/rect_shape.rb +0 -3
- data/lib/reflex/reflex.rb +0 -3
- data/lib/reflex/scroll_event.rb +0 -3
- data/lib/reflex/selector.rb +0 -3
- data/lib/reflex/shader.rb +0 -3
- data/lib/reflex/shape.rb +0 -3
- data/lib/reflex/style.rb +0 -3
- data/lib/reflex/style_length.rb +0 -3
- data/lib/reflex/text_view.rb +0 -3
- data/lib/reflex/timer.rb +0 -3
- data/lib/reflex/timer_event.rb +0 -3
- data/lib/reflex/update_event.rb +0 -3
- data/lib/reflex/view.rb +10 -4
- data/lib/reflex/wheel_event.rb +0 -3
- data/lib/reflex/window.rb +2 -3
- data/lib/reflex.rb +0 -3
- data/lib/reflexion/include.rb +0 -3
- data/lib/reflexion.rb +0 -3
- data/reflex.gemspec +5 -5
- data/samples/app.rb +0 -3
- data/samples/bats.rb +0 -3
- data/samples/camera.rb +0 -3
- data/samples/checker.rb +0 -3
- data/samples/fans.rb +0 -3
- data/samples/fps.rb +0 -3
- data/samples/grid.rb +0 -3
- data/samples/hello.rb +0 -3
- data/samples/image.rb +0 -3
- data/samples/key.rb +0 -3
- data/samples/layout.rb +0 -3
- data/samples/model.rb +0 -3
- data/samples/physics.rb +0 -3
- data/samples/reflexion/breakout.rb +0 -3
- data/samples/reflexion/hello.rb +0 -3
- data/samples/reflexion/jump_action.rb +0 -3
- data/samples/reflexion/noise.rb +0 -3
- data/samples/reflexion/paint.rb +0 -3
- data/samples/reflexion/physics.rb +0 -3
- data/samples/reflexion/pulse.rb +0 -3
- data/samples/repl.rb +0 -3
- data/samples/shader.rb +0 -3
- data/samples/shapes.rb +0 -3
- data/samples/text.rb +0 -3
- data/samples/tree.rb +0 -3
- data/samples/views.rb +0 -3
- data/samples/visuals.rb +0 -3
- data/src/body.cpp +14 -0
- data/src/body.h +4 -0
- data/src/event.cpp +54 -32
- data/src/osx/native_window.mm +1 -1
- data/src/view.cpp +136 -61
- data/src/window.cpp +4 -2
- data/test/helper.rb +0 -3
- data/test/test_application.rb +4 -3
- data/test/test_capture_event.rb +0 -3
- data/test/test_contact_event.rb +0 -3
- data/test/test_draw_event.rb +0 -3
- data/test/test_event.rb +1 -4
- data/test/test_focus_event.rb +0 -3
- data/test/test_frame_event.rb +22 -7
- data/test/test_has_frame.rb +0 -3
- data/test/test_key_event.rb +0 -3
- data/test/test_model.rb +0 -3
- data/test/test_model_owner.rb +0 -3
- data/test/test_pointer.rb +0 -3
- data/test/test_pointer_event.rb +0 -3
- data/test/test_reflex_init.rb +0 -3
- data/test/test_scroll_event.rb +0 -3
- data/test/test_selector.rb +0 -3
- data/test/test_shape.rb +0 -3
- data/test/test_style.rb +0 -3
- data/test/test_style_length.rb +0 -3
- data/test/test_timer_event.rb +0 -3
- data/test/test_update_event.rb +0 -3
- data/test/test_view.rb +37 -3
- data/test/test_wheel_event.rb +0 -3
- data/test/test_window.rb +4 -3
- metadata +10 -11
- data/task/box2d.rake +0 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54f32e8f80f2156f47dca7b252f81acf4bf0dc45aab45d7af8d3fb2418141a6c
|
4
|
+
data.tar.gz: 538889ab97d5fec6fc47a3a8a99bec4856d9a3e763ffcd2c438d81f1ca92422d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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),
|
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
|
|
data/.doc/ext/reflex/view.cpp
CHANGED
@@ -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);
|
data/.github/workflows/utils.rb
CHANGED
@@ -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
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.36
|
data/ext/reflex/extconf.rb
CHANGED
data/ext/reflex/frame_event.cpp
CHANGED
@@ -21,7 +21,7 @@ RUCY_DEF_ALLOC(alloc, klass)
|
|
21
21
|
RUCY_END
|
22
22
|
|
23
23
|
static
|
24
|
-
|
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",
|
157
|
-
cFrameEvent.define_method("dy",
|
158
|
-
cFrameEvent.define_method("dwidth",
|
159
|
-
cFrameEvent.define_method("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);
|
data/include/reflex/event.h
CHANGED
@@ -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
|
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;
|
data/include/reflex/ruby/view.h
CHANGED
@@ -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);
|
data/include/reflex/view.h
CHANGED
@@ -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);
|
data/lib/reflex/application.rb
CHANGED
@@ -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
|
data/lib/reflex/autoinit.rb
CHANGED
data/lib/reflex/bitmap.rb
CHANGED
data/lib/reflex/bounds.rb
CHANGED
data/lib/reflex/button.rb
CHANGED
data/lib/reflex/camera.rb
CHANGED
data/lib/reflex/capture_event.rb
CHANGED
data/lib/reflex/color.rb
CHANGED
data/lib/reflex/color_space.rb
CHANGED
data/lib/reflex/contact_event.rb
CHANGED
data/lib/reflex/draw_event.rb
CHANGED
data/lib/reflex/ellipse_shape.rb
CHANGED
data/lib/reflex/ext.rb
CHANGED
data/lib/reflex/extension.rb
CHANGED
data/lib/reflex/filter.rb
CHANGED
data/lib/reflex/fixture.rb
CHANGED
data/lib/reflex/focus_event.rb
CHANGED
data/lib/reflex/font.rb
CHANGED
data/lib/reflex/frame_event.rb
CHANGED
@@ -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
|
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
data/lib/reflex/image.rb
CHANGED
data/lib/reflex/image_view.rb
CHANGED
data/lib/reflex/key_event.rb
CHANGED
data/lib/reflex/line_shape.rb
CHANGED
data/lib/reflex/list_view.rb
CHANGED
data/lib/reflex/matrix.rb
CHANGED
data/lib/reflex/model.rb
CHANGED