reflexion 0.6.0 → 0.7.0
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/application.cpp +37 -6
- data/.doc/ext/reflex/capture_event.cpp +1 -1
- data/.doc/ext/reflex/chase_constraint.cpp +1 -1
- data/.doc/ext/reflex/clipboard.cpp +1 -1
- data/.doc/ext/reflex/color_event.cpp +76 -0
- data/.doc/ext/reflex/color_picker.cpp +113 -0
- data/.doc/ext/reflex/constraint.cpp +1 -1
- data/.doc/ext/reflex/contact_event.cpp +1 -1
- data/.doc/ext/reflex/control_change_event.cpp +1 -1
- data/.doc/ext/reflex/device.cpp +1 -1
- data/.doc/ext/reflex/device_event.cpp +1 -1
- data/.doc/ext/reflex/draw_event.cpp +1 -1
- data/.doc/ext/reflex/ellipse_shape.cpp +1 -1
- data/.doc/ext/reflex/event.cpp +1 -1
- data/.doc/ext/reflex/file_dialog.cpp +181 -0
- data/.doc/ext/reflex/file_event.cpp +103 -0
- data/.doc/ext/reflex/filter.cpp +1 -1
- data/.doc/ext/reflex/focus_event.cpp +1 -1
- data/.doc/ext/reflex/frame_event.cpp +1 -1
- data/.doc/ext/reflex/gamepad.cpp +48 -0
- data/.doc/ext/reflex/image_view.cpp +1 -1
- data/.doc/ext/reflex/key_event.cpp +1 -274
- data/.doc/ext/reflex/line_shape.cpp +1 -1
- data/.doc/ext/reflex/link_constraint.cpp +1 -1
- data/.doc/ext/reflex/menu.cpp +6 -5
- data/.doc/ext/reflex/midi.cpp +9 -2
- data/.doc/ext/reflex/midi_event.cpp +1 -1
- data/.doc/ext/reflex/motion_event.cpp +1 -1
- data/.doc/ext/reflex/native.cpp +18 -6
- data/.doc/ext/reflex/note_event.cpp +1 -1
- data/.doc/ext/reflex/pin.cpp +1 -1
- data/.doc/ext/reflex/pointer.cpp +1 -1
- data/.doc/ext/reflex/pointer_event.cpp +2 -2
- data/.doc/ext/reflex/polygon_shape.cpp +1 -1
- data/.doc/ext/reflex/rect_shape.cpp +1 -1
- data/.doc/ext/reflex/reflex.cpp +566 -232
- data/.doc/ext/reflex/screen.cpp +27 -1
- data/.doc/ext/reflex/scroll_event.cpp +1 -1
- data/.doc/ext/reflex/selector.cpp +1 -1
- data/.doc/ext/reflex/shape.cpp +1 -1
- data/.doc/ext/reflex/snap_constraint.cpp +1 -1
- data/.doc/ext/reflex/style.cpp +1 -1
- data/.doc/ext/reflex/style_length.cpp +1 -1
- data/.doc/ext/reflex/text_event.cpp +104 -0
- data/.doc/ext/reflex/timer.cpp +1 -1
- data/.doc/ext/reflex/timer_event.cpp +1 -1
- data/.doc/ext/reflex/update_event.cpp +1 -1
- data/.doc/ext/reflex/view.cpp +110 -56
- data/.doc/ext/reflex/wheel_constraint.cpp +1 -1
- data/.doc/ext/reflex/wheel_event.cpp +1 -1
- data/.doc/ext/reflex/window.cpp +226 -17
- data/.github/workflows/release-gem.yml +2 -49
- data/.github/workflows/tag.yml +5 -28
- data/.github/workflows/test.yml +1 -37
- data/ChangeLog.md +54 -0
- data/Gemfile.lock +13 -8
- data/Rakefile +13 -2
- data/Reflex.podspec +2 -2
- data/VERSION +1 -1
- data/ext/reflex/application.cpp +41 -6
- data/ext/reflex/capture_event.cpp +1 -1
- data/ext/reflex/chase_constraint.cpp +1 -1
- data/ext/reflex/clipboard.cpp +1 -1
- data/ext/reflex/color_event.cpp +80 -0
- data/ext/reflex/color_picker.cpp +121 -0
- data/ext/reflex/constraint.cpp +1 -1
- data/ext/reflex/contact_event.cpp +1 -1
- data/ext/reflex/control_change_event.cpp +1 -1
- data/ext/reflex/device.cpp +1 -1
- data/ext/reflex/device_event.cpp +1 -1
- data/ext/reflex/draw_event.cpp +1 -1
- data/ext/reflex/ellipse_shape.cpp +1 -1
- data/ext/reflex/event.cpp +1 -1
- data/ext/reflex/extconf.rb +4 -2
- data/ext/reflex/file_dialog.cpp +194 -0
- data/ext/reflex/file_event.cpp +108 -0
- data/ext/reflex/filter.cpp +1 -1
- data/ext/reflex/focus_event.cpp +1 -1
- data/ext/reflex/frame_event.cpp +1 -1
- data/ext/reflex/gamepad.cpp +50 -0
- data/ext/reflex/image_view.cpp +1 -1
- data/ext/reflex/key_event.cpp +1 -275
- data/ext/reflex/line_shape.cpp +1 -1
- data/ext/reflex/link_constraint.cpp +1 -1
- data/ext/reflex/menu.cpp +8 -7
- data/ext/reflex/midi.cpp +11 -3
- data/ext/reflex/midi_event.cpp +1 -1
- data/ext/reflex/motion_event.cpp +1 -1
- data/ext/reflex/native.cpp +18 -6
- data/ext/reflex/note_event.cpp +1 -1
- data/ext/reflex/pin.cpp +1 -1
- data/ext/reflex/pointer.cpp +1 -1
- data/ext/reflex/pointer_event.cpp +2 -2
- data/ext/reflex/polygon_shape.cpp +1 -1
- data/ext/reflex/rect_shape.cpp +1 -1
- data/ext/reflex/reflex.cpp +568 -232
- data/ext/reflex/screen.cpp +31 -2
- data/ext/reflex/scroll_event.cpp +1 -1
- data/ext/reflex/selector.cpp +1 -1
- data/ext/reflex/selector.h +9 -9
- data/ext/reflex/shape.cpp +1 -1
- data/ext/reflex/snap_constraint.cpp +1 -1
- data/ext/reflex/style.cpp +1 -1
- data/ext/reflex/style_length.cpp +1 -1
- data/ext/reflex/text_event.cpp +111 -0
- data/ext/reflex/timer.cpp +1 -1
- data/ext/reflex/timer_event.cpp +1 -1
- data/ext/reflex/update_event.cpp +1 -1
- data/ext/reflex/view.cpp +121 -61
- data/ext/reflex/wheel_constraint.cpp +1 -1
- data/ext/reflex/wheel_event.cpp +1 -1
- data/ext/reflex/window.cpp +256 -25
- data/include/reflex/application.h +10 -0
- data/include/reflex/color_picker.h +65 -0
- data/include/reflex/event.h +178 -88
- data/include/reflex/file_dialog.h +73 -0
- data/include/reflex/gamepad.h +3 -0
- data/include/reflex/menu.h +3 -3
- data/include/reflex/midi.h +3 -0
- data/include/reflex/reflex.h +2 -0
- data/include/reflex/ruby/application.h +6 -1
- data/include/reflex/ruby/color_picker.h +89 -0
- data/include/reflex/ruby/event.h +62 -29
- data/include/reflex/ruby/file_dialog.h +89 -0
- data/include/reflex/ruby/gamepad.h +46 -0
- data/include/reflex/ruby/reflex.h +3 -0
- data/include/reflex/ruby/view.h +92 -44
- data/include/reflex/ruby/window.h +60 -1
- data/include/reflex/ruby.h +3 -0
- data/include/reflex/screen.h +11 -2
- data/include/reflex/view.h +28 -16
- data/include/reflex/window.h +40 -8
- data/include/reflex.h +3 -0
- data/lib/reflex/application.rb +5 -5
- data/lib/reflex/autoinit.rb +3 -1
- data/lib/reflex/button.rb +3 -3
- data/lib/reflex/color_event.rb +16 -0
- data/lib/reflex/color_picker.rb +45 -0
- data/lib/reflex/control_change_event.rb +17 -0
- data/lib/reflex/file_dialog.rb +70 -0
- data/lib/reflex/file_event.rb +37 -0
- data/lib/reflex/helper.rb +58 -7
- data/lib/reflex/key_event.rb +9 -4
- data/lib/reflex/menu.rb +17 -1
- data/lib/reflex/model.rb +19 -19
- data/lib/reflex/note_event.rb +1 -1
- data/lib/reflex/pointer.rb +14 -3
- data/lib/reflex/pointer_event.rb +12 -1
- data/lib/reflex/reflex.rb +5 -0
- data/lib/reflex/shape.rb +14 -14
- data/lib/reflex/style.rb +16 -16
- data/lib/reflex/text_event.rb +40 -0
- data/lib/reflex/timer.rb +3 -3
- data/lib/reflex/view.rb +29 -14
- data/lib/reflex/wheel_event.rb +12 -3
- data/lib/reflex/window.rb +25 -13
- data/lib/reflex.rb +8 -2
- data/reflex.gemspec +4 -4
- data/samples/ime.rb +100 -0
- data/samples/ios/hello/hello.xcodeproj/project.pbxproj +236 -224
- data/samples/menu.rb +4 -1
- data/samples/model.rb +3 -3
- data/samples/test/alert.rb +93 -0
- data/samples/test/always_on.rb +76 -0
- data/samples/test/app_background.rb +51 -0
- data/samples/test/boundary.rb +75 -0
- data/samples/test/callback_exception.rb +101 -0
- data/samples/test/cancel.rb +53 -0
- data/samples/test/color_picker.rb +63 -0
- data/samples/test/file_dialog.rb +102 -0
- data/samples/window_style.rb +156 -0
- data/src/application.cpp +159 -18
- data/src/application.h +92 -7
- data/src/color_picker.cpp +113 -0
- data/src/color_picker.h +36 -0
- data/src/event.cpp +410 -252
- data/src/event.h +12 -0
- data/src/file_dialog.cpp +163 -0
- data/src/file_dialog.h +52 -0
- data/src/gamepad.cpp +42 -5
- data/src/gamepad.h +4 -0
- data/src/ios/app_delegate.mm +5 -3
- data/src/ios/application.mm +24 -0
- data/src/ios/color_picker.mm +19 -0
- data/src/ios/file_dialog.mm +21 -0
- data/src/ios/gamepad.mm +4 -4
- data/src/ios/menu.mm +5 -0
- data/src/ios/reflex.mm +8 -0
- data/src/ios/screen.mm +26 -0
- data/src/ios/view_controller.mm +2 -30
- data/src/ios/window.mm +38 -9
- data/src/menu.cpp +66 -4
- data/src/menu.h +17 -1
- data/src/midi.cpp +61 -31
- data/src/osx/app_delegate.h +4 -0
- data/src/osx/app_delegate.mm +102 -22
- data/src/osx/application.mm +88 -6
- data/src/osx/color_picker.mm +112 -0
- data/src/osx/event.h +10 -0
- data/src/osx/event.mm +84 -30
- data/src/osx/file_dialog.mm +168 -0
- data/src/osx/gamepad.mm +2 -2
- data/src/osx/gamepad_hid.mm +1 -1
- data/src/osx/menu.mm +177 -33
- data/src/osx/native_window.h +16 -2
- data/src/osx/native_window.mm +114 -57
- data/src/osx/opengl_view.h +2 -1
- data/src/osx/opengl_view.mm +184 -43
- data/src/osx/reflex.mm +38 -0
- data/src/osx/screen.mm +36 -0
- data/src/osx/window.mm +106 -24
- data/src/pointer.cpp +13 -4
- data/src/pointer.h +4 -0
- data/src/rays.h +46 -0
- data/src/sdl/application.cpp +68 -8
- data/src/sdl/color_picker.cpp +18 -0
- data/src/sdl/event.cpp +24 -3
- data/src/sdl/event.h +12 -0
- data/src/sdl/file_dialog.cpp +20 -0
- data/src/sdl/gamepad.cpp +3 -7
- data/src/sdl/menu.cpp +5 -0
- data/src/sdl/reflex.cpp +20 -0
- data/src/sdl/screen.cpp +36 -0
- data/src/sdl/window.cpp +142 -29
- data/src/shape.cpp +15 -10
- data/src/view.cpp +287 -198
- data/src/view.h +4 -2
- data/src/vk.h +416 -0
- data/src/win32/application.cpp +162 -12
- data/src/win32/application.h +20 -0
- data/src/win32/color_picker.cpp +82 -0
- data/src/win32/event.cpp +114 -12
- data/src/win32/event.h +21 -4
- data/src/win32/file_dialog.cpp +226 -0
- data/src/win32/gamepad.cpp +9 -2
- data/src/win32/menu.cpp +191 -53
- data/src/win32/menu.h +9 -1
- data/src/win32/opengl.cpp +2 -9
- data/src/win32/reflex.cpp +44 -3
- data/src/win32/screen.cpp +164 -3
- data/src/win32/screen.h +8 -0
- data/src/win32/tray.cpp +191 -0
- data/src/win32/tray.h +22 -0
- data/src/win32/vk.cpp +11 -0
- data/src/win32/window.cpp +809 -148
- data/src/win32/window.h +6 -0
- data/src/window.cpp +718 -185
- data/src/window.h +66 -33
- data/src/world.cpp +9 -1
- data/test/helper.rb +17 -0
- data/test/test_application.rb +90 -1
- data/test/test_chase_constraint.rb +1 -3
- data/test/test_color_event.rb +36 -0
- data/test/test_color_picker.rb +62 -0
- data/test/test_constraint.rb +2 -4
- data/test/test_event.rb +1 -1
- data/test/test_file_dialog.rb +48 -0
- data/test/test_file_event.rb +43 -0
- data/test/test_has_text_preedit.rb +54 -0
- data/test/test_key_event.rb +20 -5
- data/test/test_link_constraint.rb +1 -3
- data/test/test_menu.rb +40 -10
- data/test/test_pointer.rb +33 -23
- data/test/test_pointer_event.rb +24 -9
- data/test/test_reflex.rb +36 -0
- data/test/test_screen.rb +24 -2
- data/test/test_snap_constraint.rb +1 -3
- data/test/test_text_event.rb +54 -0
- data/test/test_view.rb +41 -4
- data/test/test_wheel_constraint.rb +1 -3
- data/test/test_wheel_event.rb +13 -5
- data/test/test_window.rb +196 -44
- metadata +80 -10
- data/.github/workflows/utils.rb +0 -127
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5228288ca6eaf922b07a4e5934fc402f16a79261541db581691fdc77df985a41
|
|
4
|
+
data.tar.gz: 9a4918d2d0c66b5aec2dda5b4cf9afd080d9c7fd8ef863517791b2bcf34561f4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6520e51eb23b4215b34116fd37b34fe1a06532e554186bf47ac0b956e5f9a71e97d6c7aae4465550e8d4ed86f763e86f605d2e811959fbe42fe50fb253bcfb67
|
|
7
|
+
data.tar.gz: 371a81c13682e5c6cceda6549fcf2e6378574d3bf4181bcedbf4e09f175a7ba975869d76240692c72ce312de6dc0dec079e11e546aaba4bb86eb0c038c28e085
|
|
@@ -10,8 +10,8 @@ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::Application)
|
|
|
10
10
|
|
|
11
11
|
#define THIS to<Reflex::Application*>(self)
|
|
12
12
|
|
|
13
|
-
#define
|
|
14
|
-
#define CHECK
|
|
13
|
+
#define CHECK_PTR RUCY_CHECK_PTR(Reflex::Application, self)
|
|
14
|
+
#define CHECK RUCY_CHECK_OBJ(Reflex::Application, self)
|
|
15
15
|
|
|
16
16
|
#define CALL(fun) RUCY_CALL_SUPER(THIS, fun)
|
|
17
17
|
|
|
@@ -25,7 +25,7 @@ VALUE alloc(VALUE klass)
|
|
|
25
25
|
static
|
|
26
26
|
VALUE start(VALUE self)
|
|
27
27
|
{
|
|
28
|
-
|
|
28
|
+
CHECK_PTR;
|
|
29
29
|
CALL(start());
|
|
30
30
|
return self;
|
|
31
31
|
}
|
|
@@ -68,6 +68,36 @@ VALUE get_menu(VALUE self)
|
|
|
68
68
|
return value(THIS->menu());
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
static
|
|
72
|
+
VALUE set_background(VALUE self, VALUE state)
|
|
73
|
+
{
|
|
74
|
+
CHECK;
|
|
75
|
+
THIS->set_background(to<bool>(state));
|
|
76
|
+
return state;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
static
|
|
80
|
+
VALUE is_background(VALUE self)
|
|
81
|
+
{
|
|
82
|
+
CHECK;
|
|
83
|
+
return value(THIS->background());
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
static
|
|
87
|
+
VALUE set_background_menu(VALUE self, VALUE menu)
|
|
88
|
+
{
|
|
89
|
+
CHECK;
|
|
90
|
+
THIS->set_background_menu(menu ? to<Reflex::Menu*>(menu) : NULL);
|
|
91
|
+
return menu;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
static
|
|
95
|
+
VALUE get_background_menu(VALUE self)
|
|
96
|
+
{
|
|
97
|
+
CHECK;
|
|
98
|
+
return value(THIS->background_menu());
|
|
99
|
+
}
|
|
100
|
+
|
|
71
101
|
static
|
|
72
102
|
VALUE each_window(VALUE self)
|
|
73
103
|
{
|
|
@@ -84,9 +114,6 @@ VALUE on_start(VALUE self, VALUE event)
|
|
|
84
114
|
{
|
|
85
115
|
CHECK;
|
|
86
116
|
|
|
87
|
-
RUCY_SYM(call_start_block);
|
|
88
|
-
self.call(call_start_block);
|
|
89
|
-
|
|
90
117
|
CALL(on_start(to<Reflex::Event*>(event)));
|
|
91
118
|
}
|
|
92
119
|
|
|
@@ -154,6 +181,10 @@ Init_reflex_application ()
|
|
|
154
181
|
rb_define_method(cApplication, "name", RUBY_METHOD_FUNC(get_name), 0);
|
|
155
182
|
rb_define_method(cApplication, "menu=", RUBY_METHOD_FUNC(set_menu), 1);
|
|
156
183
|
rb_define_method(cApplication, "menu", RUBY_METHOD_FUNC(get_menu), 0);
|
|
184
|
+
rb_define_method(cApplication, "background=", RUBY_METHOD_FUNC(set_background), 1);
|
|
185
|
+
cApplication.define_method("background?", is_background);
|
|
186
|
+
rb_define_method(cApplication, "background_menu=", RUBY_METHOD_FUNC(set_background_menu), 1);
|
|
187
|
+
rb_define_method(cApplication, "background_menu", RUBY_METHOD_FUNC(get_background_menu), 0);
|
|
157
188
|
rb_define_method(cApplication, "each_window", RUBY_METHOD_FUNC(each_window), 0);
|
|
158
189
|
rb_define_method(cApplication, "on_start", RUBY_METHOD_FUNC(on_start), 1);
|
|
159
190
|
rb_define_method(cApplication, "on_quit", RUBY_METHOD_FUNC(on_quit), 1);
|
|
@@ -12,7 +12,7 @@ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::ChaseConstraint)
|
|
|
12
12
|
|
|
13
13
|
#define THIS to<Reflex::ChaseConstraint*>(self)
|
|
14
14
|
|
|
15
|
-
#define CHECK
|
|
15
|
+
#define CHECK RUCY_CHECK_PTR(Reflex::ChaseConstraint, self)
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
static
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
#include "reflex/ruby/event.h"
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
#include <rays/ruby/color.h>
|
|
5
|
+
#include "defs.h"
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::ColorEvent)
|
|
9
|
+
|
|
10
|
+
#define THIS to<Reflex::ColorEvent*>(self)
|
|
11
|
+
|
|
12
|
+
#define CHECK RUCY_CHECK_PTR(Reflex::ColorEvent, self)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
static
|
|
16
|
+
VALUE alloc(VALUE klass)
|
|
17
|
+
{
|
|
18
|
+
return new_type<Reflex::ColorEvent>(klass);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
static
|
|
22
|
+
VALUE initialize(VALUE self, VALUE color)
|
|
23
|
+
{
|
|
24
|
+
CHECK;
|
|
25
|
+
|
|
26
|
+
if (color.is_nil())
|
|
27
|
+
argument_error(__FILE__, __LINE__);
|
|
28
|
+
|
|
29
|
+
*THIS = Reflex::ColorEvent(to<Rays::Color>(color));
|
|
30
|
+
|
|
31
|
+
return rb_call_super(0, NULL);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
static
|
|
35
|
+
VALUE initialize_copy(VALUE self, VALUE obj)
|
|
36
|
+
{
|
|
37
|
+
CHECK;
|
|
38
|
+
*THIS = to<Reflex::ColorEvent&>(obj).dup();
|
|
39
|
+
return self;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
static
|
|
43
|
+
VALUE get_color(VALUE self)
|
|
44
|
+
{
|
|
45
|
+
CHECK;
|
|
46
|
+
return value(THIS->color());
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
static Class cColorEvent;
|
|
51
|
+
|
|
52
|
+
void
|
|
53
|
+
Init_reflex_color_event ()
|
|
54
|
+
{
|
|
55
|
+
Module mReflex = rb_define_module("Reflex");
|
|
56
|
+
|
|
57
|
+
cColorEvent = mReflex.define_class("ColorEvent", Reflex::event_class());
|
|
58
|
+
rb_define_alloc_func(cColorEvent, alloc);
|
|
59
|
+
rb_define_private_method(cColorEvent, "initialize", RUBY_METHOD_FUNC(initialize), 1);
|
|
60
|
+
rb_define_private_method(cColorEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
|
|
61
|
+
rb_define_method(cColorEvent, "color", RUBY_METHOD_FUNC(get_color), 0);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
namespace Reflex
|
|
66
|
+
{
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
Class
|
|
70
|
+
color_event_class ()
|
|
71
|
+
{
|
|
72
|
+
return cColorEvent;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
}// Reflex
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
#include "reflex/ruby/color_picker.h"
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
#include <rays/ruby/color.h>
|
|
5
|
+
#include "reflex/ruby/window.h"
|
|
6
|
+
#include "defs.h"
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::ColorPicker)
|
|
10
|
+
|
|
11
|
+
#define THIS to<Reflex::ColorPicker*>(self)
|
|
12
|
+
|
|
13
|
+
#define CHECK RUCY_CHECK_OBJ(Reflex::ColorPicker, self)
|
|
14
|
+
|
|
15
|
+
#define CALL(fun) RUCY_CALL_SUPER(THIS, fun)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
static
|
|
19
|
+
VALUE alloc(VALUE klass)
|
|
20
|
+
{
|
|
21
|
+
return value(new Reflex::RubyColorPicker<Reflex::ColorPicker>, klass);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static
|
|
25
|
+
VALUE pick_color(VALUE self, VALUE initial)
|
|
26
|
+
{
|
|
27
|
+
CHECK;
|
|
28
|
+
|
|
29
|
+
if (initial.is_nil())
|
|
30
|
+
THIS->pick_color();
|
|
31
|
+
else
|
|
32
|
+
THIS->pick_color(to<Rays::Color>(initial));
|
|
33
|
+
return self;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static
|
|
37
|
+
VALUE set_owner(VALUE self, VALUE owner)
|
|
38
|
+
{
|
|
39
|
+
CHECK;
|
|
40
|
+
THIS->set_owner(owner.is_nil() ? NULL : to<Reflex::Window*>(owner));
|
|
41
|
+
return owner;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
static
|
|
45
|
+
VALUE get_owner(VALUE self)
|
|
46
|
+
{
|
|
47
|
+
CHECK;
|
|
48
|
+
return value(THIS->owner());
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
static
|
|
52
|
+
VALUE set_alpha(VALUE self, VALUE state)
|
|
53
|
+
{
|
|
54
|
+
CHECK;
|
|
55
|
+
THIS->set_alpha(to<bool>(state));
|
|
56
|
+
return state;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
static
|
|
60
|
+
VALUE is_alpha(VALUE self)
|
|
61
|
+
{
|
|
62
|
+
CHECK;
|
|
63
|
+
return value(THIS->alpha());
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
static
|
|
67
|
+
VALUE on_color(VALUE self, VALUE event)
|
|
68
|
+
{
|
|
69
|
+
CHECK;
|
|
70
|
+
|
|
71
|
+
CALL(on_color(to<Reflex::ColorEvent*>(event)));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
static
|
|
75
|
+
VALUE on_close(VALUE self, VALUE event)
|
|
76
|
+
{
|
|
77
|
+
CHECK;
|
|
78
|
+
|
|
79
|
+
CALL(on_close(to<Reflex::Event*>(event)));
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
static Class cColorPicker;
|
|
84
|
+
|
|
85
|
+
void
|
|
86
|
+
Init_reflex_color_picker ()
|
|
87
|
+
{
|
|
88
|
+
Module mReflex = rb_define_module("Reflex");
|
|
89
|
+
|
|
90
|
+
cColorPicker = rb_define_class_under(mReflex, "ColorPicker", rb_cObject);
|
|
91
|
+
rb_define_alloc_func(cColorPicker, alloc);
|
|
92
|
+
cColorPicker.define_method("pick_color!", pick_color);
|
|
93
|
+
rb_define_method(cColorPicker, "owner=", RUBY_METHOD_FUNC(set_owner), 1);
|
|
94
|
+
rb_define_method(cColorPicker, "owner", RUBY_METHOD_FUNC(get_owner), 0);
|
|
95
|
+
rb_define_method(cColorPicker, "alpha=", RUBY_METHOD_FUNC(set_alpha), 1);
|
|
96
|
+
cColorPicker.define_method("alpha?", is_alpha);
|
|
97
|
+
rb_define_method(cColorPicker, "on_color", RUBY_METHOD_FUNC(on_color), 1);
|
|
98
|
+
rb_define_method(cColorPicker, "on_close", RUBY_METHOD_FUNC(on_close), 1);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
namespace Reflex
|
|
103
|
+
{
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
Class
|
|
107
|
+
color_picker_class ()
|
|
108
|
+
{
|
|
109
|
+
return cColorPicker;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
}// Reflex
|
|
@@ -8,7 +8,7 @@ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::ControlChangeEvent)
|
|
|
8
8
|
|
|
9
9
|
#define THIS to<Reflex::ControlChangeEvent*>(self)
|
|
10
10
|
|
|
11
|
-
#define CHECK
|
|
11
|
+
#define CHECK RUCY_CHECK_PTR(Reflex::ControlChangeEvent, self)
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
static
|
data/.doc/ext/reflex/device.cpp
CHANGED
|
@@ -8,7 +8,7 @@ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::EllipseShape)
|
|
|
8
8
|
|
|
9
9
|
#define THIS to<Reflex::EllipseShape*>(self)
|
|
10
10
|
|
|
11
|
-
#define CHECK
|
|
11
|
+
#define CHECK RUCY_CHECK_PTR(Reflex::EllipseShape, self)
|
|
12
12
|
|
|
13
13
|
#define CALL(fun) RUCY_CALL_SUPER(THIS, fun)
|
|
14
14
|
|
data/.doc/ext/reflex/event.cpp
CHANGED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
#include "reflex/ruby/file_dialog.h"
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
#include "reflex/ruby/window.h"
|
|
5
|
+
#include "defs.h"
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::FileDialog)
|
|
9
|
+
|
|
10
|
+
#define THIS to<Reflex::FileDialog*>(self)
|
|
11
|
+
|
|
12
|
+
#define CHECK RUCY_CHECK_OBJ(Reflex::FileDialog, self)
|
|
13
|
+
|
|
14
|
+
#define CALL(fun) RUCY_CALL_SUPER(THIS, fun)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
static
|
|
18
|
+
VALUE alloc(VALUE klass)
|
|
19
|
+
{
|
|
20
|
+
return value(new Reflex::RubyFileDialog<Reflex::FileDialog>, klass);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
static
|
|
24
|
+
VALUE open_file(VALUE self, VALUE dir)
|
|
25
|
+
{
|
|
26
|
+
CHECK;
|
|
27
|
+
THIS->open_file(dir.is_nil() ? NULL : dir.c_str());
|
|
28
|
+
return self;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static
|
|
32
|
+
VALUE open_files(VALUE self, VALUE dir)
|
|
33
|
+
{
|
|
34
|
+
CHECK;
|
|
35
|
+
THIS->open_files(dir.is_nil() ? NULL : dir.c_str());
|
|
36
|
+
return self;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
static
|
|
40
|
+
VALUE open_directory(VALUE self, VALUE dir)
|
|
41
|
+
{
|
|
42
|
+
CHECK;
|
|
43
|
+
THIS->open_directory(dir.is_nil() ? NULL : dir.c_str());
|
|
44
|
+
return self;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
static
|
|
48
|
+
VALUE save_file(VALUE self, VALUE dir, VALUE name)
|
|
49
|
+
{
|
|
50
|
+
CHECK;
|
|
51
|
+
THIS->save_file(
|
|
52
|
+
dir.is_nil() ? NULL : dir.c_str(),
|
|
53
|
+
name.is_nil() ? NULL : name.c_str());
|
|
54
|
+
return self;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
static
|
|
58
|
+
VALUE set_owner(VALUE self, VALUE owner)
|
|
59
|
+
{
|
|
60
|
+
CHECK;
|
|
61
|
+
THIS->set_owner(owner.is_nil() ? NULL : to<Reflex::Window*>(owner));
|
|
62
|
+
return owner;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
static
|
|
66
|
+
VALUE get_owner(VALUE self)
|
|
67
|
+
{
|
|
68
|
+
CHECK;
|
|
69
|
+
return value(THIS->owner());
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
static
|
|
73
|
+
VALUE set_title(VALUE self, VALUE title)
|
|
74
|
+
{
|
|
75
|
+
CHECK;
|
|
76
|
+
THIS->set_title(title.c_str());
|
|
77
|
+
return title;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
static
|
|
81
|
+
VALUE get_title(VALUE self)
|
|
82
|
+
{
|
|
83
|
+
CHECK;
|
|
84
|
+
return value(THIS->title());
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
static
|
|
88
|
+
VALUE set_extensions(VALUE self, VALUE extensions)
|
|
89
|
+
{
|
|
90
|
+
CHECK;
|
|
91
|
+
|
|
92
|
+
Reflex::StringList list;
|
|
93
|
+
if (extensions.is_nil())
|
|
94
|
+
;// emplace nothing
|
|
95
|
+
else if (extensions.is_s() || extensions.is_sym())
|
|
96
|
+
list.emplace_back(extensions.c_str());
|
|
97
|
+
else if (extensions.is_array())
|
|
98
|
+
{
|
|
99
|
+
size_t size = extensions.size();
|
|
100
|
+
for (size_t i = 0; i < size; ++i)
|
|
101
|
+
{
|
|
102
|
+
if (!extensions[i].is_s() && !extensions[i].is_sym())
|
|
103
|
+
argument_error(__FILE__, __LINE__);
|
|
104
|
+
|
|
105
|
+
list.emplace_back(extensions[i].c_str());
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
else
|
|
109
|
+
argument_error(__FILE__, __LINE__);
|
|
110
|
+
|
|
111
|
+
THIS->set_extensions(list);
|
|
112
|
+
return extensions;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
static
|
|
116
|
+
VALUE get_extensions(VALUE self)
|
|
117
|
+
{
|
|
118
|
+
CHECK;
|
|
119
|
+
|
|
120
|
+
const auto& extensions = THIS->extensions();
|
|
121
|
+
|
|
122
|
+
Value values = array(NULL, extensions.size());
|
|
123
|
+
for (const auto& extension : extensions)
|
|
124
|
+
values.push(extension.c_str());
|
|
125
|
+
|
|
126
|
+
return values;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
static
|
|
130
|
+
VALUE on_file(VALUE self, VALUE event)
|
|
131
|
+
{
|
|
132
|
+
CHECK;
|
|
133
|
+
|
|
134
|
+
CALL(on_file(to<Reflex::FileEvent*>(event)));
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
static
|
|
138
|
+
VALUE on_cancel(VALUE self, VALUE event)
|
|
139
|
+
{
|
|
140
|
+
CHECK;
|
|
141
|
+
|
|
142
|
+
CALL(on_cancel(to<Reflex::Event*>(event)));
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
static Class cFileDialog;
|
|
147
|
+
|
|
148
|
+
void
|
|
149
|
+
Init_reflex_file_dialog ()
|
|
150
|
+
{
|
|
151
|
+
Module mReflex = rb_define_module("Reflex");
|
|
152
|
+
|
|
153
|
+
cFileDialog = rb_define_class_under(mReflex, "FileDialog", rb_cObject);
|
|
154
|
+
rb_define_alloc_func(cFileDialog, alloc);
|
|
155
|
+
cFileDialog.define_method("open_file!", open_file);
|
|
156
|
+
cFileDialog.define_method("open_files!", open_files);
|
|
157
|
+
cFileDialog.define_method("open_directory!", open_directory);
|
|
158
|
+
cFileDialog.define_method("save_file!", save_file);
|
|
159
|
+
rb_define_method(cFileDialog, "owner=", RUBY_METHOD_FUNC(set_owner), 1);
|
|
160
|
+
rb_define_method(cFileDialog, "owner", RUBY_METHOD_FUNC(get_owner), 0);
|
|
161
|
+
rb_define_method(cFileDialog, "title=", RUBY_METHOD_FUNC(set_title), 1);
|
|
162
|
+
rb_define_method(cFileDialog, "title", RUBY_METHOD_FUNC(get_title), 0);
|
|
163
|
+
rb_define_method(cFileDialog, "extensions=", RUBY_METHOD_FUNC(set_extensions), 1);
|
|
164
|
+
rb_define_method(cFileDialog, "extensions", RUBY_METHOD_FUNC(get_extensions), 0);
|
|
165
|
+
rb_define_method(cFileDialog, "on_file", RUBY_METHOD_FUNC(on_file), 1);
|
|
166
|
+
rb_define_method(cFileDialog, "on_cancel", RUBY_METHOD_FUNC(on_cancel), 1);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
namespace Reflex
|
|
171
|
+
{
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
Class
|
|
175
|
+
file_dialog_class ()
|
|
176
|
+
{
|
|
177
|
+
return cFileDialog;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
}// Reflex
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
#include "reflex/ruby/event.h"
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
#include "defs.h"
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::FileEvent)
|
|
8
|
+
|
|
9
|
+
#define THIS to<Reflex::FileEvent*>(self)
|
|
10
|
+
|
|
11
|
+
#define CHECK RUCY_CHECK_PTR(Reflex::FileEvent, self)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
static
|
|
15
|
+
VALUE alloc(VALUE klass)
|
|
16
|
+
{
|
|
17
|
+
return new_type<Reflex::FileEvent>(klass);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static
|
|
21
|
+
VALUE initialize(VALUE self, VALUE action, VALUE paths)
|
|
22
|
+
{
|
|
23
|
+
CHECK;
|
|
24
|
+
|
|
25
|
+
if (!paths.is_array())
|
|
26
|
+
argument_error(__FILE__, __LINE__);
|
|
27
|
+
|
|
28
|
+
Reflex::StringList list;
|
|
29
|
+
int size = paths.size();
|
|
30
|
+
for (int i = 0; i < size; ++i)
|
|
31
|
+
{
|
|
32
|
+
if (paths[i].is_nil())
|
|
33
|
+
argument_error(__FILE__, __LINE__);
|
|
34
|
+
|
|
35
|
+
list.emplace_back(paths[i].c_str());
|
|
36
|
+
}
|
|
37
|
+
*THIS = Reflex::FileEvent((Reflex::FileEvent::Action) to<uint>(action), list);
|
|
38
|
+
|
|
39
|
+
return rb_call_super(0, NULL);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
static
|
|
43
|
+
VALUE initialize_copy(VALUE self, VALUE obj)
|
|
44
|
+
{
|
|
45
|
+
CHECK;
|
|
46
|
+
*THIS = to<Reflex::FileEvent&>(obj).dup();
|
|
47
|
+
return self;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
static
|
|
51
|
+
VALUE get_action(VALUE self)
|
|
52
|
+
{
|
|
53
|
+
CHECK;
|
|
54
|
+
return value(THIS->action());
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
static
|
|
58
|
+
VALUE get_paths(VALUE self)
|
|
59
|
+
{
|
|
60
|
+
CHECK;
|
|
61
|
+
|
|
62
|
+
const Reflex::StringList& paths = THIS->paths();
|
|
63
|
+
|
|
64
|
+
Value values = array(NULL, paths.size());
|
|
65
|
+
for (const auto& path : paths)
|
|
66
|
+
values.push(path.c_str());
|
|
67
|
+
|
|
68
|
+
return values;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
static Class cFileEvent;
|
|
73
|
+
|
|
74
|
+
void
|
|
75
|
+
Init_reflex_file_event ()
|
|
76
|
+
{
|
|
77
|
+
Module mReflex = rb_define_module("Reflex");
|
|
78
|
+
|
|
79
|
+
cFileEvent = mReflex.define_class("FileEvent", Reflex::event_class());
|
|
80
|
+
rb_define_alloc_func(cFileEvent, alloc);
|
|
81
|
+
rb_define_private_method(cFileEvent, "initialize", RUBY_METHOD_FUNC(initialize), 2);
|
|
82
|
+
rb_define_private_method(cFileEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
|
|
83
|
+
rb_define_method(cFileEvent, "action", RUBY_METHOD_FUNC(get_action), 0);
|
|
84
|
+
rb_define_method(cFileEvent, "paths", RUBY_METHOD_FUNC(get_paths), 0);
|
|
85
|
+
|
|
86
|
+
cFileEvent.define_const("ACTION_NONE", Reflex::FileEvent::ACTION_NONE);
|
|
87
|
+
cFileEvent.define_const("OPEN", Reflex::FileEvent::OPEN);
|
|
88
|
+
cFileEvent.define_const("SAVE", Reflex::FileEvent::SAVE);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
namespace Reflex
|
|
93
|
+
{
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
Class
|
|
97
|
+
file_event_class ()
|
|
98
|
+
{
|
|
99
|
+
return cFileEvent;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
}// Reflex
|
data/.doc/ext/reflex/filter.cpp
CHANGED
|
@@ -10,7 +10,7 @@ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::Filter)
|
|
|
10
10
|
|
|
11
11
|
#define THIS to<Reflex::Filter*>(self)
|
|
12
12
|
|
|
13
|
-
#define CHECK
|
|
13
|
+
#define CHECK RUCY_CHECK_PTR(Reflex::Filter, self)
|
|
14
14
|
|
|
15
15
|
#define CALL(fun) RUCY_CALL_SUPER(THIS, fun)
|
|
16
16
|
|