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,92 @@
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
+ RUCY_DEF_ALLOC(alloc, klass)
23
+ {
24
+ return new_type<Reflex::CaptureEvent>(klass);
25
+ }
26
+ RUCY_END
27
+
28
+ static
29
+ RUCY_DEFN(initialize)
30
+ {
31
+ CHECK;
32
+ check_arg_count(__FILE__, __LINE__, "CaptureEvent#initialize", argc, 0, 1, 2);
33
+
34
+ THIS->begin = (argc >= 1) ? to<uint>(argv[0]) : 0;
35
+ THIS->end = (argc >= 2) ? to<uint>(argv[1]) : 0;
36
+
37
+ return rb_call_super(0, NULL);
38
+ }
39
+ RUCY_END
40
+
41
+ static
42
+ RUCY_DEF1(initialize_copy, obj)
43
+ {
44
+ CHECK;
45
+ *THIS = to<Reflex::CaptureEvent&>(obj);
46
+ return self;
47
+ }
48
+ RUCY_END
49
+
50
+ static
51
+ RUCY_DEF0(begin)
52
+ {
53
+ CHECK;
54
+ return value(THIS->begin);
55
+ }
56
+ RUCY_END
57
+
58
+ static
59
+ RUCY_DEF0(end)
60
+ {
61
+ CHECK;
62
+ return value(THIS->end);
63
+ }
64
+ RUCY_END
65
+
66
+
67
+ void
68
+ Init_capture_event ()
69
+ {
70
+ Module mReflex = define_module("Reflex");
71
+
72
+ cCaptureEvent = mReflex.define_class("CaptureEvent", Reflex::event_class());
73
+ cCaptureEvent.define_alloc_func(alloc);
74
+ cCaptureEvent.define_private_method("initialize", initialize);
75
+ cCaptureEvent.define_private_method("initialize_copy", initialize_copy);
76
+ cCaptureEvent.define_private_method("get_begin", begin);
77
+ cCaptureEvent.define_private_method("get_end", end);
78
+ }
79
+
80
+
81
+ namespace Reflex
82
+ {
83
+
84
+
85
+ Class
86
+ capture_event_class ()
87
+ {
88
+ return cCaptureEvent;
89
+ }
90
+
91
+
92
+ }// Reflex
@@ -0,0 +1,110 @@
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
+ RUCY_DEF_ALLOC(alloc, klass)
24
+ {
25
+ return new_type<Reflex::DrawEvent>(klass);
26
+ }
27
+ RUCY_END
28
+
29
+ static
30
+ RUCY_DEFN(initialize)
31
+ {
32
+ CHECK;
33
+ check_arg_count(__FILE__, __LINE__, "DrawEvent#initialize", argc, 0, 1);
34
+
35
+ THIS->dt = (argc >= 1) ? argv[0].as_f() : 0;
36
+
37
+ return rb_call_super(0, NULL);
38
+ }
39
+ RUCY_END
40
+
41
+ static
42
+ RUCY_DEF1(initialize_copy, obj)
43
+ {
44
+ CHECK;
45
+ *THIS = to<Reflex::DrawEvent&>(obj);
46
+ return self;
47
+ }
48
+ RUCY_END
49
+
50
+ static
51
+ RUCY_DEF0(painter)
52
+ {
53
+ CHECK;
54
+ return value(THIS->painter);
55
+ }
56
+ RUCY_END
57
+
58
+ static
59
+ RUCY_DEF0(bounds)
60
+ {
61
+ CHECK;
62
+ return value(THIS->bounds);
63
+ }
64
+ RUCY_END
65
+
66
+ static
67
+ RUCY_DEF0(dt)
68
+ {
69
+ CHECK;
70
+ return value(THIS->dt);
71
+ }
72
+ RUCY_END
73
+
74
+ static
75
+ RUCY_DEF0(fps)
76
+ {
77
+ CHECK;
78
+ return value(THIS->fps);
79
+ }
80
+ RUCY_END
81
+
82
+
83
+ void
84
+ Init_draw_event ()
85
+ {
86
+ Module mReflex = define_module("Reflex");
87
+
88
+ cDrawEvent = mReflex.define_class("DrawEvent", Reflex::event_class());
89
+ cDrawEvent.define_alloc_func(alloc);
90
+ cDrawEvent.define_private_method("initialize", initialize);
91
+ cDrawEvent.define_private_method("initialize_copy", initialize_copy);
92
+ cDrawEvent.define_method("painter", painter);
93
+ cDrawEvent.define_method("bounds", bounds);
94
+ cDrawEvent.define_method("dt", dt);
95
+ cDrawEvent.define_method("fps", fps);
96
+ }
97
+
98
+
99
+ namespace Reflex
100
+ {
101
+
102
+
103
+ Class
104
+ draw_event_class ()
105
+ {
106
+ return cDrawEvent;
107
+ }
108
+
109
+
110
+ }// 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 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
+ RUCY_DEF_ALLOC(alloc, klass)
22
+ {
23
+ return new_type<Reflex::Event>(klass);
24
+ }
25
+ RUCY_END
26
+
27
+ static
28
+ RUCY_DEF1(initialize_copy, obj)
29
+ {
30
+ CHECK;
31
+ *THIS = to<Reflex::Event&>(obj);
32
+ return self;
33
+ }
34
+ RUCY_END
35
+
36
+ static
37
+ RUCY_DEF0(block)
38
+ {
39
+ CHECK;
40
+ THIS->block();
41
+ }
42
+ RUCY_END
43
+
44
+ static
45
+ RUCY_DEF0(is_blocked)
46
+ {
47
+ CHECK;
48
+ return value(THIS->is_blocked());
49
+ }
50
+ RUCY_END
51
+
52
+
53
+ void
54
+ Init_event ()
55
+ {
56
+ Module mReflex = define_module("Reflex");
57
+
58
+ cEvent = mReflex.define_class("Event");
59
+ cEvent.define_alloc_func(alloc);
60
+ cEvent.define_private_method("initialize_copy", initialize_copy);
61
+ cEvent.define_method("block", block);
62
+ cEvent.define_method("block?", is_blocked);
63
+ }
64
+
65
+
66
+ namespace Reflex
67
+ {
68
+
69
+
70
+ Class
71
+ event_class ()
72
+ {
73
+ return cEvent;
74
+ }
75
+
76
+
77
+ }// Reflex
@@ -1,82 +1,32 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
 
