reflexion 0.1.39 → 0.1.40
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.
- checksums.yaml +4 -4
- data/.doc/ext/reflex/view.cpp +22 -0
- data/ChangeLog.md +8 -0
- data/VERSION +1 -1
- data/ext/reflex/view.cpp +38 -14
- data/include/reflex/view.h +3 -1
- data/lib/reflex/contact_event.rb +1 -1
- data/lib/reflex/view.rb +3 -2
- data/reflex.gemspec +10 -10
- data/src/body.cpp +14 -0
- data/src/body.h +4 -0
- data/src/view.cpp +13 -2
- data/test/test_view.rb +14 -0
- metadata +13 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ea18222490d3f1689a552d31ee11f0e0c2386998c88420a117aca12175436ce
|
4
|
+
data.tar.gz: 5105528ff4c1f233d25d79a9aa8aef72239cf4256db5c1cb5c126a7359e7c31a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2be5d8353933e987684d2f5f81cb4cf7a52cc1db615c31c4ec6ed70998d783c4d5d631c25c4ab9b02258b8c5d70c4988abe47ec8fa7e6b807dfd12acba66e5de
|
7
|
+
data.tar.gz: 91263b61d34e37ea8900ff626edc2a6fb0c302a49e2cfe531ec1c502a47c3409e8f7d7caf049e67fb9bc56efc3132e5d8d1f2290746498eba5d301305bfa6298
|
data/.doc/ext/reflex/view.cpp
CHANGED
@@ -617,6 +617,26 @@ VALUE get_scroll_to_fit(VALUE self)
|
|
617
617
|
return value(THIS->has_flag(Reflex::View::FLAG_SCROLL_TO_FIT));
|
618
618
|
}
|
619
619
|
|
620
|
+
static
|
621
|
+
VALUE set_fix_angle(VALUE self, VALUE fix)
|
622
|
+
{
|
623
|
+
CHECK;
|
624
|
+
|
625
|
+
if (fix)
|
626
|
+
THIS-> add_flag(Reflex::View::FLAG_FIX_ANGLE);
|
627
|
+
else
|
628
|
+
THIS->remove_flag(Reflex::View::FLAG_FIX_ANGLE);
|
629
|
+
|
630
|
+
return fix;
|
631
|
+
}
|
632
|
+
|
633
|
+
static
|
634
|
+
VALUE get_fix_angle(VALUE self)
|
635
|
+
{
|
636
|
+
CHECK;
|
637
|
+
return value(THIS->has_flag(Reflex::View::FLAG_FIX_ANGLE));
|
638
|
+
}
|
639
|
+
|
620
640
|
static
|
621
641
|
VALUE parent(VALUE self)
|
622
642
|
{
|
@@ -1134,6 +1154,8 @@ Init_reflex_view ()
|
|
1134
1154
|
cView.define_method("resize_to_fit?", get_resize_to_fit);
|
1135
1155
|
rb_define_method(cView, "scroll_to_fit=", RUBY_METHOD_FUNC(set_scroll_to_fit), 1);
|
1136
1156
|
cView.define_method("scroll_to_fit?", get_scroll_to_fit);
|
1157
|
+
rb_define_method(cView, "fix_angle=", RUBY_METHOD_FUNC(set_fix_angle), 1);
|
1158
|
+
cView.define_method("fix_angle?", get_fix_angle);
|
1137
1159
|
rb_define_method(cView, "parent", RUBY_METHOD_FUNC(parent), 0);
|
1138
1160
|
rb_define_method(cView, "window", RUBY_METHOD_FUNC(window), 0);
|
1139
1161
|
|
data/ChangeLog.md
CHANGED
@@ -1,6 +1,14 @@
|
|
1
1
|
# reflex ChangeLog
|
2
2
|
|
3
3
|
|
4
|
+
## [v0.1.40] - 2023-05-27
|
5
|
+
|
6
|
+
- required_ruby_version >= 3.0.0
|
7
|
+
- Add FLAG_FIX_ANGLE
|
8
|
+
- Add spec.license
|
9
|
+
- Fix crash on calling ContactEvent#inspect
|
10
|
+
|
11
|
+
|
4
12
|
## [v0.1.39] - 2023-05-18
|
5
13
|
|
6
14
|
- Event#block has a bool parameter, which defaults to true
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.40
|
data/ext/reflex/view.cpp
CHANGED
@@ -675,6 +675,28 @@ RUCY_DEF0(get_scroll_to_fit)
|
|
675
675
|
}
|
676
676
|
RUCY_END
|
677
677
|
|
678
|
+
static
|
679
|
+
RUCY_DEF1(set_fix_angle, fix)
|
680
|
+
{
|
681
|
+
CHECK;
|
682
|
+
|
683
|
+
if (fix)
|
684
|
+
THIS-> add_flag(Reflex::View::FLAG_FIX_ANGLE);
|
685
|
+
else
|
686
|
+
THIS->remove_flag(Reflex::View::FLAG_FIX_ANGLE);
|
687
|
+
|
688
|
+
return fix;
|
689
|
+
}
|
690
|
+
RUCY_END
|
691
|
+
|
692
|
+
static
|
693
|
+
RUCY_DEF0(get_fix_angle)
|
694
|
+
{
|
695
|
+
CHECK;
|
696
|
+
return value(THIS->has_flag(Reflex::View::FLAG_FIX_ANGLE));
|
697
|
+
}
|
698
|
+
RUCY_END
|
699
|
+
|
678
700
|
static
|
679
701
|
RUCY_DEF0(parent)
|
680
702
|
{
|
@@ -1206,25 +1228,25 @@ Init_reflex_view ()
|
|
1206
1228
|
cView.define_method("from_screen", from_screen);
|
1207
1229
|
cView.define_method( "to_screen", to_screen);
|
1208
1230
|
|
1209
|
-
cView.define_method("add_child", add_child);
|
1231
|
+
cView.define_method( "add_child", add_child);
|
1210
1232
|
cView.define_method("remove_child", remove_child);
|
1211
|
-
cView.define_method("clear_children", clear_children);
|
1212
|
-
cView.define_method("find_children", find_children);
|
1213
|
-
cView.define_method("each_child", each_child);
|
1233
|
+
cView.define_method( "clear_children", clear_children);
|
1234
|
+
cView.define_method( "find_children", find_children);
|
1235
|
+
cView.define_method( "each_child", each_child);
|
1214
1236
|
|
1215
|
-
cView.define_method("add_style", add_style);
|
1237
|
+
cView.define_method( "add_style", add_style);
|
1216
1238
|
cView.define_method("remove_style", remove_style);
|
1217
|
-
cView.define_method("get_style", get_style);
|
1218
|
-
cView.define_method("find_styles", find_styles);
|
1219
|
-
cView.define_method("each_style", each_style);
|
1239
|
+
cView.define_method( "get_style", get_style);
|
1240
|
+
cView.define_method( "find_styles", find_styles);
|
1241
|
+
cView.define_method( "each_style", each_style);
|
1220
1242
|
|
1221
|
-
cView.define_method("shape=",
|
1222
|
-
cView.define_method("shape",
|
1223
|
-
cView.define_method("add_shape", add_shape);
|
1243
|
+
cView.define_method( "shape=", set_shape);
|
1244
|
+
cView.define_method( "shape", get_shape);
|
1245
|
+
cView.define_method( "add_shape", add_shape);
|
1224
1246
|
cView.define_method("remove_shape", remove_shape);
|
1225
|
-
cView.define_method("clear_shapes", clear_shapes);
|
1226
|
-
cView.define_method("find_shapes", find_shapes);
|
1227
|
-
cView.define_method("each_shape", each_shape);
|
1247
|
+
cView.define_method( "clear_shapes", clear_shapes);
|
1248
|
+
cView.define_method( "find_shapes", find_shapes);
|
1249
|
+
cView.define_method( "each_shape", each_shape);
|
1228
1250
|
|
1229
1251
|
cView.define_method("filter=", set_filter);
|
1230
1252
|
cView.define_method("filter", get_filter);
|
@@ -1252,6 +1274,8 @@ Init_reflex_view ()
|
|
1252
1274
|
cView.define_method("resize_to_fit?", get_resize_to_fit);
|
1253
1275
|
cView.define_method("scroll_to_fit=", set_scroll_to_fit);
|
1254
1276
|
cView.define_method("scroll_to_fit?", get_scroll_to_fit);
|
1277
|
+
cView.define_method("fix_angle=", set_fix_angle);
|
1278
|
+
cView.define_method("fix_angle?", get_fix_angle);
|
1255
1279
|
cView.define_method("parent", parent);
|
1256
1280
|
cView.define_method("window", window);
|
1257
1281
|
|
data/include/reflex/view.h
CHANGED
data/lib/reflex/contact_event.rb
CHANGED
data/lib/reflex/view.rb
CHANGED
@@ -120,14 +120,15 @@ module Reflex
|
|
120
120
|
cache: {reader: :cache?},
|
121
121
|
resize_to_fit: {reader: :resize_to_fit?},
|
122
122
|
scroll_to_fit: {reader: :scroll_to_fit?},
|
123
|
+
fix_angle: {reader: :fix_angle?},
|
123
124
|
static: {reader: :static?},
|
124
125
|
dynamic: {reader: :dynamic?},
|
125
126
|
sensor: {reader: :sensor?},
|
126
127
|
debug: {reader: :debug?}
|
127
128
|
|
128
|
-
alias add
|
129
|
+
alias add add_child
|
129
130
|
alias remove remove_child
|
130
|
-
alias find
|
131
|
+
alias find find_child
|
131
132
|
|
132
133
|
alias apply_impulse apply_linear_impulse
|
133
134
|
alias velocity= linear_velocity=
|
data/reflex.gemspec
CHANGED
@@ -17,21 +17,21 @@ Gem::Specification.new do |s|
|
|
17
17
|
rdocs = glob.call *%w[README .doc/ext/**/*.cpp]
|
18
18
|
|
19
19
|
s.name = "#{name}ion"
|
20
|
+
s.version = ext.version
|
21
|
+
s.license = 'MIT'
|
20
22
|
s.summary = 'A Graphical User Interface Tool Kit.'
|
21
23
|
s.description = 'This library helps you to develop interactive graphical user interface.'
|
22
|
-
s.
|
23
|
-
|
24
|
-
s.
|
25
|
-
s.email = 'xordog@gmail.com'
|
26
|
-
s.homepage = "https://github.com/xord/reflex"
|
24
|
+
s.authors = %w[xordog]
|
25
|
+
s.email = 'xordog@gmail.com'
|
26
|
+
s.homepage = "https://github.com/xord/reflex"
|
27
27
|
|
28
28
|
s.platform = Gem::Platform::RUBY
|
29
|
-
s.required_ruby_version = '>=
|
29
|
+
s.required_ruby_version = '>= 3.0.0'
|
30
30
|
|
31
|
-
s.add_runtime_dependency 'xot', '~> 0.1.
|
32
|
-
s.add_runtime_dependency 'rucy', '~> 0.1.
|
33
|
-
s.add_runtime_dependency 'beeps', '~> 0.1.
|
34
|
-
s.add_runtime_dependency 'rays', '~> 0.1.
|
31
|
+
s.add_runtime_dependency 'xot', '~> 0.1.37'
|
32
|
+
s.add_runtime_dependency 'rucy', '~> 0.1.37'
|
33
|
+
s.add_runtime_dependency 'beeps', '~> 0.1.38'
|
34
|
+
s.add_runtime_dependency 'rays', '~> 0.1.38'
|
35
35
|
|
36
36
|
s.add_development_dependency 'rake'
|
37
37
|
s.add_development_dependency 'test-unit'
|
data/src/body.cpp
CHANGED
@@ -247,6 +247,20 @@ namespace Reflex
|
|
247
247
|
return Xot::rad2deg(self->b2body->GetAngularVelocity());
|
248
248
|
}
|
249
249
|
|
250
|
+
void
|
251
|
+
Body::fix_rotation (bool state)
|
252
|
+
{
|
253
|
+
validate(this);
|
254
|
+
|
255
|
+
self->b2body->SetFixedRotation(state);
|
256
|
+
}
|
257
|
+
|
258
|
+
bool
|
259
|
+
Body::is_rotation_fixed () const
|
260
|
+
{
|
261
|
+
return self->b2body->IsFixedRotation();
|
262
|
+
}
|
263
|
+
|
250
264
|
void
|
251
265
|
Body::set_gravity_scale (float scale)
|
252
266
|
{
|
data/src/body.h
CHANGED
data/src/view.cpp
CHANGED
@@ -216,6 +216,7 @@ namespace Reflex
|
|
216
216
|
|
217
217
|
pbody.reset(b);
|
218
218
|
update_body_frame();
|
219
|
+
update_body_states();
|
219
220
|
}
|
220
221
|
return *pbody;
|
221
222
|
}
|
@@ -235,6 +236,12 @@ namespace Reflex
|
|
235
236
|
pbody->set_transform(frame.x, frame.y, angle);
|
236
237
|
}
|
237
238
|
|
239
|
+
void update_body_states ()
|
240
|
+
{
|
241
|
+
if (pbody && pbody->is_rotation_fixed() != has_flag(View::FLAG_FIX_ANGLE))
|
242
|
+
pbody->fix_rotation(has_flag(View::FLAG_FIX_ANGLE));
|
243
|
+
}
|
244
|
+
|
238
245
|
void
|
239
246
|
get_view2body_matrix (Matrix* m)
|
240
247
|
{
|
@@ -261,7 +268,7 @@ namespace Reflex
|
|
261
268
|
.translate(-pivot);
|
262
269
|
}
|
263
270
|
|
264
|
-
void
|
271
|
+
void setup_body_and_shapes ()
|
265
272
|
{
|
266
273
|
std::unique_ptr<Body> old_body;
|
267
274
|
if (pbody)
|
@@ -718,7 +725,7 @@ namespace Reflex
|
|
718
725
|
}
|
719
726
|
|
720
727
|
view->self->window = window;
|
721
|
-
view->self->
|
728
|
+
view->self->setup_body_and_shapes();
|
722
729
|
|
723
730
|
View::ChildList* children = view->self->children();
|
724
731
|
if (children)
|
@@ -2364,12 +2371,16 @@ namespace Reflex
|
|
2364
2371
|
View::add_flag (uint flags)
|
2365
2372
|
{
|
2366
2373
|
self->add_flag(flags);
|
2374
|
+
|
2375
|
+
self->update_body_states();
|
2367
2376
|
}
|
2368
2377
|
|
2369
2378
|
void
|
2370
2379
|
View::remove_flag (uint flags)
|
2371
2380
|
{
|
2372
2381
|
self->remove_flag(flags);
|
2382
|
+
|
2383
|
+
self->update_body_states();
|
2373
2384
|
}
|
2374
2385
|
|
2375
2386
|
bool
|
data/test/test_view.rb
CHANGED
@@ -275,6 +275,20 @@ class TestView < Test::Unit::TestCase
|
|
275
275
|
assert_equal 361, v.angle
|
276
276
|
end
|
277
277
|
|
278
|
+
def test_fix_angle()
|
279
|
+
v = view
|
280
|
+
assert_false v.fix_angle?
|
281
|
+
assert_false v.fix_angle
|
282
|
+
|
283
|
+
v.fix_angle = true
|
284
|
+
assert_true v.fix_angle?
|
285
|
+
assert_true v.fix_angle
|
286
|
+
|
287
|
+
v.fix_angle false
|
288
|
+
assert_false v.fix_angle?
|
289
|
+
assert_false v.fix_angle
|
290
|
+
end
|
291
|
+
|
278
292
|
def test_pivot()
|
279
293
|
v = view
|
280
294
|
assert_each_in_epsilon [0, 0, 0], v.pivot.to_a(3)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reflexion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.40
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- xordog
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-05-
|
11
|
+
date: 2023-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xot
|
@@ -16,56 +16,56 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.1.
|
19
|
+
version: 0.1.37
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.1.
|
26
|
+
version: 0.1.37
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rucy
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.1.
|
33
|
+
version: 0.1.37
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.1.
|
40
|
+
version: 0.1.37
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: beeps
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.1.
|
47
|
+
version: 0.1.38
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.1.
|
54
|
+
version: 0.1.38
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rays
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.1.
|
61
|
+
version: 0.1.38
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.1.
|
68
|
+
version: 0.1.38
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -415,7 +415,8 @@ files:
|
|
415
415
|
- test/test_wheel_event.rb
|
416
416
|
- test/test_window.rb
|
417
417
|
homepage: https://github.com/xord/reflex
|
418
|
-
licenses:
|
418
|
+
licenses:
|
419
|
+
- MIT
|
419
420
|
metadata: {}
|
420
421
|
post_install_message:
|
421
422
|
rdoc_options: []
|
@@ -425,7 +426,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
425
426
|
requirements:
|
426
427
|
- - ">="
|
427
428
|
- !ruby/object:Gem::Version
|
428
|
-
version:
|
429
|
+
version: 3.0.0
|
429
430
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
430
431
|
requirements:
|
431
432
|
- - ">="
|