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
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4ab611843e39083046757ad8be7974cf3f08802b
4
+ data.tar.gz: 348a2e5773ec70a2a5215e3bc8783aead028a7d3
5
+ SHA512:
6
+ metadata.gz: d1a4456dcf74b5d765fcc6819f2fe19a0d1a6bfc39bc610ff1e4d82f73cc23384f6f89fa735eb27c671b1cbc76f208326ecc1fcd63a5f70fe86986cb42ab594b
7
+ data.tar.gz: d52e858d9aa75386455b8f262bdc7666c92d3481dd9bd2ea7f3b55b5b3d3f9b8c9054e7cd5cd454ec77cf66aac52a3e452ebf1c415558377175c2ebeb2552b6e
@@ -10,43 +10,26 @@ using namespace Rucy;
10
10
 
11
11
  static Class cApplication;
12
12
 
13
-
14
- namespace Reflex
15
- {
16
-
17
-
18
- Class
19
- application_class ()
20
- {
21
- return cApplication;
22
- }
23
-
24
-
25
- }// Reflex
26
-
27
-
28
- typedef Reflex::RubyApplication<Reflex::Application> RubyApplication;
29
-
13
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::Application, cApplication)
30
14
 
31
15
  #define THIS to<Reflex::Application*>(self)
32
16
 
33
- #define CHECK RUCY_CHECK_OBJECT(self, Reflex::Application, cApplication)
17
+ #define CHECK RUCY_CHECK_OBJECT(Reflex::Application, cApplication, self)
34
18
 
35
- #define CALL(fun) RUCY_WRAPPER_CALL(RubyApplication, THIS, fun)
19
+ #define CALL(fun) RUCY_WRAPPER_CALL(Reflex::Application, THIS, fun)
36
20
 
37
21
 
38
22
  static
39
23
  VALUE alloc(VALUE klass)
40
24
  {
41
- return value(new RubyApplication, klass);
25
+ return value(new Reflex::RubyApplication<Reflex::Application>, klass);
42
26
  }
43
27
 
44
28
  static
45
- VALUE run(VALUE self)
29
+ VALUE start(VALUE self)
46
30
  {
47
31
  CHECK;
48
- if (!CALL(run()))
49
- system_error("failed to run application.");
32
+ CALL(start());
50
33
  return self;
51
34
  }
52
35
 
@@ -54,36 +37,51 @@ static
54
37
  VALUE quit(VALUE self)
55
38
  {
56
39
  CHECK;
57
- if (!CALL(quit()))
58
- system_error("failed to quit application.");
40
+ CALL(quit());
59
41
  return self;
60
42
  }
61
43
 
62
44
  static
63
- VALUE about(VALUE self)
45
+ VALUE set_name(VALUE self, VALUE name)
64
46
  {
65
47
  CHECK;
66
- if (!CALL(about()))
67
- system_error("failed to show about application.");
68
- return self;
48
+ THIS->set_name(name.c_str());
49
+ return name;
69
50
  }
70
51
 
71
52
  static
72
- VALUE set_name(VALUE self, VALUE name)
53
+ VALUE get_name(VALUE self)
73
54
  {
74
55
  CHECK;
75
- if (!THIS->set_name(name.c_str()))
76
- system_error("failed to set name of application.");
77
- return name;
56
+ return value(THIS->name());
78
57
  }
79
58
 
80
59
  static
81
- VALUE get_name(VALUE self)
60
+ VALUE on_start(VALUE self, VALUE event)
61
+ {
62
+ CHECK;
63
+ CALL(on_start(to<Reflex::Event*>(event)));
64
+ }
65
+
66
+ static
67
+ VALUE on_quit(VALUE self, VALUE event)
68
+ {
69
+ CHECK;
70
+ CALL(on_quit(to<Reflex::Event*>(event)));
71
+ }
72
+
73
+ static
74
+ VALUE on_preference(VALUE self, VALUE event)
82
75
  {
83
76
  CHECK;
84
- const char* s = THIS->name();
85
- if (!s) system_error("failed to get name of application.");
86
- return value(s);
77
+ CALL(on_preference(to<Reflex::Event*>(event)));
78
+ }
79
+
80
+ static
81
+ VALUE on_about(VALUE self, VALUE event)
82
+ {
83
+ CHECK;
84
+ CALL(on_about(to<Reflex::Event*>(event)));
87
85
  }
