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,133 @@
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
+ RUCY_DEF_ALLOC(alloc, klass)
22
+ {
23
+ return new_type<Reflex::KeyEvent>(klass);
24
+ }
25
+ RUCY_END
26
+
27
+ static
28
+ RUCY_DEFN(initialize)
29
+ {
30
+ CHECK;
31
+ check_arg_count(__FILE__, __LINE__, "KeyEvent#initialize", argc, 0, 1, 2, 3, 4, 5);
32
+
33
+ THIS->type = (argc >= 1) ? (Reflex::KeyEvent::Type) to<int>(argv[0]) : Reflex::KeyEvent::NONE;
34
+ THIS->chars = (argc >= 2) ? argv[1].c_str() : NULL;
35
+ THIS->code = (argc >= 3) ? to<int>(argv[2]) : Reflex::KEY_NONE;
36
+ THIS->repeat = (argc >= 4) ? to<int>(argv[3]) : 1;
37
+ THIS->modifiers = (argc >= 5) ? to<uint>(argv[4]) : (uint) Reflex::MOD_NONE;
38
+
39
+ return rb_call_super(0, NULL);
40
+ }
41
+ RUCY_END
42
+
43
+ static
44
+ RUCY_DEF1(initialize_copy, obj)
45
+ {
46
+ CHECK;
47
+ *THIS = to<Reflex::KeyEvent&>(obj);
48
+ return self;
49
+ }
50
+ RUCY_END
51
+
52
+ static
53
+ RUCY_DEF0(get_type)
54
+ {
55
+ CHECK;
56
+ return value(THIS->type);
57
+ }
58
+ RUCY_END
59
+
60
+ static
61
+ RUCY_DEF0(chars)
62
+ {
63
+ CHECK;
64
+ return value(THIS->chars.c_str());
65
+ }
66
+ RUCY_END
67
+
68
+ static
69
+ RUCY_DEF0(code)
70
+ {
71
+ CHECK;
72
+ return value(THIS->code);
73
+ }
74
+ RUCY_END
75
+
76
+ static
77
+ RUCY_DEF0(modifiers)
78
+ {
79
+ CHECK;
80
+ return value(THIS->modifiers);
81
+ }
82
+ RUCY_END
83
+
84
+ static
85
+ RUCY_DEF0(repeat)
86
+ {
87
+ CHECK;
88
+ return value(THIS->repeat);
89
+ }
90
+ RUCY_END
91
+
92
+ static
93
+ RUCY_DEF0(capture)
94
+ {
95
+ CHECK;
96
+ return value(THIS->capture);
97
+ }
98
+ RUCY_END
99
+
100
+
101
+ void
102
+ Init_key_event ()
103
+ {
104
+ Module mReflex = define_module("Reflex");
105
+
106
+ cKeyEvent = mReflex.define_class("KeyEvent", Reflex::event_class());
107
+ cKeyEvent.define_alloc_func(alloc);
108
+ cKeyEvent.define_private_method("initialize", initialize);
109
+ cKeyEvent.define_private_method("initialize_copy", initialize_copy);
110
+ cKeyEvent.define_method("get_type", get_type);
111
+ cKeyEvent.define_method("chars", chars);
112
+ cKeyEvent.define_method("code", code);
113
+ cKeyEvent.define_method("modifiers", modifiers);
114
+ cKeyEvent.define_method("repeat", repeat);
115
+ cKeyEvent.define_method("capture?", capture);
116
+ cKeyEvent.define_const("TYPE_NONE", Reflex::KeyEvent::NONE);
117
+ cKeyEvent.define_const("TYPE_DOWN", Reflex::KeyEvent::DOWN);
118
+ cKeyEvent.define_const("TYPE_UP", Reflex::KeyEvent::UP);
119
+ }
120
+
121
+
122
+ namespace Reflex
123
+ {
124
+
125
+
126
+ Class
127
+ key_event_class ()
128
+ {
129
+ return cKeyEvent;
130
+ }
131
+
132
+
133
+ }// 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,195 @@
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
+ RUCY_DEF_ALLOC(alloc, klass)
25
+ {
26
+ return new_type<Reflex::PointerEvent>(klass);
27
+ }
28
+ RUCY_END
29
+
30
+ static
31
+ RUCY_DEFN(initialize)
32
+ {
33
+ CHECK;
34
+ check_arg_count(__FILE__, __LINE__, "PointerEvent#initialize", argc, 0, 1, 2, 3, 4, 5, 6, 7);
35
+
36
+ THIS->type = (argc >= 1) ? (Reflex::PointerEvent::Type) to<int>(argv[0]) : Reflex::PointerEvent::NONE;
37
+ THIS->pointer_type = (argc >= 2) ? to<uint>(argv[1]) : Reflex::POINTER_NONE;
38
+ THIS->x = (argc >= 3) ? to<coord>(argv[2]) : 0;
39
+ THIS->y = (argc >= 4) ? to<coord>(argv[3]) : 0;
40
+ THIS->size = 1;
41
+ THIS->modifiers = (argc >= 5) ? to<uint>(argv[4]) : (uint) Reflex::MOD_NONE;
42
+ THIS->count = (argc >= 6) ? to<uint>(argv[5]) : 0;
43
+ THIS->drag = (argc >= 7) ? to<bool>(argv[6]) : false;
44
+
45
+ return rb_call_super(0, NULL);
46
+ }
47
+ RUCY_END
48
+
49
+ static
50
+ RUCY_DEF1(initialize_copy, obj)
51
+ {
52
+ CHECK;
53
+ *THIS = to<Reflex::PointerEvent&>(obj);
54
+ return self;
55
+ }
56
+ RUCY_END
57
+
58
+ static
59
+ RUCY_DEF0(get_type)
60
+ {
61
+ CHECK;
62
+ return value(THIS->type);
63
+ }
64
+ RUCY_END
65
+
66
+ static
67
+ RUCY_DEF0(get_pointer_type)
68
+ {
69
+ CHECK;
70
+ return value(THIS->pointer_type);
71
+ }
72
+ RUCY_END
73
+
74
+ static
75
+ RUCY_DEF0(size)
76
+ {
77
+ CHECK;
78
+ return value(THIS->size);
79
+ }
80
+ RUCY_END
81
+
82
+ static
83
+ RUCY_DEF0(modifiers)
84
+ {
85
+ CHECK;
86
+ return value(THIS->modifiers);
87
+ }
88
+ RUCY_END
89
+
90
+ static
91
+ RUCY_DEF0(count)
92
+ {
93
+ CHECK;
94
+ return value(THIS->count);
95
+ }
96
+ RUCY_END
97
+
98
+ static
99
+ RUCY_DEF0(drag)
100
+ {
101
+ CHECK;
102
+ return value(THIS->drag);
103
+ }
104
+ RUCY_END
105
+
106
+ static
107
+ RUCY_DEF0(capture)
108
+ {
109
+ CHECK;
110
+ return value(THIS->capture);
111
+ }
112
+ RUCY_END
113
+
114
+ static
115
+ RUCY_DEF0(x)
116
+ {
117
+ CHECK;
118
+ return value(THIS->x);
119
+ }
120
+ RUCY_END
121
+
122
+ static
123
+ RUCY_DEF0(y)
124
+ {
125
+ CHECK;
126
+ return value(THIS->y);
127
+ }
128
+ RUCY_END
129
+
130
+ static
131
+ RUCY_DEFN(position)
132
+ {
133
+ CHECK;
134
+ check_arg_count(__FILE__, __LINE__, "PointerEvent#position", argc, 0, 1);
135
+
136
+ size_t index = argc >= 1 ? to<int>(argv[0]) : 0;
137
+ return value(THIS->position(index));
138
+ }
139
+ RUCY_END
140
+
141
+ static
142
+ RUCY_DEF1(array_get, index)
143
+ {
144
+ CHECK;
145
+ return value((*THIS)[index.to_i()]);
146
+ }
147
+ RUCY_END
148
+
149
+
150
+ void
151
+ Init_pointer_event ()
152
+ {
153
+ Module mReflex = define_module("Reflex");
154
+
155
+ cPointerEvent = mReflex.define_class("PointerEvent", Reflex::event_class());
156
+ cPointerEvent.define_alloc_func(alloc);
157
+ cPointerEvent.define_private_method("initialize", initialize);
158
+ cPointerEvent.define_private_method("initialize_copy", initialize_copy);
159
+ cPointerEvent.define_method("get_type", get_type);
160
+ cPointerEvent.define_method("get_pointer_type", get_pointer_type);
161
+ cPointerEvent.define_method("size", size);
162
+ cPointerEvent.define_method("modifiers", modifiers);
163
+ cPointerEvent.define_method("count", count);
164
+ cPointerEvent.define_method("drag?", drag);
165
+ cPointerEvent.define_method("capture?", capture);
166
+ cPointerEvent.define_method("x", x);
167
+ cPointerEvent.define_method("y", y);
168
+ cPointerEvent.define_method("position", position);
169
+ cPointerEvent.define_method("[]", array_get);
170
+ cPointerEvent.define_const("TYPE_NONE", Reflex::PointerEvent::NONE);
171
+ cPointerEvent.define_const("TYPE_DOWN", Reflex::PointerEvent::DOWN);
172
+ cPointerEvent.define_const("TYPE_UP", Reflex::PointerEvent::UP);
173
+ cPointerEvent.define_const("TYPE_MOVE", Reflex::PointerEvent::MOVE);
174
+ cPointerEvent.define_const("POINTER_NONE", Reflex::POINTER_NONE);
175
+ cPointerEvent.define_const("POINTER_MOUSE_LEFT", Reflex::POINTER_MOUSE_LEFT);
176
+ cPointerEvent.define_const("POINTER_MOUSE_RIGHT", Reflex::POINTER_MOUSE_RIGHT);
177
+ cPointerEvent.define_const("POINTER_MOUSE_MIDDLE", Reflex::POINTER_MOUSE_MIDDLE);
178
+ cPointerEvent.define_const("POINTER_TOUCH", Reflex::POINTER_TOUCH);
179
+ cPointerEvent.define_const("POINTER_PEN", Reflex::POINTER_PEN);
180
+ cPointerEvent.define_const("POINTER_TYPE_LAST", Reflex::POINTER_TYPE_LAST);
181
+ }
182
+
183
+
184
+ namespace Reflex
185
+ {
186
+
187
+
188
+ Class
189
+ pointer_event_class ()
190
+ {
191
+ return cPointerEvent;
192
+ }
193
+
194
+
195
+ }// 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,59 +9,21 @@ 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
- static
27
- RUBY_DEF0(init)
28
- {
29
- if (!Reflex::init())
30
- reflex_error("Reflex::init() failed.");
31
-
32
- return self;
33
- }
34
- RUBY_END
35
-
36
- static
37
- RUBY_DEF0(fin)
38
- {
39
- if (!Reflex::fin())
40
- reflex_error("Reflex::fin() failed.");
41
-
42
- return self;
43
- }
44
- RUBY_END
45
-
46
12
  static
