reflexion 0.1.6 → 0.1.7

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.
Files changed (225) hide show
  1. checksums.yaml +7 -0
  2. data/.doc/ext/reflex/application.cpp +54 -39
  3. data/.doc/ext/reflex/capture_event.cpp +87 -0
  4. data/.doc/ext/reflex/draw_event.cpp +103 -0
  5. data/.doc/ext/reflex/event.cpp +73 -0
  6. data/.doc/ext/reflex/focus_event.cpp +98 -0
  7. data/.doc/ext/reflex/frame_event.cpp +133 -0
  8. data/.doc/ext/reflex/image_view.cpp +74 -0
  9. data/.doc/ext/reflex/key_event.cpp +124 -0
  10. data/.doc/ext/reflex/native.cpp +45 -6
  11. data/.doc/ext/reflex/pointer_event.cpp +181 -0
  12. data/.doc/ext/reflex/reflex.cpp +17 -41
  13. data/.doc/ext/reflex/scroll_event.cpp +141 -0
  14. data/.doc/ext/reflex/selector.cpp +135 -0
  15. data/.doc/ext/reflex/style.cpp +253 -0
  16. data/.doc/ext/reflex/style_length.cpp +133 -0
  17. data/.doc/ext/reflex/style_length2.cpp +149 -0
  18. data/.doc/ext/reflex/style_length4.cpp +192 -0
  19. data/.doc/ext/reflex/update_event.cpp +77 -0
  20. data/.doc/ext/reflex/view.cpp +408 -88
  21. data/.doc/ext/reflex/wheel_event.cpp +146 -0
  22. data/.doc/ext/reflex/window.cpp +95 -92
  23. data/Rakefile +6 -5
  24. data/VERSION +1 -1
  25. data/ext/reflex/application.cpp +67 -49
  26. data/ext/reflex/capture_event.cpp +92 -0
  27. data/ext/reflex/draw_event.cpp +110 -0
  28. data/ext/reflex/event.cpp +77 -0
  29. data/ext/reflex/extconf.rb +18 -68
  30. data/ext/reflex/focus_event.cpp +104 -0
  31. data/ext/reflex/frame_event.cpp +143 -0
  32. data/ext/reflex/image_view.cpp +77 -0
  33. data/ext/reflex/key_event.cpp +133 -0
  34. data/ext/reflex/native.cpp +45 -6
  35. data/ext/reflex/pointer_event.cpp +195 -0
  36. data/ext/reflex/reflex.cpp +21 -47
  37. data/ext/reflex/scroll_event.cpp +152 -0
  38. data/ext/reflex/selector.cpp +144 -0
  39. data/ext/reflex/style.cpp +277 -0
  40. data/ext/reflex/style_length.cpp +140 -0
  41. data/ext/reflex/style_length2.cpp +157 -0
  42. data/ext/reflex/style_length4.cpp +204 -0
  43. data/ext/reflex/update_event.cpp +81 -0
  44. data/ext/reflex/view.cpp +469 -114
  45. data/ext/reflex/wheel_event.cpp +158 -0
  46. data/ext/reflex/window.cpp +130 -123
  47. data/include/reflex/application.h +12 -7
  48. data/include/reflex/defs.h +13 -89
  49. data/include/reflex/event.h +260 -0
  50. data/include/reflex/exception.h +17 -11
  51. data/include/reflex/image_view.h +45 -0
  52. data/include/reflex/reflex.h +2 -6
  53. data/include/reflex/ruby/application.h +40 -13
  54. data/include/reflex/ruby/event.h +72 -0
  55. data/include/reflex/ruby/image_view.h +25 -0
  56. data/include/reflex/ruby/selector.h +27 -0
  57. data/include/reflex/ruby/style.h +27 -0
  58. data/include/reflex/ruby/style_length.h +37 -0
  59. data/include/reflex/ruby/view.h +193 -38
  60. data/include/reflex/ruby/window.h +123 -39
  61. data/include/reflex/ruby.h +3 -2
  62. data/include/reflex/selector.h +64 -0
  63. data/include/reflex/style.h +144 -0
  64. data/include/reflex/style_length.h +147 -0
  65. data/include/reflex/view.h +182 -19
  66. data/include/reflex/window.h +35 -19
  67. data/include/reflex.h +7 -0
  68. data/lib/reflex/application.rb +14 -5
  69. data/lib/reflex/arc_shape.rb +20 -0
  70. data/lib/reflex/button.rb +75 -0
  71. data/lib/reflex/capture_event.rb +37 -0
  72. data/lib/reflex/color.rb +13 -0
  73. data/lib/reflex/color_space.rb +13 -0
  74. data/lib/reflex/draw_event.rb +19 -0
  75. data/lib/reflex/ellipse_shape.rb +20 -0
  76. data/lib/reflex/ext.rb +1 -1
  77. data/lib/reflex/flags.rb +18 -0
  78. data/lib/reflex/focus_event.rb +38 -0
  79. data/lib/reflex/font.rb +13 -0
  80. data/lib/reflex/frame_event.rb +42 -0
  81. data/lib/reflex/helper.rb +87 -30
  82. data/lib/reflex/image_view.rb +25 -0
  83. data/lib/reflex/key_event.rb +38 -0
  84. data/lib/reflex/line_shape.rb +20 -0
  85. data/lib/reflex/list_view.rb +15 -0
  86. data/lib/reflex/model.rb +149 -0
  87. data/lib/reflex/model_owner.rb +57 -0
  88. data/lib/reflex/model_view.rb +22 -0
  89. data/lib/reflex/module.rb +11 -7
  90. data/lib/reflex/pointer_event.rb +85 -0
  91. data/lib/reflex/rect_shape.rb +20 -0
  92. data/lib/reflex/reflex.rb +13 -2
  93. data/lib/reflex/scroll_event.rb +19 -0
  94. data/lib/reflex/selector.rb +31 -0
  95. data/lib/reflex/shader.rb +13 -0
  96. data/lib/reflex/shape.rb +34 -0
  97. data/lib/reflex/style.rb +55 -0
  98. data/lib/reflex/style_length.rb +30 -0
  99. data/lib/reflex/style_length2.rb +34 -0
  100. data/lib/reflex/style_length4.rb +38 -0
  101. data/lib/reflex/text_view.rb +55 -0
  102. data/lib/reflex/update_event.rb +19 -0
  103. data/lib/reflex/view.rb +38 -4
  104. data/lib/reflex/wheel_event.rb +19 -0
  105. data/lib/reflex/window.rb +7 -5
  106. data/lib/reflex.rb +38 -1
  107. data/lib/reflexion/include.rb +5 -0
  108. data/lib/reflexion.rb +100 -0
  109. data/reflex.gemspec +3 -4
  110. data/samples/app.rb +13 -0
  111. data/samples/bats.rb +91 -0
  112. data/samples/checker.rb +36 -0
  113. data/{examples/ruby/shapes.rb → samples/fans.rb} +12 -16
  114. data/samples/fps.rb +46 -0
  115. data/samples/grid.rb +60 -0
  116. data/{examples/ruby → samples}/hello.rb +14 -16
  117. data/samples/image.rb +44 -0
  118. data/samples/ios/hello/hello/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
  119. data/samples/ios/hello/hello/Images.xcassets/LaunchImage.launchimage/Contents.json +51 -0
  120. data/samples/ios/hello/hello/en.lproj/InfoPlist.strings +2 -0
  121. data/samples/ios/hello/hello/hello-Info.plist +47 -0
  122. data/samples/ios/hello/hello/hello-Prefix.pch +10 -0
  123. data/samples/ios/hello/hello/main.cpp +79 -0
  124. data/samples/ios/hello/hello.xcodeproj/project.pbxproj +725 -0
  125. data/{examples/ruby → samples}/key.rb +11 -14
  126. data/samples/layout.rb +89 -0
  127. data/samples/model.rb +86 -0
  128. data/samples/osx/hello/hello/Images.xcassets/AppIcon.appiconset/Contents.json +58 -0
  129. data/samples/osx/hello/hello/en.lproj/Credits.rtf +29 -0
  130. data/samples/osx/hello/hello/en.lproj/InfoPlist.strings +2 -0
  131. data/samples/osx/hello/hello/hello-Info.plist +32 -0
  132. data/samples/osx/hello/hello/hello-Prefix.pch +3 -0
  133. data/samples/osx/hello/hello/main.cpp +79 -0
  134. data/samples/osx/hello/hello.xcodeproj/project.pbxproj +725 -0
  135. data/samples/reflexion/hello.rb +24 -0
  136. data/samples/reflexion/paint.rb +40 -0
  137. data/samples/reflexion/pulse.rb +34 -0
  138. data/samples/repl.rb +69 -0
  139. data/samples/shader.rb +41 -0
  140. data/samples/shapes.rb +30 -0
  141. data/{examples/ruby → samples}/text.rb +7 -8
  142. data/samples/tree.rb +71 -0
  143. data/samples/views.rb +41 -0
  144. data/samples/visuals.rb +22 -0
  145. data/src/event.cpp +225 -0
  146. data/src/exception.cpp +24 -15
  147. data/src/image_view.cpp +70 -0
  148. data/src/ios/app_delegate.h +17 -0
  149. data/src/ios/app_delegate.mm +120 -0
  150. data/src/ios/application.mm +116 -0
  151. data/src/{cocoa/applicationdata.h → ios/application_data.h} +6 -6
  152. data/src/ios/event.h +26 -0
  153. data/src/ios/event.mm +31 -0
  154. data/src/ios/native_window.h +37 -0
  155. data/src/ios/native_window.mm +220 -0
  156. data/src/ios/opengl_view.h +13 -0
  157. data/src/ios/opengl_view.mm +131 -0
  158. data/src/{cocoa → ios}/reflex.mm +8 -12
  159. data/src/ios/window.mm +303 -0
  160. data/src/ios/window_data.h +75 -0
  161. data/src/osx/app_delegate.h +17 -0
  162. data/src/{cocoa/cocoaapplication.mm → osx/app_delegate.mm} +90 -48
  163. data/src/osx/application.mm +132 -0
  164. data/src/osx/application_data.h +45 -0
  165. data/src/osx/event.h +42 -0
  166. data/src/osx/event.mm +112 -0
  167. data/src/osx/native_window.h +26 -0
  168. data/src/osx/native_window.mm +322 -0
  169. data/src/{cocoa/openglview.h → osx/opengl_view.h} +0 -4
  170. data/src/{cocoa/openglview.mm → osx/opengl_view.mm} +66 -23
  171. data/src/osx/reflex.mm +50 -0
  172. data/src/osx/window.mm +308 -0
  173. data/src/osx/window_data.h +75 -0
  174. data/src/selector.cpp +121 -0
  175. data/src/style.cpp +576 -0
  176. data/src/style_length.cpp +341 -0
  177. data/src/view.cpp +1228 -129
  178. data/src/win32/application.cpp +1 -1
  179. data/src/window.cpp +54 -26
  180. data/test/helper.rb +8 -4
  181. data/test/test_capture_event.rb +41 -0
  182. data/test/test_event.rb +20 -0
  183. data/test/test_has_frame.rb +45 -0
  184. data/test/test_model.rb +9 -0
  185. data/test/test_model_owner.rb +9 -0
  186. data/test/test_selector.rb +75 -0
  187. data/test/test_style.rb +70 -0
  188. data/test/test_style_length.rb +38 -0
  189. data/test/test_style_length2.rb +50 -0
  190. data/test/test_style_length4.rb +56 -0
  191. data/test/test_view.rb +97 -23
  192. data/test/test_window.rb +54 -46
  193. metadata +205 -84
  194. data/.doc/ext/reflex/defs.cpp +0 -8
  195. data/.doc/ext/reflex/key.cpp +0 -122
  196. data/.doc/ext/reflex/points.cpp +0 -151
  197. data/.gitignore +0 -14
  198. data/ChangeLog +0 -8
  199. data/examples/hello/.gitignore +0 -2
  200. data/examples/hello/Rakefile +0 -41
  201. data/examples/hello/main.cpp +0 -18
  202. data/examples/ruby/app.rb +0 -13
  203. data/examples/ruby/checker.rb +0 -41
  204. data/examples/ruby/fps.rb +0 -49
  205. data/examples/ruby/grid.rb +0 -65
  206. data/examples/ruby/views.rb +0 -88
  207. data/examples/ruby/visuals.rb +0 -27
  208. data/ext/reflex/defs.cpp +0 -8
  209. data/ext/reflex/key.cpp +0 -129
  210. data/ext/reflex/points.cpp +0 -161
  211. data/include/reflex/ruby/key.h +0 -39
  212. data/include/reflex/ruby/points.h +0 -39
  213. data/lib/reflex/visuals/string.rb +0 -53
  214. data/src/cocoa/application.mm +0 -101
  215. data/src/cocoa/cocoaapplication.h +0 -21
  216. data/src/cocoa/cocoawindow.h +0 -46
  217. data/src/cocoa/cocoawindow.mm +0 -230
  218. data/src/cocoa/defs.h +0 -34
  219. data/src/cocoa/defs.mm +0 -87
  220. data/src/cocoa/window.mm +0 -148
  221. data/src/cocoa/windowdata.h +0 -56
  222. data/src/defs.cpp +0 -47
  223. data/src/helper.h +0 -12
  224. data/src/reflex.cpp +0 -43
  225. /data/{README → README.md} +0 -0