88
86
 
89
87
  static
@@ -100,10 +98,27 @@ Init_application ()
100
98
 
101
99
  cApplication = rb_define_class_under(mReflex, "Application", rb_cObject);
102
100
  rb_define_alloc_func(cApplication, alloc);
103
- rb_define_method(cApplication, "run", RUBY_METHOD_FUNC(run), 0);
101
+ rb_define_method(cApplication, "start", RUBY_METHOD_FUNC(start), 0);
104
102
  rb_define_method(cApplication, "quit", RUBY_METHOD_FUNC(quit), 0);
105
- rb_define_method(cApplication, "about", RUBY_METHOD_FUNC(about), 0);
106
103
  rb_define_method(cApplication, "name=", RUBY_METHOD_FUNC(set_name), 1);
107
104
  rb_define_method(cApplication, "name", RUBY_METHOD_FUNC(get_name), 0);
105
+ rb_define_method(cApplication, "on_start", RUBY_METHOD_FUNC(on_start), 1);
106
+ rb_define_method(cApplication, "on_quit", RUBY_METHOD_FUNC(on_quit), 1);
107
+ rb_define_method(cApplication, "on_preference", RUBY_METHOD_FUNC(on_preference), 1);
108
+ rb_define_method(cApplication, "on_about", RUBY_METHOD_FUNC(on_about), 1);
108
109
  rb_define_singleton_method(cApplication, "instance", RUBY_METHOD_FUNC(instance), 0);
109
110
  }