4
- require 'xot/load_path'
5
- Xot::LoadPath.unshift File.expand_path('../../../lib', __FILE__)
4
+ %w[../xot ../rucy ../rays .]
5
+ .map {|s| File.expand_path "../../../#{s}/lib", __FILE__}
6
+ .each {|s| $:.unshift s if !$:.include?(s) && File.directory?(s)}
6
7
 
7
8
  require 'mkmf'
8
- require 'xot/rake'
9
+ require 'xot/extconf'
9
10
  require 'xot/module'
10
11
  require 'rucy/module'
11
12
  require 'rays/module'
12
13
  require 'reflex/module'
13
14
 
14
- include Xot::Rake
15
15
 
16
+ Xot::ExtConf.new Xot, Rucy, Rays, Reflex do
17
+ setup do
18
+ headers << 'boost/scoped_array.hpp' << 'boost/shared_ptr.hpp' << 'ruby.h'
19
+ local_libs << 'rucy'
20
+ libs.unshift 'gdi21', 'opengl32' if win32?
21
+ frameworks << 'Cocoa' if osx?
22
+ $LDFLAGS << ' -Wl,--out-implib=native.dll.a' if cygwin?
16
23
 
17
- debug = env :DEBUG, false
24
+ unless osx?
25
+ lib_dirs << Rays::Module.lib_dir
26
+ libs << 'rays/native'
27
+ end
28
+ end
18
29
 
19
-
20
- DEFS = []
21
- INCDIRS = %w[
22
- /opt/local/include
23
- /opt/include
24
- ]
25
- LIBDIRS = []
26
-
27
- HEADERS = %w[
28
- boost/shared_ptr.hpp
29
- boost/scoped_array.hpp
30
- ruby.h
31
- xot.h
32
- rucy.h
33
- rays.h
34
- reflex.h
35
- ]
36
- LIBS = %w[
37
- stdc++
38
- xot
39
- rucy
40
- rays
41
- reflex
42
- ]
43
- FRAMEWORKS = []
44
-
45
-
46
- DEFS << '_DEBUG' if debug
47
- DEFS << 'NDEBUG' unless debug
48
- DEFS << $~[0].upcase if RUBY_PLATFORM =~ /mswin|ming|cygwin|darwin/i
49
- LIBDIRS.concat Rays.lib_dirs
50
- LIBS << 'rays/native' unless cocoa?
51
- if win32?
52
- DEFS << 'WINDOWS' << 'WIN32'
53
- LIBS.unshift 'gdi32', 'opengl32'
54
- elsif cocoa?
55
- DEFS << 'COCOA'
56
- FRAMEWORKS << 'Cocoa'# << 'OpenGL'
57
- end
58
-
59
- $CPPFLAGS << DEFS.map {|s| " -D#{s}"}.join
60
- $CPPFLAGS << INCDIRS.map {|s| " -I#{s}"}.join
61
- $LDFLAGS << LIBDIRS.map {|s| " -L#{s}"}.join
62
- $LDFLAGS << FRAMEWORKS.map {|s| " -framework #{s}"}.join
63
- $LDFLAGS << ' -Wl,--out-implib=native.dll.a' if cygwin?
64
- $CFLAGS << ' --stdlib=libc++' if clang?
65
- $LOCAL_LIBS << ' -lrucy'
66
-
67
- RbConfig::CONFIG.each do |key, val|
68
- {'gcc' => 'g++', 'clang' => 'clang++'}.each {|from, to| val.gsub! from, to}
30
+ dir_config 'boost'
31
+ create_makefile 'reflex/native'
69
32
  end
