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,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