47
- RUBY_DEF1(run, name)
13
+ RUCY_DEF0(init)
48
14
  {
49
- if (!Reflex::run(name ? name.c_str() : NULL))
50
- reflex_error("Reflex::run() failed.");
51
-
15
+ Reflex::init();
52
16
  return self;
53
17
  }
54
- RUBY_END
18
+ RUCY_END
55
19
 
56
20
  static
57
- RUBY_DEF0(quit)
21
+ RUCY_DEF0(fin)
58
22
  {
59
- if (!Reflex::quit())
60
- reflex_error("Reflex::quit() failed.");
61
-
23
+ Reflex::fin();
62
24
  return self;
63
25
  }
64
- RUBY_END
26
+ RUCY_END
65
27
 
66
28
 
67
29
  void
@@ -70,6 +32,18 @@ Init_reflex ()
70
32
  mReflex = define_module("Reflex");
71
33
  mReflex.define_singleton_method("init!", init);
72
34
  mReflex.define_singleton_method("fin!", fin);
73
- mReflex.define_singleton_method("run!", run);
74
- mReflex.define_singleton_method("quit", quit);
75
35
  }
36
+
37
+
38
+ namespace Reflex
39
+ {
40
+
41
+
42
+ Module
43
+ reflex_module ()
44
+ {
45
+ return mReflex;
46
+ }
47
+
48
+
49
+ }// Reflex
@@ -0,0 +1,152 @@
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
+ RUCY_DEF_ALLOC(alloc, klass)
25
+ {
26
+ return new_type<Reflex::ScrollEvent>(klass);
27
+ }
28
+ RUCY_END
29
+
30
+ static
31
+ RUCY_DEFN(initialize)
32
+ {
33
+ CHECK;
34
+ check_arg_count(__FILE__, __LINE__, "ScrollEvent#initialize", argc, 0, 1, 2, 3, 4, 5, 6);
35
+
36
+ THIS->x = (argc >= 1) ? to<coord>(argv[0]) : 0;
37
+ THIS->y = (argc >= 2) ? to<coord>(argv[1]) : 0;
38
+ THIS->z = (argc >= 3) ? to<coord>(argv[2]) : 0;
39
+ THIS->dx = (argc >= 4) ? to<coord>(argv[3]) : 0;
40
+ THIS->dy = (argc >= 5) ? to<coord>(argv[4]) : 0;
41
+ THIS->dz = (argc >= 6) ? to<coord>(argv[5]) : 0;
42
+
43
+ return rb_call_super(0, NULL);
44
+ }
45
+ RUCY_END
46
+
47
+ static
48
+ RUCY_DEF1(initialize_copy, obj)
49
+ {
50
+ CHECK;
51
+ *THIS = to<Reflex::ScrollEvent&>(obj);
52
+ return self;
53
+ }
54
+ RUCY_END
55
+
56
+ static
57
+ RUCY_DEF0(x)
58
+ {
59
+ CHECK;
60
+ return value(THIS->x);
61
+ }
62
+ RUCY_END
63
+
64
+ static
65
+ RUCY_DEF0(y)
66
+ {
67
+ CHECK;
68
+ return value(THIS->y);
69
+ }
70
+ RUCY_END
71
+
72
+ static
73
+ RUCY_DEF0(z)
74
+ {
75
+ CHECK;
76
+ return value(THIS->z);
77
+ }
78
+ RUCY_END
79
+
80
+ static
81
+ RUCY_DEF0(dx)
82
+ {
83
+ CHECK;
84
+ return value(THIS->dx);
85
+ }
86
+ RUCY_END
87
+
88
+ static
89
+ RUCY_DEF0(dy)
90
+ {
91
+ CHECK;
92
+ return value(THIS->dy);
93
+ }
94
+ RUCY_END
95
+
96
+ static
97
+ RUCY_DEF0(dz)
98
+ {
99
+ CHECK;
100
+ return value(THIS->dz);
101
+ }
102
+ RUCY_END
103
+
104
+ static
105
+ RUCY_DEF0(scroll)
106
+ {
107
+ CHECK;
108
+ return value(Rays::Point(THIS->x, THIS->y, THIS->z));
109
+ }
110
+ RUCY_END
111
+
112
+ static
113
+ RUCY_DEF0(delta)
114
+ {
115
+ CHECK;
116
+ return value(Rays::Point(THIS->dx, THIS->dy, THIS->dz));
117
+ }
118
+ RUCY_END
119
+
120
+
121
+ void
122
+ Init_scroll_event ()
123
+ {
124
+ Module mReflex = define_module("Reflex");
125
+
126
+ cScrollEvent = mReflex.define_class("ScrollEvent", Reflex::event_class());
127
+ cScrollEvent.define_alloc_func(alloc);
128
+ cScrollEvent.define_private_method("initialize", initialize);
129
+ cScrollEvent.define_private_method("initialize_copy", initialize_copy);
130
+ cScrollEvent.define_method("x", x);
131
+ cScrollEvent.define_method("y", y);
132
+ cScrollEvent.define_method("z", z);
133
+ cScrollEvent.define_method("dx", dx);
134
+ cScrollEvent.define_method("dy", dy);
135
+ cScrollEvent.define_method("dz", dz);
136
+ cScrollEvent.define_method("scroll", scroll);
137
+ cScrollEvent.define_method("delta", delta);
138
+ }
139
+
140
+
141
+ namespace Reflex
142
+ {
143
+
144
+
145
+ Class
146
+ scroll_event_class ()
147
+ {
148
+ return cScrollEvent;
149
+ }
150
+
151
+
152
+ }// Reflex