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,192 @@
1
+ #include "reflex/ruby/style_length.h"
2
+
3
+
4
+ #include <rucy.h>
5
+ #include "defs.h"
6
+
7
+
8
+ using namespace Rucy;
9
+
10
+
11
+ static Class cStyleLength4;
12
+
13
+ RUCY_DEFINE_VALUE_FROM_TO(Reflex::StyleLength4, cStyleLength4)
14
+
15
+ #define THIS to<Reflex::StyleLength4*>(self)
16
+
17
+ #define CHECK RUCY_CHECK_OBJ(Reflex::StyleLength4, cStyleLength4, self)
18
+
19
+
20
+ static
21
+ VALUE alloc(VALUE klass)
22
+ {
23
+ return new_type<Reflex::StyleLength4>(klass);
24
+ }
25
+
26
+ static
27
+ VALUE initialize_copy(VALUE self, VALUE obj)
28
+ {
29
+ CHECK;
30
+ *THIS = to<Reflex::StyleLength4&>(obj).copy();
31
+ return self;
32
+ }
33
+
34
+ static
35
+ VALUE set_left(VALUE self, VALUE left)
36
+ {
37
+ CHECK;
38
+ THIS->set_left(to<Reflex::StyleLength>(left));
39
+ }
40
+
41
+ static
42
+ VALUE get_left(VALUE self)
43
+ {
44
+ CHECK;
45
+ return value(THIS->left());
46
+ }
47
+
48
+ static
49
+ VALUE set_top(VALUE self, VALUE top)
50
+ {
51
+ CHECK;
52
+ THIS->set_top(to<Reflex::StyleLength>(top));
53
+ }
54
+
55
+ static
56
+ VALUE get_top(VALUE self)
57
+ {
58
+ CHECK;
59
+ return value(THIS->top());
60
+ }
61
+
62
+ static
63
+ VALUE set_right(VALUE self, VALUE right)
64
+ {
65
+ CHECK;
66
+ THIS->set_right(to<Reflex::StyleLength>(right));
67
+ }
68
+
69
+ static
70
+ VALUE get_right(VALUE self)
71
+ {
72
+ CHECK;
73
+ return value(THIS->right());
74
+ }
75
+
76
+ static
77
+ VALUE set_bottom(VALUE self, VALUE bottom)
78
+ {
79
+ CHECK;
80
+ THIS->set_bottom(to<Reflex::StyleLength>(bottom));
81
+ }
82
+
83
+ static
84
+ VALUE get_bottom(VALUE self)
85
+ {
86
+ CHECK;
87
+ return value(THIS->bottom());
88
+ }
89
+
90
+ static
91
+ VALUE set_at(VALUE self, VALUE index, VALUE length)
92
+ {
93
+ CHECK;
94
+
95
+ int i = index.as_i(), size = (int) THIS->size();
96
+ while (i < 0) i += size;
97
+
98
+ if (i >= size)
99
+ index_error(__FILE__, __LINE__);
100
+
101
+ (*THIS)[i] = to<Reflex::StyleLength>(length);
102
+ }
103
+
104
+ static
105
+ VALUE get_at(VALUE self, VALUE index)
106
+ {
107
+ CHECK;
108
+
109
+ int i = index.as_i(), size = (int) THIS->size();
110
+ while (i < 0) i += size;
111
+
112
+ if (i >= size)
113
+ index_error(__FILE__, __LINE__);
114
+
115
+ return value((*THIS)[i]);
116
+ }
117
+
118
+
119
+ void
120
+ Init_style_length4 ()
121
+ {
122
+ Module mReflex = rb_define_module("Reflex");
123
+
124
+ cStyleLength4 = rb_define_class_under(mReflex, "StyleLength4", rb_cObject);
125
+ rb_define_alloc_func(cStyleLength4, alloc);
126
+ rb_define_private_method(cStyleLength4, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
127
+ rb_define_method(cStyleLength4, "left=", RUBY_METHOD_FUNC(set_left), 1);
128
+ rb_define_method(cStyleLength4, "left", RUBY_METHOD_FUNC(get_left), 0);
129
+ rb_define_method(cStyleLength4, "top=", RUBY_METHOD_FUNC(set_top), 1);
130
+ rb_define_method(cStyleLength4, "top", RUBY_METHOD_FUNC(get_top), 0);
131
+ rb_define_method(cStyleLength4, "right=", RUBY_METHOD_FUNC(set_right), 1);
132
+ rb_define_method(cStyleLength4, "right", RUBY_METHOD_FUNC(get_right), 0);
133
+ rb_define_method(cStyleLength4, "bottom=", RUBY_METHOD_FUNC(set_bottom), 1);
134
+ rb_define_method(cStyleLength4, "bottom", RUBY_METHOD_FUNC(get_bottom), 0);
135
+ cStyleLength4.define_method("[]=", set_at);
136
+ cStyleLength4.define_method("[]", get_at);
137
+ }
138
+
139
+
140
+ namespace Rucy
141
+ {
142
+
143
+
144
+ template <> Reflex::StyleLength4
145
+ value_to<Reflex::StyleLength4> (Value value, bool convert)
146
+ {
147
+ if (convert && value.is_array())
148
+ {
149
+ Value* a = value.as_array();
150
+ switch (value.size())
151
+ {
152
+ case 1: return Reflex::StyleLength4(
153
+ to<Reflex::StyleLength>(a[0]));
154
+
155
+ case 2: return Reflex::StyleLength4(
156
+ to<Reflex::StyleLength>(a[0]),
157
+ to<Reflex::StyleLength>(a[1]));
158
+
159
+ case 3: return Reflex::StyleLength4(
160
+ to<Reflex::StyleLength>(a[0]),
161
+ to<Reflex::StyleLength>(a[1]),
162
+ to<Reflex::StyleLength>(a[2]));
163
+
164
+ case 4: return Reflex::StyleLength4(
165
+ to<Reflex::StyleLength>(a[0]),
166
+ to<Reflex::StyleLength>(a[1]),
167
+ to<Reflex::StyleLength>(a[2]),
168
+ to<Reflex::StyleLength>(a[3]));
169
+
170
+ default: argument_error(__FILE__, __LINE__);
171
+ }
172
+ }
173
+
174
+ return value_to<Reflex::StyleLength4&>(value, convert);
175
+ }
176
+
177
+
178
+ }// Rucy
179
+
180
+
181
+ namespace Reflex
182
+ {
183
+
184
+
185
+ Class
186
+ style_length4_class ()
187
+ {
188
+ return cStyleLength4;
189
+ }
190
+
191
+
192
+ }// Reflex
@@ -0,0 +1,77 @@
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 cUpdateEvent;
12
+
13
+ RUCY_DEFINE_VALUE_FROM_TO(Reflex::UpdateEvent, cUpdateEvent)
14
+
15
+ #define THIS to<Reflex::UpdateEvent*>(self)
16
+
17
+ #define CHECK RUCY_CHECK_OBJ(Reflex::UpdateEvent, cUpdateEvent, self)
18
+
19
+
20
+ static
21
+ VALUE alloc(VALUE klass)
22
+ {
23
+ return new_type<Reflex::UpdateEvent>(klass);
24
+ }
25
+
26
+ static
27
+ VALUE initialize(VALUE self)
28
+ {
29
+ CHECK;
30
+ check_arg_count(__FILE__, __LINE__, "UpdateEvent#initialize", argc, 0, 1);
31
+
32
+ THIS->dt = (argc >= 1) ? argv[0].as_f() : 0;
33
+
34
+ return rb_call_super(0, NULL);
35
+ }
36
+
37
+ static
38
+ VALUE initialize_copy(VALUE self, VALUE obj)
39
+ {
40
+ CHECK;
41
+ *THIS = to<Reflex::UpdateEvent&>(obj);
42
+ return self;
43
+ }
44
+
45
+ static
46
+ VALUE dt(VALUE self)
47
+ {
48
+ CHECK;
49
+ return value(THIS->dt);
50
+ }
51
+
52
+
53
+ void
54
+ Init_update_event ()
55
+ {
56
+ Module mReflex = rb_define_module("Reflex");
57
+
58
+ cUpdateEvent = mReflex.define_class("UpdateEvent", Reflex::event_class());
59
+ rb_define_alloc_func(cUpdateEvent, alloc);
60
+ rb_define_private_method(cUpdateEvent, "initialize", RUBY_METHOD_FUNC(initialize), -1);
61
+ rb_define_private_method(cUpdateEvent, "initialize_copy", RUBY_METHOD_FUNC(initialize_copy), 1);
62
+ rb_define_method(cUpdateEvent, "dt", RUBY_METHOD_FUNC(dt), 0);
63
+ }
64
+
65
+
66
+ namespace Reflex
67
+ {
68
+
69
+
70
+ Class
71
+ update_event_class ()
72
+ {
73
+ return cUpdateEvent;
74
+ }
75
+
76
+
77
+ }// Reflex