reflexion 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
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