reflexion 0.5.3 → 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 +56 -7
- data/.doc/ext/reflex/capture_event.cpp +1 -1
- data/.doc/ext/reflex/chase_constraint.cpp +84 -0
- data/.doc/ext/reflex/clipboard.cpp +65 -0
- data/.doc/ext/reflex/color_event.cpp +76 -0
- data/.doc/ext/reflex/color_picker.cpp +113 -0
- data/.doc/ext/reflex/constraint.cpp +135 -0
- 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 +178 -0
- data/.doc/ext/reflex/menu.cpp +303 -0
- 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 +40 -10
- data/.doc/ext/reflex/note_event.cpp +1 -1
- data/.doc/ext/reflex/pin.cpp +156 -0
- data/.doc/ext/reflex/pointer.cpp +3 -1
- data/.doc/ext/reflex/pointer_event.cpp +3 -3
- data/.doc/ext/reflex/polygon_shape.cpp +1 -1
- data/.doc/ext/reflex/rect_shape.cpp +1 -1
- data/.doc/ext/reflex/reflex.cpp +606 -237
- data/.doc/ext/reflex/screen.cpp +27 -1
- data/.doc/ext/reflex/scroll_event.cpp +1 -1
- data/.doc/ext/reflex/selector.cpp +5 -5
- data/.doc/ext/reflex/shape.cpp +1 -1
- data/.doc/ext/reflex/snap_constraint.cpp +125 -0
- data/.doc/ext/reflex/style.cpp +1 -1
- data/.doc/ext/reflex/style_length.cpp +4 -3
- 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 +206 -79
- data/.doc/ext/reflex/wheel_constraint.cpp +142 -0
- data/.doc/ext/reflex/wheel_event.cpp +1 -1
- data/.doc/ext/reflex/window.cpp +282 -31
- data/.github/workflows/release-gem.yml +2 -40
- data/.github/workflows/tag.yml +5 -28
- data/.github/workflows/test.yml +1 -28
- data/ChangeLog.md +79 -0
- data/Gemfile.lock +13 -8
- data/README.md +1 -0
- data/Rakefile +13 -2
- data/Reflex.podspec +2 -2
- data/VERSION +1 -1
- data/ext/reflex/application.cpp +62 -7
- data/ext/reflex/capture_event.cpp +1 -1
- data/ext/reflex/chase_constraint.cpp +89 -0
- data/ext/reflex/clipboard.cpp +69 -0
- data/ext/reflex/color_event.cpp +80 -0
- data/ext/reflex/color_picker.cpp +121 -0
- data/ext/reflex/constraint.cpp +146 -0
- 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 +194 -0
- data/ext/reflex/menu.cpp +331 -0
- 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 +40 -10
- data/ext/reflex/note_event.cpp +1 -1
- data/ext/reflex/pin.cpp +165 -0
- data/ext/reflex/pointer.cpp +3 -1
- data/ext/reflex/pointer_event.cpp +3 -3
- data/ext/reflex/polygon_shape.cpp +1 -1
- data/ext/reflex/rect_shape.cpp +1 -1
- data/ext/reflex/reflex.cpp +608 -237
- data/ext/reflex/screen.cpp +31 -2
- data/ext/reflex/scroll_event.cpp +1 -1
- data/ext/reflex/selector.cpp +5 -5
- data/ext/reflex/selector.h +10 -10
- data/ext/reflex/shape.cpp +1 -1
- data/ext/reflex/snap_constraint.cpp +135 -0
- data/ext/reflex/style.cpp +1 -1
- data/ext/reflex/style_length.cpp +4 -3
- 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 +236 -96
- data/ext/reflex/wheel_constraint.cpp +154 -0
- data/ext/reflex/wheel_event.cpp +1 -1
- data/ext/reflex/window.cpp +318 -40
- data/include/reflex/application.h +19 -0
- data/include/reflex/clipboard.h +53 -0
- data/include/reflex/color_picker.h +65 -0
- data/include/reflex/constraint.h +275 -0
- data/include/reflex/defs.h +204 -195
- data/include/reflex/event.h +180 -88
- data/include/reflex/file_dialog.h +73 -0
- data/include/reflex/gamepad.h +3 -0
- data/include/reflex/menu.h +120 -0
- data/include/reflex/midi.h +3 -0
- data/include/reflex/pin.h +68 -0
- data/include/reflex/pointer.h +4 -0
- data/include/reflex/reflex.h +2 -0
- data/include/reflex/ruby/application.h +6 -1
- data/include/reflex/ruby/clipboard.h +23 -0
- data/include/reflex/ruby/color_picker.h +89 -0
- data/include/reflex/ruby/constraint.h +94 -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/menu.h +103 -0
- data/include/reflex/ruby/pin.h +40 -0
- data/include/reflex/ruby/reflex.h +3 -0
- data/include/reflex/ruby/view.h +123 -39
- data/include/reflex/ruby/window.h +96 -19
- data/include/reflex/ruby.h +3 -0
- data/include/reflex/screen.h +11 -2
- data/include/reflex/view.h +66 -27
- data/include/reflex/window.h +57 -12
- data/include/reflex.h +8 -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/chase_constraint.rb +15 -0
- data/lib/reflex/clipboard.rb +19 -0
- data/lib/reflex/color_event.rb +16 -0
- data/lib/reflex/color_picker.rb +45 -0
- data/lib/reflex/constraint.rb +29 -0
- data/lib/reflex/control_change_event.rb +17 -0
- data/lib/reflex/extension.rb +1 -1
- data/lib/reflex/file_dialog.rb +70 -0
- data/lib/reflex/file_event.rb +37 -0
- data/lib/reflex/helper.rb +79 -0
- data/lib/reflex/key_event.rb +14 -14
- data/lib/reflex/link_constraint.rb +31 -0
- data/lib/reflex/menu.rb +92 -0
- data/lib/reflex/model.rb +19 -19
- data/lib/reflex/note_event.rb +1 -1
- data/lib/reflex/pin.rb +39 -0
- data/lib/reflex/pointer.rb +30 -1
- data/lib/reflex/pointer_event.rb +13 -2
- data/lib/reflex/reflex.rb +5 -0
- data/lib/reflex/shape.rb +14 -14
- data/lib/reflex/snap_constraint.rb +28 -0
- 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 +85 -18
- data/lib/reflex/wheel_constraint.rb +28 -0
- data/lib/reflex/wheel_event.rb +19 -1
- data/lib/reflex/window.rb +25 -13
- data/lib/reflex.rb +23 -8
- data/pod.rake +1 -1
- data/reflex.gemspec +4 -4
- data/samples/constraint.rb +152 -0
- data/samples/ime.rb +100 -0
- data/samples/ios/hello/hello.xcodeproj/project.pbxproj +236 -224
- data/samples/menu.rb +32 -0
- 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 +180 -20
- data/src/application.h +95 -5
- data/src/clipboard.cpp +81 -0
- data/src/color_picker.cpp +113 -0
- data/src/color_picker.h +36 -0
- data/src/constraint.cpp +1662 -0
- data/src/constraint.h +64 -0
- data/src/event.cpp +416 -252
- data/src/event.h +13 -2
- 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 +29 -0
- data/src/ios/clipboard.mm +44 -0
- data/src/ios/color_picker.mm +19 -0
- data/src/ios/event.h +6 -2
- data/src/ios/event.mm +31 -12
- data/src/ios/file_dialog.mm +21 -0
- data/src/ios/gamepad.mm +4 -4
- data/src/ios/menu.mm +41 -0
- data/src/ios/reflex.mm +8 -0
- data/src/ios/screen.mm +26 -0
- data/src/ios/view_controller.mm +47 -42
- data/src/ios/window.mm +44 -9
- data/src/menu.cpp +387 -0
- data/src/menu.h +81 -0
- data/src/midi.cpp +61 -31
- data/src/osx/app_delegate.h +4 -0
- data/src/osx/app_delegate.mm +168 -139
- data/src/osx/application.mm +103 -5
- data/src/osx/clipboard.mm +45 -0
- data/src/osx/color_picker.mm +112 -0
- data/src/osx/event.h +10 -0
- data/src/osx/event.mm +114 -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.h +25 -0
- data/src/osx/menu.mm +516 -0
- data/src/osx/native_window.h +16 -2
- data/src/osx/native_window.mm +141 -57
- data/src/osx/opengl_view.h +2 -1
- data/src/osx/opengl_view.mm +229 -37
- data/src/osx/reflex.mm +38 -0
- data/src/osx/screen.mm +36 -0
- data/src/osx/window.mm +117 -24
- data/src/pin.cpp +137 -0
- data/src/pointer.cpp +36 -16
- data/src/pointer.h +10 -0
- data/src/rays.h +46 -0
- data/src/sdl/application.cpp +73 -8
- data/src/sdl/clipboard.cpp +39 -0
- data/src/sdl/color_picker.cpp +18 -0
- data/src/sdl/event.cpp +44 -6
- data/src/sdl/event.h +18 -3
- data/src/sdl/file_dialog.cpp +20 -0
- data/src/sdl/gamepad.cpp +3 -7
- data/src/sdl/menu.cpp +40 -0
- data/src/sdl/reflex.cpp +20 -0
- data/src/sdl/screen.cpp +36 -0
- data/src/sdl/window.cpp +168 -37
- data/src/shape.cpp +15 -10
- data/src/view.cpp +583 -233
- data/src/view.h +22 -4
- data/src/vk.h +416 -0
- data/src/win32/application.cpp +167 -12
- data/src/win32/application.h +20 -0
- data/src/win32/clipboard.cpp +210 -0
- data/src/win32/color_picker.cpp +82 -0
- data/src/win32/event.cpp +123 -11
- data/src/win32/event.h +22 -3
- data/src/win32/file_dialog.cpp +226 -0
- data/src/win32/gamepad.cpp +9 -2
- data/src/win32/menu.cpp +490 -0
- data/src/win32/menu.h +35 -0
- 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 +858 -135
- data/src/win32/window.h +9 -0
- data/src/window.cpp +929 -183
- data/src/window.h +77 -33
- data/src/world.cpp +86 -15
- data/src/world.h +9 -2
- data/test/helper.rb +24 -0
- data/test/test_application.rb +101 -1
- data/test/test_chase_constraint.rb +122 -0
- data/test/test_clipboard.rb +54 -0
- data/test/test_color_event.rb +36 -0
- data/test/test_color_picker.rb +62 -0
- data/test/test_constraint.rb +184 -0
- 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 +23 -2
- data/test/test_link_constraint.rb +237 -0
- data/test/test_menu.rb +237 -0
- data/test/test_pin.rb +65 -0
- data/test/test_pointer.rb +50 -26
- data/test/test_pointer_event.rb +25 -10
- data/test/test_reflex.rb +36 -0
- data/test/test_screen.rb +24 -2
- data/test/test_snap_constraint.rb +140 -0
- data/test/test_text_event.rb +54 -0
- data/test/test_view.rb +152 -25
- data/test/test_wheel_constraint.rb +125 -0
- data/test/test_wheel_event.rb +24 -10
- data/test/test_window.rb +205 -43
- metadata +154 -10
- data/.github/workflows/utils.rb +0 -127
data/.doc/ext/reflex/screen.cpp
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#include "reflex/ruby/screen.h"
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
#include <ranges>
|
|
4
5
|
#include <rays/ruby/bounds.h>
|
|
5
6
|
#include "defs.h"
|
|
6
7
|
|
|
@@ -9,7 +10,7 @@ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::Screen)
|
|
|
9
10
|
|
|
10
11
|
#define THIS to<Reflex::Screen*>(self)
|
|
11
12
|
|
|
12
|
-
#define CHECK
|
|
13
|
+
#define CHECK RUCY_CHECK_OBJ(Reflex::Screen, self)
|
|
13
14
|
|
|
14
15
|
|
|
15
16
|
static
|
|
@@ -18,6 +19,13 @@ VALUE alloc(VALUE klass)
|
|
|
18
19
|
Reflex::reflex_error(__FILE__, __LINE__, "can not instantiate Screen class.");
|
|
19
20
|
}
|
|
20
21
|
|
|
22
|
+
static
|
|
23
|
+
VALUE get_name(VALUE self)
|
|
24
|
+
{
|
|
25
|
+
CHECK;
|
|
26
|
+
return value(THIS->name());
|
|
27
|
+
}
|
|
28
|
+
|
|
21
29
|
static
|
|
22
30
|
VALUE get_frame(VALUE self)
|
|
23
31
|
{
|
|
@@ -25,6 +33,21 @@ VALUE get_frame(VALUE self)
|
|
|
25
33
|
return value(THIS->frame());
|
|
26
34
|
}
|
|
27
35
|
|
|
36
|
+
static
|
|
37
|
+
VALUE get_pixel_density(VALUE self)
|
|
38
|
+
{
|
|
39
|
+
CHECK;
|
|
40
|
+
return value(THIS->pixel_density());
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static
|
|
44
|
+
VALUE get_all(VALUE self)
|
|
45
|
+
{
|
|
46
|
+
auto list = Reflex::Screen::all() |
|
|
47
|
+
std::views::transform([](const Reflex::Screen& s) {return value(s);});
|
|
48
|
+
return array(list.begin(), list.end());
|
|
49
|
+
}
|
|
50
|
+
|
|
28
51
|
|
|
29
52
|
static Class cScreen;
|
|
30
53
|
|
|
@@ -35,7 +58,10 @@ Init_reflex_screen ()
|
|
|
35
58
|
|
|
36
59
|
cScreen = rb_define_class_under(mReflex, "Screen", rb_cObject);
|
|
37
60
|
rb_define_alloc_func(cScreen, alloc);
|
|
61
|
+
rb_define_method(cScreen, "name", RUBY_METHOD_FUNC(get_name), 0);
|
|
38
62
|
rb_define_method(cScreen, "frame", RUBY_METHOD_FUNC(get_frame), 0);
|
|
63
|
+
rb_define_method(cScreen, "pixel_density", RUBY_METHOD_FUNC(get_pixel_density), 0);
|
|
64
|
+
rb_define_singleton_method(cScreen, "all", RUBY_METHOD_FUNC(get_all), 0);
|
|
39
65
|
}
|
|
40
66
|
|
|
41
67
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
#include "reflex/ruby/selector.h"
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
#include <assert.h>
|
|
5
4
|
#include "defs.h"
|
|
6
5
|
|
|
7
6
|
|
|
@@ -10,7 +9,7 @@ RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(REFLEX_EXPORT, Reflex::Selector)
|
|
|
10
9
|
#define THIS to< Reflex::Selector*>(self)
|
|
11
10
|
#define C_THIS to<const Reflex::Selector*>(self)
|
|
12
11
|
|
|
13
|
-
#define CHECK
|
|
12
|
+
#define CHECK RUCY_CHECK_PTR(Reflex::Selector, self)
|
|
14
13
|
|
|
15
14
|
|
|
16
15
|
static
|
|
@@ -78,7 +77,7 @@ VALUE each_tag(VALUE self)
|
|
|
78
77
|
Value ret;
|
|
79
78
|
Reflex::Selector::const_iterator end = C_THIS->end();
|
|
80
79
|
for (Reflex::Selector::const_iterator it = C_THIS->begin(); it != end; ++it)
|
|
81
|
-
ret =
|
|
80
|
+
ret = yield(value(*it));
|
|
82
81
|
return ret;
|
|
83
82
|
}
|
|
84
83
|
|
|
@@ -134,13 +133,14 @@ namespace Rucy
|
|
|
134
133
|
template <> REFLEX_EXPORT Reflex::Selector
|
|
135
134
|
value_to<Reflex::Selector> (int argc, const Value* argv, bool convert)
|
|
136
135
|
{
|
|
137
|
-
if (argc == 1 && argv->is_array())
|
|
136
|
+
if (argc == 1 && argv && argv->is_array())
|
|
138
137
|
{
|
|
139
138
|
argc = argv->size();
|
|
140
139
|
argv = argv->as_array();
|
|
141
140
|
}
|
|
142
141
|
|
|
143
|
-
|
|
142
|
+
if (argc <= 0 || !argv)
|
|
143
|
+
argument_error(__FILE__, __LINE__);
|
|
144
144
|
|
|
145
145
|
if (convert)
|
|
146
146
|
{
|
data/.doc/ext/reflex/shape.cpp
CHANGED
|
@@ -12,7 +12,7 @@ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::Shape)
|
|
|
12
12
|
|
|
13
13
|
#define THIS to<Reflex::Shape*>(self)
|
|
14
14
|
|
|
15
|
-
#define CHECK
|
|
15
|
+
#define CHECK RUCY_CHECK_PTR(Reflex::Shape, self)
|
|
16
16
|
|
|
17
17
|
#define CALL(fun) RUCY_CALL_SUPER(THIS, fun)
|
|
18
18
|
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
#include "reflex/ruby/constraint.h"
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
#include "reflex/exception.h"
|
|
5
|
+
#include "defs.h"
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::SnapConstraint)
|
|
9
|
+
|
|
10
|
+
#define THIS to<Reflex::SnapConstraint*>(self)
|
|
11
|
+
|
|
12
|
+
#define CHECK RUCY_CHECK_PTR(Reflex::SnapConstraint, self)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
static
|
|
16
|
+
VALUE alloc(VALUE klass)
|
|
17
|
+
{
|
|
18
|
+
Reflex::reflex_error(
|
|
19
|
+
__FILE__, __LINE__, "can not instantiate SnapConstraint class");
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static
|
|
23
|
+
VALUE set_angle(VALUE self, VALUE min, VALUE max)
|
|
24
|
+
{
|
|
25
|
+
CHECK;
|
|
26
|
+
THIS->set_angle(to<float>(min), to<float>(max));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
static
|
|
30
|
+
VALUE clear_angle(VALUE self)
|
|
31
|
+
{
|
|
32
|
+
CHECK;
|
|
33
|
+
THIS->clear_angle();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static
|
|
37
|
+
VALUE angle_min(VALUE self)
|
|
38
|
+
{
|
|
39
|
+
CHECK;
|
|
40
|
+
return value(THIS->angle_min());
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static
|
|
44
|
+
VALUE angle_max(VALUE self)
|
|
45
|
+
{
|
|
46
|
+
CHECK;
|
|
47
|
+
return value(THIS->angle_max());
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
static
|
|
51
|
+
VALUE has_angle(VALUE self)
|
|
52
|
+
{
|
|
53
|
+
CHECK;
|
|
54
|
+
return value(THIS->has_angle());
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
static
|
|
58
|
+
VALUE set_motor(VALUE self, VALUE degrees_per_second)
|
|
59
|
+
{
|
|
60
|
+
CHECK;
|
|
61
|
+
|
|
62
|
+
if (degrees_per_second.is_nil())
|
|
63
|
+
THIS->clear_motor();
|
|
64
|
+
else
|
|
65
|
+
THIS->set_motor(to<float>(degrees_per_second));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
static
|
|
69
|
+
VALUE get_motor(VALUE self)
|
|
70
|
+
{
|
|
71
|
+
CHECK;
|
|
72
|
+
return THIS->has_motor() ? value(THIS->motor()) : nil();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
static
|
|
76
|
+
VALUE set_force(VALUE self, VALUE max_torque)
|
|
77
|
+
{
|
|
78
|
+
CHECK;
|
|
79
|
+
if (max_torque.is_nil())
|
|
80
|
+
THIS->clear_force();
|
|
81
|
+
else
|
|
82
|
+
THIS->set_force(to<float>(max_torque));
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
static
|
|
86
|
+
VALUE get_force(VALUE self)
|
|
87
|
+
{
|
|
88
|
+
CHECK;
|
|
89
|
+
return THIS->has_force() ? value(THIS->force()) : nil();
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
static Class cSnapConstraint;
|
|
94
|
+
|
|
95
|
+
void
|
|
96
|
+
Init_reflex_snap_constraint ()
|
|
97
|
+
{
|
|
98
|
+
Module mReflex = rb_define_module("Reflex");
|
|
99
|
+
|
|
100
|
+
cSnapConstraint = mReflex.define_class("SnapConstraint", Reflex::constraint_class());
|
|
101
|
+
rb_define_alloc_func(cSnapConstraint, alloc);
|
|
102
|
+
cSnapConstraint.define_private_method( "set_angle!", set_angle);
|
|
103
|
+
cSnapConstraint.define_private_method("clear_angle!", clear_angle);
|
|
104
|
+
cSnapConstraint.define_private_method( "angle_min!", angle_min);
|
|
105
|
+
cSnapConstraint.define_private_method( "angle_max!", angle_max);
|
|
106
|
+
cSnapConstraint.define_private_method( "has_angle!", has_angle);
|
|
107
|
+
rb_define_method(cSnapConstraint, "motor=", RUBY_METHOD_FUNC(set_motor), 1);
|
|
108
|
+
rb_define_method(cSnapConstraint, "motor", RUBY_METHOD_FUNC(get_motor), 0);
|
|
109
|
+
rb_define_method(cSnapConstraint, "force=", RUBY_METHOD_FUNC(set_force), 1);
|
|
110
|
+
rb_define_method(cSnapConstraint, "force", RUBY_METHOD_FUNC(get_force), 0);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
namespace Reflex
|
|
115
|
+
{
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
Class
|
|
119
|
+
snap_constraint_class ()
|
|
120
|
+
{
|
|
121
|
+
return cSnapConstraint;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
}// Reflex
|
data/.doc/ext/reflex/style.cpp
CHANGED
|
@@ -13,7 +13,7 @@ RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::Style)
|
|
|
13
13
|
#define THIS to< Reflex::Style*>(self)
|
|
14
14
|
#define C_THIS to<const Reflex::Style*>(self)
|
|
15
15
|
|
|
16
|
-
#define CHECK
|
|
16
|
+
#define CHECK RUCY_CHECK_PTR(Reflex::Style, self)
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
static
|
|
@@ -9,7 +9,7 @@ RUCY_DEFINE_VALUE_OR_ARRAY_FROM_TO(REFLEX_EXPORT, Reflex::StyleLength)
|
|
|
9
9
|
|
|
10
10
|
#define THIS to<Reflex::StyleLength*>(self)
|
|
11
11
|
|
|
12
|
-
#define CHECK
|
|
12
|
+
#define CHECK RUCY_CHECK_PTR(Reflex::StyleLength, self)
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
static
|
|
@@ -213,13 +213,14 @@ namespace Rucy
|
|
|
213
213
|
template <> REFLEX_EXPORT Reflex::StyleLength
|
|
214
214
|
value_to<Reflex::StyleLength> (int argc, const Value* argv, bool convert)
|
|
215
215
|
{
|
|
216
|
-
if (argc == 1 && argv->is_array())
|
|
216
|
+
if (argc == 1 && argv && argv->is_array())
|
|
217
217
|
{
|
|
218
218
|
argc = argv->size();
|
|
219
219
|
argv = argv->as_array();
|
|
220
220
|
}
|
|
221
221
|
|
|
222
|
-
|
|
222
|
+
if (argc <= 0 || !argv)
|
|
223
|
+
argument_error(__FILE__, __LINE__);
|
|
223
224
|
|
|
224
225
|
if (convert)
|
|
225
226
|
{
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
#include "reflex/ruby/event.h"
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
#include "defs.h"
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
RUCY_DEFINE_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::TextEvent)
|
|
8
|
+
|
|
9
|
+
#define THIS to<Reflex::TextEvent*>(self)
|
|
10
|
+
|
|
11
|
+
#define CHECK RUCY_CHECK_PTR(Reflex::TextEvent, self)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
static
|
|
15
|
+
VALUE alloc(VALUE klass)
|
|
16
|
+
{
|
|
17
|
+
return new_type<Reflex::TextEvent>(klass);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static
|
|
21
|
+
VALUE initialize(VALUE self, VALUE action, VALUE text, VALUE selection_offset, VALUE selection_size)
|
|
22
|
+
{
|
|
23
|
+
CHECK;
|
|
24
|
+
|
|
25
|
+
*THIS = Reflex::TextEvent(
|
|
26
|
+
(Reflex::TextEvent::Action) to<uint>(action),
|
|
27
|
+
text.is_nil() ? "" : text.c_str(),
|
|
28
|
+
to<int>(selection_offset),
|
|
29
|
+
to<int>(selection_size));
|
|
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::TextEvent&>(obj).dup();
|
|
39
|
+
return self;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
static
|
|
43
|
+
VALUE get_action(VALUE self)
|
|
44
|
+
{
|
|
45
|
+
CHECK;
|
|
46
|
+
return value(THIS->action());
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
static
|
|
50
|
+
VALUE get_text(VALUE self)
|
|
51
|
+
{
|
|
52
|
+
CHECK;
|
|
53
|
+
return value(THIS->text());
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
static
|
|
57
|
+
VALUE get_selection_offset(VALUE self)
|
|
58
|
+
{
|
|
59
|
+
CHECK;
|
|
60
|
+
return value(THIS->selection_offset());
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
static
|
|
64
|
+
VALUE get_selection_size(VALUE self)
|
|
65
|
+
{
|
|
66
|
+
CHECK;
|
|
67
|
+
return value(THIS->selection_size());
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
static Class cTextEvent;
|
|
72
|
+
|
|
73
|
+
void
|
|
74
|
+
Init_reflex_text_event ()
|
|
75
|
+
{
|
|
76
|
+
Module mReflex = rb_define_module("Reflex");
|
|
77
|
+
|
|
78
|
+
cTextEvent = mReflex.define_class("TextEvent", Reflex::event_class());
|
|
79
|
+
rb_define_alloc_func(cTextEvent, alloc);
|
|
80
|
+
rb_define_private_method(cTextEvent, "initialize", RUBY_METHOD_FUNC(initialize), 4);
|
|
81
|
+
rb_define_private_method(cTextEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
|
|
82
|
+
rb_define_method(cTextEvent, "action", RUBY_METHOD_FUNC(get_action), 0);
|
|
83
|
+
rb_define_method(cTextEvent, "text", RUBY_METHOD_FUNC(get_text), 0);
|
|
84
|
+
cTextEvent.define_private_method("selection_offset!", get_selection_offset);
|
|
85
|
+
cTextEvent.define_private_method("selection_size!", get_selection_size);
|
|
86
|
+
|
|
87
|
+
cTextEvent.define_const("ACTION_NONE", Reflex::TextEvent::ACTION_NONE);
|
|
88
|
+
cTextEvent.define_const("PREEDIT", Reflex::TextEvent::PREEDIT);
|
|
89
|
+
cTextEvent.define_const("COMMIT", Reflex::TextEvent::COMMIT);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
namespace Reflex
|
|
94
|
+
{
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
Class
|
|
98
|
+
text_event_class ()
|
|
99
|
+
{
|
|
100
|
+
return cTextEvent;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
}// Reflex
|
data/.doc/ext/reflex/timer.cpp
CHANGED
|
@@ -12,7 +12,7 @@ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(REFLEX_EXPORT, Reflex::Timer)
|
|
|
12
12
|
|
|
13
13
|
#define THIS to<Reflex::Timer*>(self)
|
|
14
14
|
|
|
15
|
-
#define CHECK
|
|
15
|
+
#define CHECK RUCY_CHECK_PTR(Reflex::Timer, self)
|
|
16
16
|
|
|
17
17
|
#define CALL(fun) RUCY_CALL_SUPER(THIS, fun)
|
|
18
18
|
|