@@ -0,0 +1,124 @@
1
+ #include "reflex/ruby/event.h"
2
+
3
+
4
+ #include <rucy.h>
5
+ #include "defs.h"
6
+
7
+
8
+ using namespace Rucy;
9
+
10
+
11
+ static Class cKeyEvent;
12
+
13
+ RUCY_DEFINE_VALUE_FROM_TO(Reflex::KeyEvent, cKeyEvent)
14
+
15
+ #define THIS to<Reflex::KeyEvent*>(self)
16
+
17
+ #define CHECK RUCY_CHECK_OBJ(Reflex::KeyEvent, cKeyEvent, self)
18
+
19
+
20
+ static
21
+ VALUE alloc(VALUE klass)
22
+ {
23
+ return new_type<Reflex::KeyEvent>(klass);
24
+ }
25
+
26
+ static
27
+ VALUE initialize(VALUE self)
28
+ {
29
+ CHECK;
30
+ check_arg_count(__FILE__, __LINE__, "KeyEvent#initialize", argc, 0, 1, 2, 3, 4, 5);
31
+
32
+ THIS->type = (argc >= 1) ? (Reflex::KeyEvent::Type) to<int>(argv[0]) : Reflex::KeyEvent::NONE;
33
+ THIS->chars = (argc >= 2) ? argv[1].c_str() : NULL;
34
+ THIS->code = (argc >= 3) ? to<int>(argv[2]) : Reflex::KEY_NONE;
35
+ THIS->repeat = (argc >= 4) ? to<int>(argv[3]) : 1;
36
+ THIS->modifiers = (argc >= 5) ? to<uint>(argv[4]) : (uint) Reflex::MOD_NONE;
37
+
38
+ return rb_call_super(0, NULL);
39
+ }
40
+
41
+ static
42
+ VALUE initialize_copy(VALUE self, VALUE obj)
43
+ {
44
+ CHECK;
45
+ *THIS = to<Reflex::KeyEvent&>(obj);
46
+ return self;
47
+ }
48
+
49
+ static
50
+ VALUE get_type(VALUE self)
51
+ {
52
+ CHECK;
53
+ return value(THIS->type);
54
+ }
55
+
56
+ static
57
+ VALUE chars(VALUE self)
58
+ {
59
+ CHECK;
60
+ return value(THIS->chars.c_str());
61
+ }
62
+
63
+ static
64
+ VALUE code(VALUE self)
65
+ {
66
+ CHECK;
67
+ return value(THIS->code);
68
+ }
69
+
70
+ static
71
+ VALUE modifiers(VALUE self)
72
+ {
73
+ CHECK;
74
+ return value(THIS->modifiers);
75
+ }
76
+
77
+ static
78
+ VALUE repeat(VALUE self)
79
+ {
80
+ CHECK;
81
+ return value(THIS->repeat);
82
+ }
83
+
84
+ static
85
+ VALUE capture(VALUE self)
86
+ {
87
+ CHECK;
88
+ return value(THIS->capture);
89
+ }
90
+
91
+
92
+ void
93
+ Init_key_event ()
94
+ {
95
+ Module mReflex = rb_define_module("Reflex");
96
+
97
+ cKeyEvent = mReflex.define_class("KeyEvent", Reflex::event_class());
98
+ rb_define_alloc_func(cKeyEvent, alloc);
99
+ rb_define_private_method(cKeyEvent, "initialize", RUBY_METHOD_FUNC(initialize), -1);
100
+ rb_define_private_method(cKeyEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
101
+ rb_define_method(cKeyEvent, "get_type", RUBY_METHOD_FUNC(get_type), 0);
102
+ rb_define_method(cKeyEvent, "chars", RUBY_METHOD_FUNC(chars), 0);
103
+ rb_define_method(cKeyEvent, "code", RUBY_METHOD_FUNC(code), 0);
104
+ rb_define_method(cKeyEvent, "modifiers", RUBY_METHOD_FUNC(modifiers), 0);
105
+ rb_define_method(cKeyEvent, "repeat", RUBY_METHOD_FUNC(repeat), 0);
106
+ cKeyEvent.define_method("capture?", capture);
107
+ cKeyEvent.define_const("TYPE_NONE", Reflex::KeyEvent::NONE);
108
+ cKeyEvent.define_const("TYPE_DOWN", Reflex::KeyEvent::DOWN);
109
+ cKeyEvent.define_const("TYPE_UP", Reflex::KeyEvent::UP);
110
+ }
111
+
112
+
113
+ namespace Reflex
114
+ {
115
+
116
+
117
+ Class
118
+ key_event_class ()
119
+ {
120
+ return cKeyEvent;
121
+ }
122
+
123
+
124
+ }// Reflex
@@ -6,23 +6,62 @@ using namespace Rucy;
6
6
 
7
7
 
8
8
  void Init_reflex ();
9
- void Init_key ();
10
- void Init_points ();
9
+
10
+ void Init_selector ();
11
+ void Init_style ();
12
+ void Init_style_length ();
13
+ void Init_style_length2 ();
14
+ void Init_style_length4 ();
15
+
16
+ void Init_event ();
17
+ void Init_update_event ();
18
+ void Init_draw_event ();
19
+ void Init_frame_event ();
20
+ void Init_scroll_event ();
21
+ void Init_focus_event ();
22
+ void Init_key_event ();
23
+ void Init_pointer_event ();
24
+ void Init_wheel_event ();
25
+ void Init_capture_event ();
26
+
11
27
  void Init_application ();
12
28
  void Init_window ();
13
29
  void Init_view ();
14
30
 
31
+ void Init_image_view ();
32
+
15
33
 
16
34
  extern "C" void
17
35
  Init_native ()
18
36
  {
19
- if (!Rucy::init())
20
- raise(rb_eLoadError, "Rucy::init() failed.");
37
+ RUCY_TRY
38
+
39
+ Rucy::init();
21
40
 
22
41
  Init_reflex();
23
- Init_key();
24
- Init_points();
42
+
43
+ Init_selector();
44
+ Init_style();
45
+ Init_style_length();
46
+ Init_style_length2();
47
+ Init_style_length4();
48
+
49
+ Init_event();
50
+ Init_update_event();
51
+ Init_draw_event();
52
+ Init_frame_event();
53
+ Init_scroll_event();
54
+ Init_focus_event();
55
+ Init_key_event();
56
+ Init_pointer_event();
57
+ Init_wheel_event();
58
+ Init_capture_event();
59
+
25
60
  Init_application();
26
61
  Init_window();
27
62
  Init_view();
63
+
64
+ Init_image_view();
65
+
66
+ RUCY_CATCH
28
67
  }
@@ -0,0 +1,181 @@
1
+ #include "reflex/ruby/event.h"
2
+
3
+
4
+ #include <rucy.h>
5
+ #include <rays/ruby/point.h>
6
+ #include "defs.h"
7
+
8
+
9
+ using namespace Rucy;
10
+
11
+ using Reflex::coord;
12
+
13
+
14
+ static Class cPointerEvent;
15
+
16
+ RUCY_DEFINE_VALUE_FROM_TO(Reflex::PointerEvent, cPointerEvent)
17
+
18
+ #define THIS to<Reflex::PointerEvent*>(self)
19
+
20
+ #define CHECK RUCY_CHECK_OBJ(Reflex::PointerEvent, cPointerEvent, self)
21
+
22
+
23
+ static
24
+ VALUE alloc(VALUE klass)
25
+ {
26
+ return new_type<Reflex::PointerEvent>(klass);
27
+ }
28
+
29
+ static
30
+ VALUE initialize(VALUE self)
31
+ {
32
+ CHECK;
33
+ check_arg_count(__FILE__, __LINE__, "PointerEvent#initialize", argc, 0, 1, 2, 3, 4, 5, 6, 7);
34
+
35
+ THIS->type = (argc >= 1) ? (Reflex::PointerEvent::Type) to<int>(argv[0]) : Reflex::PointerEvent::NONE;
36
+ THIS->pointer_type = (argc >= 2) ? to<uint>(argv[1]) : Reflex::POINTER_NONE;
37
+ THIS->x = (argc >= 3) ? to<coord>(argv[2]) : 0;
38
+ THIS->y = (argc >= 4) ? to<coord>(argv[3]) : 0;
39
+ THIS->size = 1;
40
+ THIS->modifiers = (argc >= 5) ? to<uint>(argv[4]) : (uint) Reflex::MOD_NONE;
41
+ THIS->count = (argc >= 6) ? to<uint>(argv[5]) : 0;
42
+ THIS->drag = (argc >= 7) ? to<bool>(argv[6]) : false;
43
+
44
+ return rb_call_super(0, NULL);
45
+ }
46
+
47
+ static
48
+ VALUE initialize_copy(VALUE self, VALUE obj)
49
+ {
50
+ CHECK;
51
+ *THIS = to<Reflex::PointerEvent&>(obj);
52
+ return self;
53
+ }
54
+
55
+ static
56
+ VALUE get_type(VALUE self)
57
+ {
58
+ CHECK;
59
+ return value(THIS->type);
60
+ }
61
+
62
+ static
63
+ VALUE get_pointer_type(VALUE self)
64
+ {
65
+ CHECK;
66
+ return value(THIS->pointer_type);
67
+ }
68
+
69
+ static
70
+ VALUE size(VALUE self)
71
+ {
72
+ CHECK;
73
+ return value(THIS->size);
74
+ }
75
+
76
+ static
77
+ VALUE modifiers(VALUE self)
78
+ {
79
+ CHECK;
80
+ return value(THIS->modifiers);
81
+ }
82
+
83
+ static
84
+ VALUE count(VALUE self)
85
+ {
86
+ CHECK;
87
+ return value(THIS->count);
88
+ }
89
+
90
+ static
91
+ VALUE drag(VALUE self)
92
+ {
93
+ CHECK;
94
+ return value(THIS->drag);
95
+ }
96
+
97
+ static
98
+ VALUE capture(VALUE self)
99
+ {
100
+ CHECK;
101
+ return value(THIS->capture);
102
+ }
103
+
104
+ static
105
+ VALUE x(VALUE self)
106
+ {
107
+ CHECK;
108
+ return value(THIS->x);
109
+ }
110
+
111
+ static
112
+ VALUE y(VALUE self)
113
+ {
114
+ CHECK;
115
+ return value(THIS->y);
116
+ }
117
+
118
+ static
119
+ VALUE position(VALUE self)
120
+ {
121
+ CHECK;
122
+ check_arg_count(__FILE__, __LINE__, "PointerEvent#position", argc, 0, 1);
123
+
124
+ size_t index = argc >= 1 ? to<int>(argv[0]) : 0;
125
+ return value(THIS->position(index));
126
+ }
127
+
128
+ static
129
+ VALUE array_get(VALUE self, VALUE index)
130
+ {
131
+ CHECK;
132
+ return value((*THIS)[index.to_i()]);
133
+ }
134
+
135
+
136
+ void
137
+ Init_pointer_event ()
138
+ {
139
+ Module mReflex = rb_define_module("Reflex");
140
+
141
+ cPointerEvent = mReflex.define_class("PointerEvent", Reflex::event_class());
142
+ rb_define_alloc_func(cPointerEvent, alloc);
143
+ rb_define_private_method(cPointerEvent, "initialize", RUBY_METHOD_FUNC(initialize), -1);
144
+ rb_define_private_method(cPointerEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
145
+ rb_define_method(cPointerEvent, "get_type", RUBY_METHOD_FUNC(get_type), 0);
146
+ rb_define_method(cPointerEvent, "get_pointer_type", RUBY_METHOD_FUNC(get_pointer_type), 0);
147
+ rb_define_method(cPointerEvent, "size", RUBY_METHOD_FUNC(size), 0);
148
+ rb_define_method(cPointerEvent, "modifiers", RUBY_METHOD_FUNC(modifiers), 0);
149
+ rb_define_method(cPointerEvent, "count", RUBY_METHOD_FUNC(count), 0);
150
+ cPointerEvent.define_method("drag?", drag);
151
+ cPointerEvent.define_method("capture?", capture);
152
+ rb_define_method(cPointerEvent, "x", RUBY_METHOD_FUNC(x), 0);
153
+ rb_define_method(cPointerEvent, "y", RUBY_METHOD_FUNC(y), 0);
154
+ rb_define_method(cPointerEvent, "position", RUBY_METHOD_FUNC(position), -1);
155
+ cPointerEvent.define_method("[]", array_get);
156
+ cPointerEvent.define_const("TYPE_NONE", Reflex::PointerEvent::NONE);
157
+ cPointerEvent.define_const("TYPE_DOWN", Reflex::PointerEvent::DOWN);
158
+ cPointerEvent.define_const("TYPE_UP", Reflex::PointerEvent::UP);
159
+ cPointerEvent.define_const("TYPE_MOVE", Reflex::PointerEvent::MOVE);
160
+ cPointerEvent.define_const("POINTER_NONE", Reflex::POINTER_NONE);
161
+ cPointerEvent.define_const("POINTER_MOUSE_LEFT", Reflex::POINTER_MOUSE_LEFT);
162
+ cPointerEvent.define_const("POINTER_MOUSE_RIGHT", Reflex::POINTER_MOUSE_RIGHT);
163
+ cPointerEvent.define_const("POINTER_MOUSE_MIDDLE", Reflex::POINTER_MOUSE_MIDDLE);
164
+ cPointerEvent.define_const("POINTER_TOUCH", Reflex::POINTER_TOUCH);
165
+ cPointerEvent.define_const("POINTER_PEN", Reflex::POINTER_PEN);
166
+ cPointerEvent.define_const("POINTER_TYPE_LAST", Reflex::POINTER_TYPE_LAST);
167
+ }
168
+
169
+
170
+ namespace Reflex
171
+ {
172
+
173
+
174
+ Class
175
+ pointer_event_class ()
176
+ {
177
+ return cPointerEvent;
178
+ }
179
+
180
+
181
+ }// Reflex
@@ -1,5 +1,5 @@
1
1
  #include <rucy.h>
2
- #include <reflex/reflex.h>
2
+ #include "reflex/reflex.h"
3
3
  #include "defs.h"
4
4
 
5
5
 
@@ -9,53 +9,17 @@ using namespace Rucy;
9
9
  static Module mReflex;
10
10
 
11
11
 
12
- namespace Reflex
13
- {
14
-
15
-
16
- Module
17
- reflex_module ()
18
- {
19
- return mReflex;
20
- }
21
-
22
-
23
- }// Reflex
24
-
25
-
26
12
  static
27
13
  VALUE init(VALUE self)
28
14
  {
29
- if (!Reflex::init())
30
- reflex_error("Reflex::init() failed.");
31
-
15
+ Reflex::init();
32
16
  return self;
33
17
  }
34
18
 
35
19
  static
36
20
  VALUE fin(VALUE self)
37
21
  {
38
- if (!Reflex::fin())
39
- reflex_error("Reflex::fin() failed.");
40
-
41
- return self;
42
- }
43
-
44
- static
45
- VALUE run(VALUE self, VALUE name)
46
- {
47
- if (!Reflex::run(name ? name.c_str() : NULL))
48
- reflex_error("Reflex::run() failed.");
49
-
50
- return self;
51
- }
52
-
53
- static
54
- VALUE quit(VALUE self)
55
- {
56
- if (!Reflex::quit())
57
- reflex_error("Reflex::quit() failed.");
58
-
22
+ Reflex::fin();
59
23
  return self;
60
24
  }
61
25
 
@@ -66,6 +30,18 @@ Init_reflex ()
66
30
  mReflex = rb_define_module("Reflex");
67
31
  mReflex.define_singleton_method("init!", init);
68
32
  mReflex.define_singleton_method("fin!", fin);
69
- mReflex.define_singleton_method("run!", run);
70
- rb_define_singleton_method(mReflex, "quit", RUBY_METHOD_FUNC(quit), 0);
71
33
  }
34
+
35
+
36
+ namespace Reflex
37
+ {
38
+
39
+
40
+ Module
41
+ reflex_module ()
42
+ {
43
+ return mReflex;
44
+ }
45
+
46
+
47
+ }// Reflex
@@ -0,0 +1,141 @@
1
+ #include "reflex/ruby/event.h"
2
+
3
+
4
+ #include <rucy.h>
5
+ #include "rays/ruby/point.h"
6
+ #include "defs.h"
7
+
8
+
9
+ using namespace Rucy;
10
+
11
+ using Reflex::coord;
12
+
13
+
14
+ static Class cScrollEvent;
15
+
16
+ RUCY_DEFINE_VALUE_FROM_TO(Reflex::ScrollEvent, cScrollEvent)
17
+
18
+ #define THIS to<Reflex::ScrollEvent*>(self)
19
+
20
+ #define CHECK RUCY_CHECK_OBJ(Reflex::ScrollEvent, cScrollEvent, self)
21
+
22
+
23
+ static
24
+ VALUE alloc(VALUE klass)
25
+ {
26
+ return new_type<Reflex::ScrollEvent>(klass);
27
+ }
28
+
29
+ static
30
+ VALUE initialize(VALUE self)
31
+ {
32
+ CHECK;
33
+ check_arg_count(__FILE__, __LINE__, "ScrollEvent#initialize", argc, 0, 1, 2, 3, 4, 5, 6);
34
+
35
+ THIS->x = (argc >= 1) ? to<coord>(argv[0]) : 0;
36
+ THIS->y = (argc >= 2) ? to<coord>(argv[1]) : 0;
37
+ THIS->z = (argc >= 3) ? to<coord>(argv[2]) : 0;
38
+ THIS->dx = (argc >= 4) ? to<coord>(argv[3]) : 0;
39
+ THIS->dy = (argc >= 5) ? to<coord>(argv[4]) : 0;
40
+ THIS->dz = (argc >= 6) ? to<coord>(argv[5]) : 0;
41
+
42
+ return rb_call_super(0, NULL);
43
+ }
44
+
45
+ static
46
+ VALUE initialize_copy(VALUE self, VALUE obj)
47
+ {
48
+ CHECK;
49
+ *THIS = to<Reflex::ScrollEvent&>(obj);
50
+ return self;
51
+ }
52
+
53
+ static
54
+ VALUE x(VALUE self)
55
+ {
56
+ CHECK;
57
+ return value(THIS->x);
58
+ }
59
+
60
+ static
61
+ VALUE y(VALUE self)
62
+ {
63
+ CHECK;
64
+ return value(THIS->y);
65
+ }
66
+
67
+ static
68
+ VALUE z(VALUE self)
69
+ {
70
+ CHECK;
71
+ return value(THIS->z);
72
+ }
73
+
74
+ static
75
+ VALUE dx(VALUE self)
76
+ {
77
+ CHECK;
78
+ return value(THIS->dx);
79
+ }
80
+
81
+ static
82
+ VALUE dy(VALUE self)
83
+ {
84
+ CHECK;
85
+ return value(THIS->dy);
86
+ }
87
+
88
+ static
89
+ VALUE dz(VALUE self)
90
+ {
91
+ CHECK;
92
+ return value(THIS->dz);
93
+ }
94
+
95
+ static
96
+ VALUE scroll(VALUE self)
97
+ {
98
+ CHECK;
99
+ return value(Rays::Point(THIS->x, THIS->y, THIS->z));
100
+ }
101
+
102
+ static
103
+ VALUE delta(VALUE self)
104
+ {
105
+ CHECK;
106
+ return value(Rays::Point(THIS->dx, THIS->dy, THIS->dz));
107
+ }
108
+
109
+
110
+ void
111
+ Init_scroll_event ()
112
+ {
113
+ Module mReflex = rb_define_module("Reflex");
114
+
115
+ cScrollEvent = mReflex.define_class("ScrollEvent", Reflex::event_class());
116
+ rb_define_alloc_func(cScrollEvent, alloc);
117
+ rb_define_private_method(cScrollEvent, "initialize", RUBY_METHOD_FUNC(initialize), -1);
118
+ rb_define_private_method(cScrollEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
119
+ rb_define_method(cScrollEvent, "x", RUBY_METHOD_FUNC(x), 0);
120
+ rb_define_method(cScrollEvent, "y", RUBY_METHOD_FUNC(y), 0);
121
+ rb_define_method(cScrollEvent, "z", RUBY_METHOD_FUNC(z), 0);
122
+ rb_define_method(cScrollEvent, "dx", RUBY_METHOD_FUNC(dx), 0);
123
+ rb_define_method(cScrollEvent, "dy", RUBY_METHOD_FUNC(dy), 0);
124
+ rb_define_method(cScrollEvent, "dz", RUBY_METHOD_FUNC(dz), 0);
125
+ rb_define_method(cScrollEvent, "scroll", RUBY_METHOD_FUNC(scroll), 0);
126
+ rb_define_method(cScrollEvent, "delta", RUBY_METHOD_FUNC(delta), 0);
127
+ }
128
+
129
+
130
+ namespace Reflex
131
+ {
132
+
133
+
134
+ Class
135
+ scroll_event_class ()
136
+ {
137
+ return cScrollEvent;
138
+ }
139
+
140
+
141
+ }// Reflex