111
+
112
+
113
+ namespace Reflex
114
+ {
115
+
116
+
117
+ Class
118
+ application_class ()
119
+ {
120
+ return cApplication;
121
+ }
122
+
123
+
124
+ }// Reflex
@@ -0,0 +1,87 @@
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
+
12
+ static Class cCaptureEvent;
13
+
14
+ RUCY_DEFINE_VALUE_FROM_TO(Reflex::CaptureEvent, cCaptureEvent)
15
+
16
+ #define THIS to<Reflex::CaptureEvent*>(self)
17
+
18
+ #define CHECK RUCY_CHECK_OBJ(Reflex::CaptureEvent, cCaptureEvent, self)
19
+
20
+
21
+ static
22
+ VALUE alloc(VALUE klass)
23
+ {
24
+ return new_type<Reflex::CaptureEvent>(klass);
25
+ }
26
+
27
+ static
28
+ VALUE initialize(VALUE self)
29
+ {
30
+ CHECK;
31
+ check_arg_count(__FILE__, __LINE__, "CaptureEvent#initialize", argc, 0, 1, 2);
32
+
33
+ THIS->begin = (argc >= 1) ? to<uint>(argv[0]) : 0;
34
+ THIS->end = (argc >= 2) ? to<uint>(argv[1]) : 0;
35
+
36
+ return rb_call_super(0, NULL);
37
+ }
38
+
39
+ static
40
+ VALUE initialize_copy(VALUE self, VALUE obj)
41
+ {
42
+ CHECK;
43
+ *THIS = to<Reflex::CaptureEvent&>(obj);
44
+ return self;
45
+ }
46
+
47
+ static
48
+ VALUE begin(VALUE self)
49
+ {
50
+ CHECK;
51
+ return value(THIS->begin);
52
+ }
53
+
54
+ static
55
+ VALUE end(VALUE self)
56
+ {
57
+ CHECK;
58
+ return value(THIS->end);
59
+ }
60
+
61
+
62
+ void
63
+ Init_capture_event ()
64
+ {
65
+ Module mReflex = rb_define_module("Reflex");
66
+
67
+ cCaptureEvent = mReflex.define_class("CaptureEvent", Reflex::event_class());
68
+ rb_define_alloc_func(cCaptureEvent, alloc);
69
+ rb_define_private_method(cCaptureEvent, "initialize", RUBY_METHOD_FUNC(initialize), -1);
70
+ rb_define_private_method(cCaptureEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
71
+ rb_define_private_method(cCaptureEvent, "get_begin", RUBY_METHOD_FUNC(begin), 0);
72
+ rb_define_private_method(cCaptureEvent, "get_end", RUBY_METHOD_FUNC(end), 0);
73
+ }
74
+
75
+
76
+ namespace Reflex
77
+ {
78
+
79
+
80
+ Class
81
+ capture_event_class ()
82
+ {
83
+ return cCaptureEvent;
84
+ }
85
+
86
+
87
+ }// Reflex
@@ -0,0 +1,103 @@
1
+ #include "reflex/ruby/event.h"
2
+
3
+
4
+ #include <rucy.h>
5
+ #include <rays/ruby/painter.h>
6
+ #include <rays/ruby/bounds.h>
7
+ #include "defs.h"
8
+
9
+
10
+ using namespace Rucy;
11
+
12
+
13
+ static Class cDrawEvent;
14
+
15
+ RUCY_DEFINE_VALUE_FROM_TO(Reflex::DrawEvent, cDrawEvent)
16
+
17
+ #define THIS to<Reflex::DrawEvent*>(self)
18
+
19
+ #define CHECK RUCY_CHECK_OBJ(Reflex::DrawEvent, cDrawEvent, self)
20
+
21
+
22
+ static
23
+ VALUE alloc(VALUE klass)
24
+ {
25
+ return new_type<Reflex::DrawEvent>(klass);
26
+ }
27
+
28
+ static
29
+ VALUE initialize(VALUE self)
30
+ {
31
+ CHECK;
32
+ check_arg_count(__FILE__, __LINE__, "DrawEvent#initialize", argc, 0, 1);
33
+
34
+ THIS->dt = (argc >= 1) ? argv[0].as_f() : 0;
35
+
36
+ return rb_call_super(0, NULL);
37
+ }
38
+
39
+ static
40
+ VALUE initialize_copy(VALUE self, VALUE obj)
41
+ {
42
+ CHECK;
43
+ *THIS = to<Reflex::DrawEvent&>(obj);
44
+ return self;
45
+ }
46
+
47
+ static
48
+ VALUE painter(VALUE self)
49
+ {
50
+ CHECK;
51
+ return value(THIS->painter);
52
+ }
53
+
54
+ static
55
+ VALUE bounds(VALUE self)
56
+ {
57
+ CHECK;
58
+ return value(THIS->bounds);
59
+ }
60
+
61
+ static
62
+ VALUE dt(VALUE self)
63
+ {
64
+ CHECK;
65
+ return value(THIS->dt);
66
+ }
67
+
68
+ static
69
+ VALUE fps(VALUE self)
70
+ {
71
+ CHECK;
72
+ return value(THIS->fps);
73
+ }
74
+
75
+
76
+ void
77
+ Init_draw_event ()
78
+ {
79
+ Module mReflex = rb_define_module("Reflex");
80
+
81
+ cDrawEvent = mReflex.define_class("DrawEvent", Reflex::event_class());
82
+ rb_define_alloc_func(cDrawEvent, alloc);
83
+ rb_define_private_method(cDrawEvent, "initialize", RUBY_METHOD_FUNC(initialize), -1);
84
+ rb_define_private_method(cDrawEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
85
+ rb_define_method(cDrawEvent, "painter", RUBY_METHOD_FUNC(painter), 0);
86
+ rb_define_method(cDrawEvent, "bounds", RUBY_METHOD_FUNC(bounds), 0);
87
+ rb_define_method(cDrawEvent, "dt", RUBY_METHOD_FUNC(dt), 0);
88
+ rb_define_method(cDrawEvent, "fps", RUBY_METHOD_FUNC(fps), 0);
89
+ }
90
+
91
+
92
+ namespace Reflex
93
+ {
94
+
95
+
96
+ Class
97
+ draw_event_class ()
98
+ {
99
+ return cDrawEvent;
100
+ }
101
+
102
+
103
+ }// Reflex
@@ -0,0 +1,73 @@
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 cEvent;
12
+
13
+ RUCY_DEFINE_VALUE_FROM_TO(Reflex::Event, cEvent)
14
+
15
+ #define THIS to<Reflex::Event*>(self)
16
+
17
+ #define CHECK RUCY_CHECK_OBJ(Reflex::Event, cEvent, self)
18
+
19
+
20
+ static
21
+ VALUE alloc(VALUE klass)
22
+ {
23
+ return new_type<Reflex::Event>(klass);
24
+ }
25
+
26
+ static
27
+ VALUE initialize_copy(VALUE self, VALUE obj)
28
+ {
29
+ CHECK;
30
+ *THIS = to<Reflex::Event&>(obj);
31
+ return self;
32
+ }
33
+
34
+ static
35
+ VALUE block(VALUE self)
36
+ {
37
+ CHECK;
38
+ THIS->block();
39
+ }
40
+
41
+ static
42
+ VALUE is_blocked(VALUE self)
43
+ {
44
+ CHECK;
45
+ return value(THIS->is_blocked());
46
+ }
47
+
48
+
49
+ void
50
+ Init_event ()
51
+ {
52
+ Module mReflex = rb_define_module("Reflex");
53
+
54
+ cEvent = rb_define_class_under(mReflex, "Event", rb_cObject);
55
+ rb_define_alloc_func(cEvent, alloc);
56
+ rb_define_private_method(cEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
57
+ rb_define_method(cEvent, "block", RUBY_METHOD_FUNC(block), 0);
58
+ cEvent.define_method("block?", is_blocked);
59
+ }
60
+
61
+
62
+ namespace Reflex
63
+ {
64
+
65
+
66
+ Class
67
+ event_class ()
68
+ {
69
+ return cEvent;
70
+ }
71
+
72
+
73
+ }// Reflex
@@ -0,0 +1,98 @@
1
+ #include "reflex/ruby/event.h"
2
+
3
+
4
+ #include <rucy.h>
5
+ #include "reflex/ruby/view.h"
6
+ #include "defs.h"
7
+
8
+
9
+ using namespace Rucy;
10
+
11
+
12
+ static Class cFocusEvent;
13
+
14
+ RUCY_DEFINE_VALUE_FROM_TO(Reflex::FocusEvent, cFocusEvent)
15
+
16
+ #define THIS to<Reflex::FocusEvent*>(self)
17
+
18
+ #define CHECK RUCY_CHECK_OBJ(Reflex::FocusEvent, cFocusEvent, self)
19
+
20
+
21
+ static
22
+ VALUE alloc(VALUE klass)
23
+ {
24
+ return new_type<Reflex::FocusEvent>(klass);
25
+ }
26
+
27
+ static
28
+ VALUE initialize(VALUE self, VALUE type, VALUE focus, VALUE last)
29
+ {
30
+ CHECK;
31
+
32
+ THIS->focus = to<Reflex::View*>(focus);
33
+ THIS->focus = to<Reflex::View*>(focus);
34
+ THIS->last = to<Reflex::View*>(last);
35
+
36
+ return rb_call_super(0, NULL);
37
+ }
38
+
39
+ static
40
+ VALUE initialize_copy(VALUE self, VALUE obj)
41
+ {
42
+ CHECK;
43
+ *THIS = to<Reflex::FocusEvent&>(obj);
44
+ return self;
45
+ }
46
+
47
+ static
48
+ VALUE get_type(VALUE self)
49
+ {
50
+ CHECK;
51
+ return value(THIS->type);
52
+ }
53
+
54
+ static
55
+ VALUE focus(VALUE self)
56
+ {
57
+ CHECK;
58
+ return THIS->focus ? value(THIS->focus) : nil();
59
+ }
60
+
61
+ static
62
+ VALUE last(VALUE self)
63
+ {
64
+ CHECK;
65
+ return THIS->last ? value(THIS->last) : nil();
66
+ }
67
+
68
+
69
+ void
70
+ Init_focus_event ()
71
+ {
72
+ Module mReflex = rb_define_module("Reflex");
73
+
74
+ cFocusEvent = mReflex.define_class("FocusEvent", Reflex::event_class());
75
+ rb_define_alloc_func(cFocusEvent, alloc);
76
+ rb_define_private_method(cFocusEvent, "initialize", RUBY_METHOD_FUNC(initialize), 3);
77
+ rb_define_private_method(cFocusEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
78
+ rb_define_method(cFocusEvent, "get_type", RUBY_METHOD_FUNC(get_type), 0);
79
+ rb_define_method(cFocusEvent, "focus", RUBY_METHOD_FUNC(focus), 0);
80
+ rb_define_method(cFocusEvent, "last", RUBY_METHOD_FUNC(last), 0);
81
+ cFocusEvent.define_const("TYPE_NONE", Reflex::FocusEvent::NONE);
82
+ cFocusEvent.define_const("TYPE_FOCUS", Reflex::FocusEvent::FOCUS);
83
+ cFocusEvent.define_const("TYPE_BLUR", Reflex::FocusEvent::BLUR);
84
+ }
85
+
86
+
87
+ namespace Reflex
88
+ {
89
+
90
+
91
+ Class
92
+ focus_event_class ()
93
+ {
94
+ return cFocusEvent;
95
+ }
96
+
97
+
98
+ }// Reflex
@@ -0,0 +1,133 @@
1
+ #include "reflex/ruby/event.h"
2
+
3
+
4
+ #include <rucy.h>
5
+ #include "rays/ruby/point.h"
6
+ #include "rays/ruby/bounds.h"
7
+ #include "defs.h"
8
+
9
+
10
+ using namespace Rucy;
11
+
12
+ using Reflex::coord;
13
+
14
+
15
+ static Class cFrameEvent;
16
+
17
+ RUCY_DEFINE_VALUE_FROM_TO(Reflex::FrameEvent, cFrameEvent)
18
+
19
+ #define THIS to<Reflex::FrameEvent*>(self)
20
+
21
+ #define CHECK RUCY_CHECK_OBJ(Reflex::FrameEvent, cFrameEvent, self)
22
+
23
+
24
+ static
25
+ VALUE alloc(VALUE klass)
26
+ {
27
+ return new_type<Reflex::FrameEvent>(klass);
28
+ }
29
+
30
+ static
31
+ VALUE initialize(VALUE self)
32
+ {
33
+ CHECK;
34
+ check_arg_count(__FILE__, __LINE__, "FrameEvent#initialize", argc, 0, 1, 2, 3, 4, 5);
35
+
36
+ THIS->frame = (argc >= 1) ? to<Rays::Bounds&>(argv[0]) : Rays::Bounds(0);
37
+ THIS->dx = (argc >= 2) ? to<coord>(argv[1]) : 0;
38
+ THIS->dy = (argc >= 3) ? to<coord>(argv[2]) : 0;
39
+ THIS->dwidth = (argc >= 4) ? to<coord>(argv[3]) : 0;
40
+ THIS->dheight = (argc >= 5) ? to<coord>(argv[4]) : 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::FrameEvent&>(obj);
50
+ return self;
51
+ }
52
+
53
+ static
54
+ VALUE frame(VALUE self)
55
+ {
56
+ CHECK;
57
+ return value(THIS->frame);
58
+ }
59
+
60
+ static
61
+ VALUE dx(VALUE self)
62
+ {
63
+ CHECK;
64
+ return value(THIS->dx);
65
+ }
66
+
67
+ static
68
+ VALUE dy(VALUE self)
69
+ {
70
+ CHECK;
71
+ return value(THIS->dy);
72
+ }
73
+
74
+ static
75
+ VALUE dwidth(VALUE self)
76
+ {
77
+ CHECK;
78
+ return value(THIS->dwidth);
79
+ }
80
+
81
+ static
82
+ VALUE dheight(VALUE self)
83
+ {
84
+ CHECK;
85
+ return value(THIS->dheight);
86
+ }
87
+
88
+ static
89
+ VALUE dposition(VALUE self)
90
+ {
91
+ CHECK;
92
+ return value(Rays::Point(THIS->dx, THIS->dy));
93
+ }
94
+
95
+ static
96
+ VALUE dsize(VALUE self)
97
+ {
98
+ CHECK;
99
+ return value(Rays::Point(THIS->dw, THIS->dh));
100
+ }
101
+
102
+
103
+ void
104
+ Init_frame_event ()
105
+ {
106
+ Module mReflex = rb_define_module("Reflex");
107
+
108
+ cFrameEvent = mReflex.define_class("FrameEvent", Reflex::event_class());
109
+ rb_define_alloc_func(cFrameEvent, alloc);
110
+ rb_define_private_method(cFrameEvent, "initialize", RUBY_METHOD_FUNC(initialize), -1);
111
+ rb_define_private_method(cFrameEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
112
+ rb_define_method(cFrameEvent, "frame", RUBY_METHOD_FUNC(frame), 0);
113
+ rb_define_method(cFrameEvent, "dx", RUBY_METHOD_FUNC(dx), 0);
114
+ rb_define_method(cFrameEvent, "dy", RUBY_METHOD_FUNC(dy), 0);
115
+ rb_define_method(cFrameEvent, "dwidth", RUBY_METHOD_FUNC(dwidth), 0);
116
+ rb_define_method(cFrameEvent, "dheight", RUBY_METHOD_FUNC(dheight), 0);
117
+ rb_define_method(cFrameEvent, "dposition", RUBY_METHOD_FUNC(dposition), 0);
118
+ rb_define_method(cFrameEvent, "dsize", RUBY_METHOD_FUNC(dsize), 0);
119
+ }
120
+
121
+
122
+ namespace Reflex
123
+ {
124
+
125
+
126
+ Class
127
+ frame_event_class ()
128
+ {
129
+ return cFrameEvent;
130
+ }
131
+
132
+
133
+ }// Reflex
@@ -0,0 +1,74 @@
1
+ #include "reflex/ruby/image_view.h"
2
+
3
+
4
+ #include <rucy.h>
5
+ #include "reflex/ruby/view.h"
6
+
7
+
8
+ using namespace Rucy;
9
+
10
+ using Reflex::coord;
11
+
12
+
13
+ static Class cImageView;
14
+
15
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::ImageView, cImageView)
16
+
17
+ #define THIS to<Reflex::ImageView*>(self)
18
+
19
+ #define CHECK RUCY_CHECK_OBJECT(Reflex::ImageView, cImageView, self)
20
+
21
+ #define CALL(fun) RUCY_WRAPPER_CALL(Reflex::ImageView, THIS, fun)
22
+
23
+
24
+ static
25
+ VALUE alloc(VALUE klass)
26
+ {
27
+ return value(new Reflex::RubyView<Reflex::ImageView>, klass);
28
+ }
29
+
30
+ static
31
+ VALUE get_image(VALUE self)
32
+ {
33
+ CHECK;
34
+ Rays::Image image = THIS->get_image();
35
+ return image ? value(image) : nil();
36
+ }
37
+
38
+ static
39
+ VALUE set_image(VALUE self, VALUE image)
40
+ {
41
+ CHECK;
42
+ THIS->set_image(image ? to<Rays::Image&>(image) : Rays::Image());
43
+ return image;
44
+ }
45
+
46
+ static
47
+ RUCY_DEF_clear_override_flags(cof, Reflex::ImageView, cImageView);
48
+
49
+
50
+ void
51
+ Init_image_view ()
52
+ {
53
+ Module mReflex = rb_define_module("Reflex");
54
+
55
+ cImageView = mReflex.define_class("ImageView", Reflex::view_class());
56
+ rb_define_alloc_func(cImageView, alloc);
57
+ rb_define_private_method(cImageView, "set_image", RUBY_METHOD_FUNC(set_image), 1);
58
+ rb_define_method(cImageView, "image", RUBY_METHOD_FUNC(get_image), 0);
59
+
60
+ }
61
+
62
+
63
+ namespace Reflex
64
+ {
65
+
66
+
67
+ Class
68
+ image_view_class ()
69
+ {
70
+ return cImageView;
71
+ }
72
+
73
+
74
+ }// Reflex