70
-
71
-
72
- dir_config 'boost'
73
- dir_config 'xot', Xot.root_dir
74
- dir_config 'rucy', Rucy.root_dir
75
- dir_config 'rays', Rays.root_dir
76
- dir_config 'reflex', Reflex.root_dir
77
-
78
- exit 1 unless HEADERS.all? {|s| have_header(s)}
79
- exit 1 unless LIBS.all? {|s| have_library(s)}
80
-
81
-
82
- create_makefile 'reflex/native'
@@ -0,0 +1,104 @@
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
+ RUCY_DEF_ALLOC(alloc, klass)
23
+ {
24
+ return new_type<Reflex::FocusEvent>(klass);
25
+ }
26
+ RUCY_END
27
+
28
+ static
29
+ RUCY_DEF3(initialize, type, focus, last)
30
+ {
31
+ CHECK;
32
+
33
+ THIS->focus = to<Reflex::View*>(focus);
34
+ THIS->focus = to<Reflex::View*>(focus);
35
+ THIS->last = to<Reflex::View*>(last);
36
+
37
+ return rb_call_super(0, NULL);
38
+ }
39
+ RUCY_END
40
+
41
+ static
42
+ RUCY_DEF1(initialize_copy, obj)
43
+ {
44
+ CHECK;
45
+ *THIS = to<Reflex::FocusEvent&>(obj);
46
+ return self;
47
+ }
48
+ RUCY_END
49
+
50
+ static
51
+ RUCY_DEF0(get_type)
52
+ {
53
+ CHECK;
54
+ return value(THIS->type);
55
+ }
56
+ RUCY_END
57
+
58
+ static
59
+ RUCY_DEF0(focus)
60
+ {
61
+ CHECK;
62
+ return THIS->focus ? value(THIS->focus) : nil();
63
+ }
64
+ RUCY_END
65
+
66
+ static
67
+ RUCY_DEF0(last)
68
+ {
69
+ CHECK;
70
+ return THIS->last ? value(THIS->last) : nil();
71
+ }
72
+ RUCY_END
73
+
74
+
75
+ void
76
+ Init_focus_event ()
77
+ {
78
+ Module mReflex = define_module("Reflex");
79
+
80
+ cFocusEvent = mReflex.define_class("FocusEvent", Reflex::event_class());
81
+ cFocusEvent.define_alloc_func(alloc);
82
+ cFocusEvent.define_private_method("initialize", initialize);
83
+ cFocusEvent.define_private_method("initialize_copy", initialize_copy);
84
+ cFocusEvent.define_method("get_type", get_type);
85
+ cFocusEvent.define_method("focus", focus);
86
+ cFocusEvent.define_method("last", last);
87
+ cFocusEvent.define_const("TYPE_NONE", Reflex::FocusEvent::NONE);
88
+ cFocusEvent.define_const("TYPE_FOCUS", Reflex::FocusEvent::FOCUS);
89
+ cFocusEvent.define_const("TYPE_BLUR", Reflex::FocusEvent::BLUR);
90
+ }
91
+
92
+
93
+ namespace Reflex
94
+ {
95
+
96
+
97
+ Class
98
+ focus_event_class ()
99
+ {
100
+ return cFocusEvent;
101
+ }
102
+
103
+
104
+ }// Reflex
@@ -0,0 +1,143 @@
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
+ RUCY_DEF_ALLOC(alloc, klass)
26
+ {
27
+ return new_type<Reflex::FrameEvent>(klass);
28
+ }
29
+ RUCY_END
30
+
31
+ static
32
+ RUCY_DEFN(initialize)
33
+ {
34
+ CHECK;
35
+ check_arg_count(__FILE__, __LINE__, "FrameEvent#initialize", argc, 0, 1, 2, 3, 4, 5);
36
+
37
+ THIS->frame = (argc >= 1) ? to<Rays::Bounds&>(argv[0]) : Rays::Bounds(0);
38
+ THIS->dx = (argc >= 2) ? to<coord>(argv[1]) : 0;
39
+ THIS->dy = (argc >= 3) ? to<coord>(argv[2]) : 0;
40
+ THIS->dwidth = (argc >= 4) ? to<coord>(argv[3]) : 0;
41
+ THIS->dheight = (argc >= 5) ? to<coord>(argv[4]) : 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::FrameEvent&>(obj);
52
+ return self;
53
+ }
54
+ RUCY_END
55
+
56
+ static
57
+ RUCY_DEF0(frame)
58
+ {
59
+ CHECK;
60
+ return value(THIS->frame);
61
+ }
62
+ RUCY_END
63
+
64
+ static
65
+ RUCY_DEF0(dx)
66
+ {
67
+ CHECK;
68
+ return value(THIS->dx);
69
+ }
70
+ RUCY_END
71
+
72
+ static
73
+ RUCY_DEF0(dy)
74
+ {
75
+ CHECK;
76
+ return value(THIS->dy);
77
+ }
78
+ RUCY_END
79
+
80
+ static
81
+ RUCY_DEF0(dwidth)
82
+ {
83
+ CHECK;
84
+ return value(THIS->dwidth);
85
+ }
86
+ RUCY_END
87
+
88
+ static
89
+ RUCY_DEF0(dheight)
90
+ {
91
+ CHECK;
92
+ return value(THIS->dheight);
93
+ }
94
+ RUCY_END
95
+
96
+ static
97
+ RUCY_DEF0(dposition)
98
+ {
99
+ CHECK;
100
+ return value(Rays::Point(THIS->dx, THIS->dy));
101
+ }
102
+ RUCY_END
103
+
104
+ static
105
+ RUCY_DEF0(dsize)
106
+ {
107
+ CHECK;
108
+ return value(Rays::Point(THIS->dw, THIS->dh));
109
+ }
110
+ RUCY_END
111
+
112
+
113
+ void
114
+ Init_frame_event ()
115
+ {
116
+ Module mReflex = define_module("Reflex");
117
+
118
+ cFrameEvent = mReflex.define_class("FrameEvent", Reflex::event_class());
119
+ cFrameEvent.define_alloc_func(alloc);
120
+ cFrameEvent.define_private_method("initialize", initialize);
121
+ cFrameEvent.define_private_method("initialize_copy", initialize_copy);
122
+ cFrameEvent.define_method("frame", frame);
123
+ cFrameEvent.define_method("dx", dx);
124
+ cFrameEvent.define_method("dy", dy);
125
+ cFrameEvent.define_method("dwidth", dwidth);
126
+ cFrameEvent.define_method("dheight", dheight);
127
+ cFrameEvent.define_method("dposition", dposition);
128
+ cFrameEvent.define_method("dsize", dsize);
129
+ }
130
+
131
+
132
+ namespace Reflex
133
+ {
134
+
135
+
136
+ Class
137
+ frame_event_class ()
138
+ {
139
+ return cFrameEvent;
140
+ }
141
+
142
+
143
+ }// Reflex
@@ -0,0 +1,77 @@
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
+ RUCY_DEF_ALLOC(alloc, klass)
26
+ {
27
+ return value(new Reflex::RubyView<Reflex::ImageView>, klass);
28
+ }
29
+ RUCY_END
30
+
31
+ static
32
+ RUCY_DEF0(get_image)
33
+ {
34
+ CHECK;
35
+ Rays::Image image = THIS->get_image();
36
+ return image ? value(image) : nil();
37
+ }
38
+ RUCY_END
39
+
40
+ static
41
+ RUCY_DEF1(set_image, image)
42
+ {
43
+ CHECK;
44
+ THIS->set_image(image ? to<Rays::Image&>(image) : Rays::Image());
45
+ return image;
46
+ }
47
+ RUCY_END
48
+
49
+ static
50
+ RUCY_DEF_clear_override_flags(cof, Reflex::ImageView, cImageView);
51
+
52
+
53
+ void
54
+ Init_image_view ()
55
+ {
56
+ Module mReflex = define_module("Reflex");
57
+
58
+ cImageView = mReflex.define_class("ImageView", Reflex::view_class());
59
+ cImageView.define_alloc_func(alloc);
60
+ cImageView.define_private_method("set_image", set_image);
61
+ cImageView.define_method( "image", get_image);
62
+ cImageView.define_clear_override_flags(cof);
63
+ }
64
+
65
+
66
+ namespace Reflex
67
+ {
68
+
69
+
70
+ Class
71
+ image_view_class ()
72
+ {
73
+ return cImageView;
74
+ }
75
+
76
+
77
+ }// Reflex