reflexion 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (225) hide show
  1. checksums.yaml +7 -0
  2. data/.doc/ext/reflex/application.cpp +54 -39
  3. data/.doc/ext/reflex/capture_event.cpp +87 -0
  4. data/.doc/ext/reflex/draw_event.cpp +103 -0
  5. data/.doc/ext/reflex/event.cpp +73 -0
  6. data/.doc/ext/reflex/focus_event.cpp +98 -0
  7. data/.doc/ext/reflex/frame_event.cpp +133 -0
  8. data/.doc/ext/reflex/image_view.cpp +74 -0
  9. data/.doc/ext/reflex/key_event.cpp +124 -0
  10. data/.doc/ext/reflex/native.cpp +45 -6
  11. data/.doc/ext/reflex/pointer_event.cpp +181 -0
  12. data/.doc/ext/reflex/reflex.cpp +17 -41
  13. data/.doc/ext/reflex/scroll_event.cpp +141 -0
  14. data/.doc/ext/reflex/selector.cpp +135 -0
  15. data/.doc/ext/reflex/style.cpp +253 -0
  16. data/.doc/ext/reflex/style_length.cpp +133 -0
  17. data/.doc/ext/reflex/style_length2.cpp +149 -0
  18. data/.doc/ext/reflex/style_length4.cpp +192 -0
  19. data/.doc/ext/reflex/update_event.cpp +77 -0
  20. data/.doc/ext/reflex/view.cpp +408 -88
  21. data/.doc/ext/reflex/wheel_event.cpp +146 -0
  22. data/.doc/ext/reflex/window.cpp +95 -92
  23. data/Rakefile +6 -5
  24. data/VERSION +1 -1
  25. data/ext/reflex/application.cpp +67 -49
  26. data/ext/reflex/capture_event.cpp +92 -0
  27. data/ext/reflex/draw_event.cpp +110 -0
  28. data/ext/reflex/event.cpp +77 -0
  29. data/ext/reflex/extconf.rb +18 -68
  30. data/ext/reflex/focus_event.cpp +104 -0
  31. data/ext/reflex/frame_event.cpp +143 -0
  32. data/ext/reflex/image_view.cpp +77 -0
  33. data/ext/reflex/key_event.cpp +133 -0
  34. data/ext/reflex/native.cpp +45 -6
  35. data/ext/reflex/pointer_event.cpp +195 -0
  36. data/ext/reflex/reflex.cpp +21 -47
  37. data/ext/reflex/scroll_event.cpp +152 -0
  38. data/ext/reflex/selector.cpp +144 -0
  39. data/ext/reflex/style.cpp +277 -0
  40. data/ext/reflex/style_length.cpp +140 -0
  41. data/ext/reflex/style_length2.cpp +157 -0
  42. data/ext/reflex/style_length4.cpp +204 -0
  43. data/ext/reflex/update_event.cpp +81 -0
  44. data/ext/reflex/view.cpp +469 -114
  45. data/ext/reflex/wheel_event.cpp +158 -0
  46. data/ext/reflex/window.cpp +130 -123
  47. data/include/reflex/application.h +12 -7
  48. data/include/reflex/defs.h +13 -89
  49. data/include/reflex/event.h +260 -0
  50. data/include/reflex/exception.h +17 -11
  51. data/include/reflex/image_view.h +45 -0
  52. data/include/reflex/reflex.h +2 -6
  53. data/include/reflex/ruby/application.h +40 -13
  54. data/include/reflex/ruby/event.h +72 -0
  55. data/include/reflex/ruby/image_view.h +25 -0
  56. data/include/reflex/ruby/selector.h +27 -0
  57. data/include/reflex/ruby/style.h +27 -0
  58. data/include/reflex/ruby/style_length.h +37 -0
  59. data/include/reflex/ruby/view.h +193 -38
  60. data/include/reflex/ruby/window.h +123 -39
  61. data/include/reflex/ruby.h +3 -2
  62. data/include/reflex/selector.h +64 -0
  63. data/include/reflex/style.h +144 -0
  64. data/include/reflex/style_length.h +147 -0
  65. data/include/reflex/view.h +182 -19
  66. data/include/reflex/window.h +35 -19
  67. data/include/reflex.h +7 -0
  68. data/lib/reflex/application.rb +14 -5
  69. data/lib/reflex/arc_shape.rb +20 -0
  70. data/lib/reflex/button.rb +75 -0
  71. data/lib/reflex/capture_event.rb +37 -0
  72. data/lib/reflex/color.rb +13 -0
  73. data/lib/reflex/color_space.rb +13 -0
  74. data/lib/reflex/draw_event.rb +19 -0
  75. data/lib/reflex/ellipse_shape.rb +20 -0
  76. data/lib/reflex/ext.rb +1 -1
  77. data/lib/reflex/flags.rb +18 -0
  78. data/lib/reflex/focus_event.rb +38 -0
  79. data/lib/reflex/font.rb +13 -0
  80. data/lib/reflex/frame_event.rb +42 -0
  81. data/lib/reflex/helper.rb +87 -30
  82. data/lib/reflex/image_view.rb +25 -0
  83. data/lib/reflex/key_event.rb +38 -0
  84. data/lib/reflex/line_shape.rb +20 -0
  85. data/lib/reflex/list_view.rb +15 -0
  86. data/lib/reflex/model.rb +149 -0
  87. data/lib/reflex/model_owner.rb +57 -0
  88. data/lib/reflex/model_view.rb +22 -0
  89. data/lib/reflex/module.rb +11 -7
  90. data/lib/reflex/pointer_event.rb +85 -0
  91. data/lib/reflex/rect_shape.rb +20 -0
  92. data/lib/reflex/reflex.rb +13 -2
  93. data/lib/reflex/scroll_event.rb +19 -0
  94. data/lib/reflex/selector.rb +31 -0
  95. data/lib/reflex/shader.rb +13 -0
  96. data/lib/reflex/shape.rb +34 -0
  97. data/lib/reflex/style.rb +55 -0
  98. data/lib/reflex/style_length.rb +30 -0
  99. data/lib/reflex/style_length2.rb +34 -0
  100. data/lib/reflex/style_length4.rb +38 -0
  101. data/lib/reflex/text_view.rb +55 -0
  102. data/lib/reflex/update_event.rb +19 -0
  103. data/lib/reflex/view.rb +38 -4
  104. data/lib/reflex/wheel_event.rb +19 -0
  105. data/lib/reflex/window.rb +7 -5
  106. data/lib/reflex.rb +38 -1
  107. data/lib/reflexion/include.rb +5 -0
  108. data/lib/reflexion.rb +100 -0
  109. data/reflex.gemspec +3 -4
  110. data/samples/app.rb +13 -0
  111. data/samples/bats.rb +91 -0
  112. data/samples/checker.rb +36 -0
  113. data/{examples/ruby/shapes.rb → samples/fans.rb} +12 -16
  114. data/samples/fps.rb +46 -0
  115. data/samples/grid.rb +60 -0
  116. data/{examples/ruby → samples}/hello.rb +14 -16
  117. data/samples/image.rb +44 -0
  118. data/samples/ios/hello/hello/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
  119. data/samples/ios/hello/hello/Images.xcassets/LaunchImage.launchimage/Contents.json +51 -0
  120. data/samples/ios/hello/hello/en.lproj/InfoPlist.strings +2 -0
  121. data/samples/ios/hello/hello/hello-Info.plist +47 -0
  122. data/samples/ios/hello/hello/hello-Prefix.pch +10 -0
  123. data/samples/ios/hello/hello/main.cpp +79 -0
  124. data/samples/ios/hello/hello.xcodeproj/project.pbxproj +725 -0
  125. data/{examples/ruby → samples}/key.rb +11 -14
  126. data/samples/layout.rb +89 -0
  127. data/samples/model.rb +86 -0
  128. data/samples/osx/hello/hello/Images.xcassets/AppIcon.appiconset/Contents.json +58 -0
  129. data/samples/osx/hello/hello/en.lproj/Credits.rtf +29 -0
  130. data/samples/osx/hello/hello/en.lproj/InfoPlist.strings +2 -0
  131. data/samples/osx/hello/hello/hello-Info.plist +32 -0
  132. data/samples/osx/hello/hello/hello-Prefix.pch +3 -0
  133. data/samples/osx/hello/hello/main.cpp +79 -0
  134. data/samples/osx/hello/hello.xcodeproj/project.pbxproj +725 -0
  135. data/samples/reflexion/hello.rb +24 -0
  136. data/samples/reflexion/paint.rb +40 -0
  137. data/samples/reflexion/pulse.rb +34 -0
  138. data/samples/repl.rb +69 -0
  139. data/samples/shader.rb +41 -0
  140. data/samples/shapes.rb +30 -0
  141. data/{examples/ruby → samples}/text.rb +7 -8
  142. data/samples/tree.rb +71 -0
  143. data/samples/views.rb +41 -0
  144. data/samples/visuals.rb +22 -0
  145. data/src/event.cpp +225 -0
  146. data/src/exception.cpp +24 -15
  147. data/src/image_view.cpp +70 -0
  148. data/src/ios/app_delegate.h +17 -0
  149. data/src/ios/app_delegate.mm +120 -0
  150. data/src/ios/application.mm +116 -0
  151. data/src/{cocoa/applicationdata.h → ios/application_data.h} +6 -6
  152. data/src/ios/event.h +26 -0
  153. data/src/ios/event.mm +31 -0
  154. data/src/ios/native_window.h +37 -0
  155. data/src/ios/native_window.mm +220 -0
  156. data/src/ios/opengl_view.h +13 -0
  157. data/src/ios/opengl_view.mm +131 -0
  158. data/src/{cocoa → ios}/reflex.mm +8 -12
  159. data/src/ios/window.mm +303 -0
  160. data/src/ios/window_data.h +75 -0
  161. data/src/osx/app_delegate.h +17 -0
  162. data/src/{cocoa/cocoaapplication.mm → osx/app_delegate.mm} +90 -48
  163. data/src/osx/application.mm +132 -0
  164. data/src/osx/application_data.h +45 -0
  165. data/src/osx/event.h +42 -0
  166. data/src/osx/event.mm +112 -0
  167. data/src/osx/native_window.h +26 -0
  168. data/src/osx/native_window.mm +322 -0
  169. data/src/{cocoa/openglview.h → osx/opengl_view.h} +0 -4
  170. data/src/{cocoa/openglview.mm → osx/opengl_view.mm} +66 -23
  171. data/src/osx/reflex.mm +50 -0
  172. data/src/osx/window.mm +308 -0
  173. data/src/osx/window_data.h +75 -0
  174. data/src/selector.cpp +121 -0
  175. data/src/style.cpp +576 -0
  176. data/src/style_length.cpp +341 -0
  177. data/src/view.cpp +1228 -129
  178. data/src/win32/application.cpp +1 -1
  179. data/src/window.cpp +54 -26
  180. data/test/helper.rb +8 -4
  181. data/test/test_capture_event.rb +41 -0
  182. data/test/test_event.rb +20 -0
  183. data/test/test_has_frame.rb +45 -0
  184. data/test/test_model.rb +9 -0
  185. data/test/test_model_owner.rb +9 -0
  186. data/test/test_selector.rb +75 -0
  187. data/test/test_style.rb +70 -0
  188. data/test/test_style_length.rb +38 -0
  189. data/test/test_style_length2.rb +50 -0
  190. data/test/test_style_length4.rb +56 -0
  191. data/test/test_view.rb +97 -23
  192. data/test/test_window.rb +54 -46
  193. metadata +205 -84
  194. data/.doc/ext/reflex/defs.cpp +0 -8
  195. data/.doc/ext/reflex/key.cpp +0 -122
  196. data/.doc/ext/reflex/points.cpp +0 -151
  197. data/.gitignore +0 -14
  198. data/ChangeLog +0 -8
  199. data/examples/hello/.gitignore +0 -2
  200. data/examples/hello/Rakefile +0 -41
  201. data/examples/hello/main.cpp +0 -18
  202. data/examples/ruby/app.rb +0 -13
  203. data/examples/ruby/checker.rb +0 -41
  204. data/examples/ruby/fps.rb +0 -49
  205. data/examples/ruby/grid.rb +0 -65
  206. data/examples/ruby/views.rb +0 -88
  207. data/examples/ruby/visuals.rb +0 -27
  208. data/ext/reflex/defs.cpp +0 -8
  209. data/ext/reflex/key.cpp +0 -129
  210. data/ext/reflex/points.cpp +0 -161
  211. data/include/reflex/ruby/key.h +0 -39
  212. data/include/reflex/ruby/points.h +0 -39
  213. data/lib/reflex/visuals/string.rb +0 -53
  214. data/src/cocoa/application.mm +0 -101
  215. data/src/cocoa/cocoaapplication.h +0 -21
  216. data/src/cocoa/cocoawindow.h +0 -46
  217. data/src/cocoa/cocoawindow.mm +0 -230
  218. data/src/cocoa/defs.h +0 -34
  219. data/src/cocoa/defs.mm +0 -87
  220. data/src/cocoa/window.mm +0 -148
  221. data/src/cocoa/windowdata.h +0 -56
  222. data/src/defs.cpp +0 -47
  223. data/src/helper.h +0 -12
  224. data/src/reflex.cpp +0 -43
  225. /data/{README → README.md} +0 -0
@@ -0,0 +1,158 @@
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 cWheelEvent;
15
+
16
+ RUCY_DEFINE_VALUE_FROM_TO(Reflex::WheelEvent, cWheelEvent)
17
+
18
+ #define THIS to<Reflex::WheelEvent*>(self)
19
+
20
+ #define CHECK RUCY_CHECK_OBJ(Reflex::WheelEvent, cWheelEvent, self)
21
+
22
+
23
+ static
24
+ RUCY_DEF_ALLOC(alloc, klass)
25
+ {
26
+ return new_type<Reflex::WheelEvent>(klass);
27
+ }
28
+ RUCY_END
29
+
30
+ static
31
+ RUCY_DEFN(initialize)
32
+ {
33
+ CHECK;
34
+ check_arg_count(__FILE__, __LINE__, "WheelEvent#initialize", argc, 0, 1, 2, 3);
35
+
36
+ THIS->dx = (argc >= 1) ? to<coord>(argv[0]) : 0;
37
+ THIS->dy = (argc >= 2) ? to<coord>(argv[1]) : 0;
38
+ THIS->dz = (argc >= 3) ? to<coord>(argv[2]) : 0;
39
+
40
+ return rb_call_super(0, NULL);
41
+ }
42
+ RUCY_END
43
+
44
+ static
45
+ RUCY_DEF1(initialize_copy, obj)
46
+ {
47
+ CHECK;
48
+ *THIS = to<Reflex::WheelEvent&>(obj);
49
+ return self;
50
+ }
51
+ RUCY_END
52
+
53
+ static
54
+ RUCY_DEF0(dx)
55
+ {
56
+ CHECK;
57
+ return value(THIS->dx);
58
+ }
59
+ RUCY_END
60
+
61
+ static
62
+ RUCY_DEF0(dy)
63
+ {
64
+ CHECK;
65
+ return value(THIS->dy);
66
+ }
67
+ RUCY_END
68
+
69
+ static
70
+ RUCY_DEF0(dz)
71
+ {
72
+ CHECK;
73
+ return value(THIS->dz);
74
+ }
75
+ RUCY_END
76
+
77
+ static
78
+ RUCY_DEF0(x)
79
+ {
80
+ CHECK;
81
+ return value(THIS->x);
82
+ }
83
+ RUCY_END
84
+
85
+ static
86
+ RUCY_DEF0(y)
87
+ {
88
+ CHECK;
89
+ return value(THIS->y);
90
+ }
91
+ RUCY_END
92
+
93
+ static
94
+ RUCY_DEF0(z)
95
+ {
96
+ CHECK;
97
+ return value(THIS->z);
98
+ }
99
+ RUCY_END
100
+
101
+ static
102
+ RUCY_DEF0(modifiers)
103
+ {
104
+ CHECK;
105
+ return value(THIS->modifiers);
106
+ }
107
+ RUCY_END
108
+
109
+ static
110
+ RUCY_DEF0(delta)
111
+ {
112
+ CHECK;
113
+ return value(Rays::Point(THIS->dx, THIS->dy, THIS->dz));
114
+ }
115
+ RUCY_END
116
+
117
+ static
118
+ RUCY_DEF0(position)
119
+ {
120
+ CHECK;
121
+ return value(Rays::Point(THIS->x, THIS->y, THIS->z));
122
+ }
123
+ RUCY_END
124
+
125
+
126
+ void
127
+ Init_wheel_event ()
128
+ {
129
+ Module mReflex = define_module("Reflex");
130
+
131
+ cWheelEvent = mReflex.define_class("WheelEvent", Reflex::event_class());
132
+ cWheelEvent.define_alloc_func(alloc);
133
+ cWheelEvent.define_private_method("initialize", initialize);
134
+ cWheelEvent.define_private_method("initialize_copy", initialize_copy);
135
+ cWheelEvent.define_method("dx", dx);
136
+ cWheelEvent.define_method("dy", dy);
137
+ cWheelEvent.define_method("dz", dz);
138
+ cWheelEvent.define_method("x", x);
139
+ cWheelEvent.define_method("y", y);
140
+ cWheelEvent.define_method("z", z);
141
+ cWheelEvent.define_method("modifiers", modifiers);
142
+ cWheelEvent.define_method("delta", delta);
143
+ cWheelEvent.define_method("position", position);
144
+ }
145
+
146
+
147
+ namespace Reflex
148
+ {
149
+
150
+
151
+ Class
152
+ wheel_event_class ()
153
+ {
154
+ return cWheelEvent;
155
+ }
156
+
157
+
158
+ }// Reflex
@@ -2,9 +2,9 @@
2
2
 
3
3
 
4
4
  #include <rucy.h>
5
+ #include <rays/ruby/bounds.h>
5
6
  #include <rays/ruby/painter.h>
6
- #include <reflex/ruby/view.h>
7
- #include "defs.h"
7
+ #include "reflex/ruby/view.h"
8
8
 
9
9
 
10
10
  using namespace Rucy;
@@ -14,233 +14,221 @@ using Reflex::coord;
14
14
 
15
15
  static Class cWindow;
16
16
 
17
-
18
- namespace Reflex
19
- {
20
-
21
-
22
- Class
23
- window_class ()
24
- {
25
- return cWindow;
26
- }
27
-
28
-
29
- }// Reflex
30
-
31
-
32
- typedef Reflex::RubyWindow<Reflex::Window> RubyWindow;
33
-
17
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(Reflex::Window, cWindow)
34
18
 
35
19
  #define THIS to<Reflex::Window*>(self)
36
20
 
37
- #define CHECK RUCY_CHECK_OBJECT(self, Reflex::Window, cWindow)
21
+ #define CHECK RUCY_CHECK_OBJECT(Reflex::Window, cWindow, self)
38
22
 
39
- #define CALL(fun) RUCY_WRAPPER_CALL(RubyWindow, THIS, fun)
23
+ #define CALL(fun) RUCY_WRAPPER_CALL(Reflex::Window, THIS, fun)
40
24
 
41
25
 
42
26
  static
43
- RUBY_DEF_ALLOC(alloc, klass)
27
+ RUCY_DEF_ALLOC(alloc, klass)
44
28
  {
45
- return value(new RubyWindow, klass);
29
+ return value(new Reflex::RubyWindow<Reflex::Window>, klass);
46
30
  }
47
- RUBY_END
31
+ RUCY_END
48
32
 
49
33
  static
50
- RUBY_DEF0(close)
34
+ RUCY_DEF0(close)
51
35
  {
52
36
  CHECK;
53
- if (!CALL(close()))
54
- system_error("failed to close window.");
37
+ CALL(close());
55
38
  return self;
56
39
  }
57
- RUBY_END
40
+ RUCY_END
58
41
 
59
42
  static
60
- RUBY_DEF0(show)
43
+ RUCY_DEF0(show)
61
44
  {
62
45
  CHECK;
63
- if (!CALL(show()))
64
- system_error("failed to show window.");
46
+ CALL(show());
65
47
  return self;
66
48
  }
67
- RUBY_END
49
+ RUCY_END
68
50
 
69
51
  static
70
- RUBY_DEF0(hide)
52
+ RUCY_DEF0(hide)
71
53
  {
72
54
  CHECK;
73
- if (!CALL(hide()))
74
- system_error("failed to hide window.");
55
+ CALL(hide());
75
56
  return self;
76
57
  }
77
- RUBY_END
58
+ RUCY_END
78
59
 
79
60
  static
80
- RUBY_DEF0(redraw)
61
+ RUCY_DEF0(redraw)
81
62
  {
82
63
  CHECK;
83
- if (!THIS->redraw())
84
- system_error("failed to redraw window.");
64
+ THIS->redraw();
85
65
  return self;
86
66
  }
87
- RUBY_END
67
+ RUCY_END
88
68
 
89
69
  static
90
- RUBY_DEF1(set_title, title)
70
+ RUCY_DEF1(set_title, title)
91
71
  {
92
72
  CHECK;
93
- if (!THIS->set_title(title.c_str()))
94
- system_error("failed to set title of window.");
73
+ THIS->set_title(title.c_str());
95
74
  return title;
96
75
  }
97
- RUBY_END
76
+ RUCY_END
98
77
 
99
78
  static
100
- RUBY_DEF0(get_title)
79
+ RUCY_DEF0(get_title)
101
80
  {
102
81
  CHECK;
103
- const char* s = THIS->title();
104
- if (!s) system_error("failed to get title of window.");
105
- return value(s);
82
+ return value(THIS->title());
106
83
  }
107
- RUBY_END
84
+ RUCY_END
108
85
 
109
86
  static
110
- RUBY_DEF4(set_bounds, x, y, width, height)
87
+ RUCY_DEF1(set_frame, arg)
111
88
  {
112
89
  CHECK;
113
- if (!THIS->set_bounds(
114
- to<coord>(x), to<coord>(y), to<coord>(width), to<coord>(height)))
115
- {
116
- system_error("failed to set bounds of window.");
117
- }
118
- return value(THIS->bounds());
90
+ THIS->set_frame(to<Rays::Bounds>(arg));
119
91
  }
120
- RUBY_END
92
+ RUCY_END
121
93
 
122
94
  static
123
- RUBY_DEF0(get_bounds)
95
+ RUCY_DEF0(get_frame)
124
96
  {
125
97
  CHECK;
126
- return value(THIS->bounds());
98
+ return value(THIS->frame());
127
99
  }
128
- RUBY_END
100
+ RUCY_END
129
101
 
130
102
  static
131
- RUBY_DEF0(hidden)
103
+ RUCY_DEF0(hidden)
132
104
  {
133
105
  CHECK;
134
106
  return value(THIS->hidden());
135
107
  }
136
- RUBY_END
108
+ RUCY_END
137
109
 
138
110
  static
139
- RUBY_DEF0(root)
111
+ RUCY_DEF0(root)
140
112
  {
141
113
  CHECK;
142
114
  return value(THIS->root());
143
115
  }
144
- RUBY_END
116
+ RUCY_END
117
+
118
+ static
119
+ RUCY_DEF0(focus)
120
+ {
121
+ CHECK;
122
+ return value(THIS->focus());
123
+ }
124
+ RUCY_END
145
125
 
146
126
  static
147
- RUBY_DEF0(painter)
127
+ RUCY_DEF0(painter)
148
128
  {
149
129
  CHECK;
150
130
  return value(THIS->painter());
151
131
  }
152
- RUBY_END
132
+ RUCY_END
153
133
 
154
134
  static
155
- RUBY_DEF1(update, dt)
135
+ RUCY_DEF1(on_update, event)
156
136
  {
157
137
  CHECK;
158
- CALL(update(to<float>(dt)));
159
- return self;
138
+ CALL(on_update(to<Reflex::UpdateEvent*>(event)));
160
139
  }
161
- RUBY_END
140
+ RUCY_END
162
141
 
163
142
  static
164
- RUBY_DEF0(draw)
143
+ RUCY_DEF1(on_draw, event)
165
144
  {
166
145
  CHECK;
167
- CALL(draw());
168
- return self;
146
+ CALL(on_draw(to<Reflex::DrawEvent*>(event)));
169
147
  }
170
- RUBY_END
148
+ RUCY_END
171
149
 
172
150
  static
173
- RUBY_DEF2(moved, x, y)
151
+ RUCY_DEF1(on_move, event)
174
152
  {
175
153
  CHECK;
176
- CALL(moved(to<coord>(x), to<coord>(y)));
177
- return self;
154
+ CALL(on_move(to<Reflex::FrameEvent*>(event)));
178
155
  }
179
- RUBY_END
156
+ RUCY_END
180
157
 
181
158
  static
182
- RUBY_DEF2(resized, width, height)
159
+ RUCY_DEF1(on_resize, event)
183
160
  {
184
161
  CHECK;
185
- CALL(resized(to<coord>(width), to<coord>(height)));
186
- return self;
162
+ CALL(on_resize(to<Reflex::FrameEvent*>(event)));
187
163
  }
188
- RUBY_END
164
+ RUCY_END
189
165
 
190
166
  static
191
- RUBY_DEF1(key_down, key)
167
+ RUCY_DEF1(on_key, event)
192
168
  {
193
169
  CHECK;
194
- Reflex::Key* k = to<Reflex::Key*>(key);
195
- if (!k) argument_error();
196
- CALL(key_down(*k));
197
- return self;
170
+ CALL(on_key(to<Reflex::KeyEvent*>(event)));
198
171
  }
199
- RUBY_END
172
+ RUCY_END
200
173
 
201
174
  static
202
- RUBY_DEF1(key_up, key)
175
+ RUCY_DEF1(on_key_down, event)
203
176
  {
204
177
  CHECK;
205
- Reflex::Key* k = to<Reflex::Key*>(key);
206
- if (!k) argument_error();
207
- CALL(key_up(*k));
208
- return self;
178
+ CALL(on_key_down(to<Reflex::KeyEvent*>(event)));
209
179
  }
210
- RUBY_END
180
+ RUCY_END
211
181
 
212
182
  static
213
- RUBY_DEF1(points_down, points)
183
+ RUCY_DEF1(on_key_up, event)
214
184
  {
215
185
  CHECK;
216
- Reflex::Points* p = to<Reflex::Points*>(points);
217
- if (!p) argument_error();
218
- CALL(points_down(*p));
219
- return self;
186
+ CALL(on_key_up(to<Reflex::KeyEvent*>(event)));
220
187
  }
221
- RUBY_END
188
+ RUCY_END
222
189
 
223
190
  static
224
- RUBY_DEF1(points_up, points)
191
+ RUCY_DEF1(on_pointer, event)
225
192
  {
226
193
  CHECK;
227
- Reflex::Points* p = to<Reflex::Points*>(points);
228
- if (!p) argument_error();
229
- CALL(points_up(*p));
230
- return self;
194
+ CALL(on_pointer(to<Reflex::PointerEvent*>(event)));
231
195
  }
232
- RUBY_END
196
+ RUCY_END
233
197
 
234
198
  static
235
- RUBY_DEF1(points_moved, points)
199
+ RUCY_DEF1(on_pointer_down, event)
236
200
  {
237
201
  CHECK;
238
- Reflex::Points* p = to<Reflex::Points*>(points);
239
- if (!p) argument_error();
240
- CALL(points_moved(*p));
241
- return self;
202
+ CALL(on_pointer_down(to<Reflex::PointerEvent*>(event)));
242
203
  }
243
- RUBY_END
204
+ RUCY_END
205
+
206
+ static
207
+ RUCY_DEF1(on_pointer_up, event)
208
+ {
209
+ CHECK;
210
+ CALL(on_pointer_up(to<Reflex::PointerEvent*>(event)));
211
+ }
212
+ RUCY_END
213
+
214
+ static
215
+ RUCY_DEF1(on_pointer_move, event)
216
+ {
217
+ CHECK;
218
+ CALL(on_pointer_move(to<Reflex::PointerEvent*>(event)));
219
+ }
220
+ RUCY_END
221
+
222
+ static
223
+ RUCY_DEF1(on_wheel, event)
224
+ {
225
+ CHECK;
226
+ CALL(on_wheel(to<Reflex::WheelEvent*>(event)));
227
+ }
228
+ RUCY_END
229
+
230
+ static
231
+ RUCY_DEF_clear_override_flags(cof, Reflex::Window, cWindow);
244
232
 
245
233
 
246
234
  void
@@ -256,18 +244,37 @@ Init_window ()
256
244
  cWindow.define_method("redraw", redraw);
257
245
  cWindow.define_method("title=", set_title);
258
246
  cWindow.define_method("title", get_title);
259
- cWindow.define_private_method("set_bounds", set_bounds);
260
- cWindow.define_private_method("get_bounds", get_bounds);
247
+ cWindow.define_private_method("set_frame", set_frame);
248
+ cWindow.define_private_method("get_frame", get_frame);
261
249
  cWindow.define_method("hidden", hidden);
262
250
  cWindow.define_method("root", root);
251
+ cWindow.define_method("focus", focus);
263
252
  cWindow.define_method("painter", painter);
264
- cWindow.define_method("update", update);
265
- cWindow.define_method("draw", draw);
266
- cWindow.define_method("moved", moved);
267
- cWindow.define_method("resized", resized);
268
- cWindow.define_method("key_down", key_down);
269
- cWindow.define_method("key_up", key_up);
270
- cWindow.define_method("points_down", points_down);
271
- cWindow.define_method("points_up", points_up);
272
- cWindow.define_method("points_moved", points_moved);
253
+ cWindow.define_method("on_update", on_update);
254
+ cWindow.define_method("on_draw", on_draw);
255
+ cWindow.define_method("on_move", on_move);
256
+ cWindow.define_method("on_resize", on_resize);
257
+ cWindow.define_method("on_key", on_key);
258
+ cWindow.define_method("on_key_down", on_key_down);
259
+ cWindow.define_method("on_key_up", on_key_up);
260
+ cWindow.define_method("on_pointer", on_pointer);
261
+ cWindow.define_method("on_pointer_down", on_pointer_down);
262
+ cWindow.define_method("on_pointer_up", on_pointer_up);
263
+ cWindow.define_method("on_pointer_move", on_pointer_move);
264
+ cWindow.define_method("on_wheel", on_wheel);
265
+ cWindow.define_clear_override_flags(cof);
273
266
  }
267
+
268
+
269
+ namespace Reflex
270
+ {
271
+
272
+
273
+ Class
274
+ window_class ()
275
+ {
276
+ return cWindow;
277
+ }
278
+
279
+
280
+ }// Reflex
@@ -7,6 +7,7 @@
7
7
  #include <xot/ref.h>
8
8
  #include <xot/pimpl.h>
9
9
  #include <reflex/defs.h>
10
+ #include <reflex/event.h>
10
11
 
11
12
 
12
13
  namespace Reflex
@@ -24,17 +25,21 @@ namespace Reflex
24
25
 
25
26
  Application ();
26
27
 
27
- virtual bool run ();
28
+ virtual void start ();
28
29
 
29
- virtual bool quit ();
30
+ virtual void quit ();
30
31
 
31
- virtual bool preference ();
32
+ virtual void set_name (const char* name);
32
33
 
33
- virtual bool about ();
34
+ virtual const char* name () const;
34
35
 
35
- virtual bool set_name (const char* name);
36
+ virtual void on_start (Event* e);
36
37
 
37
- virtual const char* name () const;
38
+ virtual void on_quit (Event* e);
39
+
40
+ virtual void on_preference (Event* e);
41
+
42
+ virtual void on_about (Event* e);
38
43
 
39
44
  operator bool () const;
40
45
 
@@ -42,7 +47,7 @@ namespace Reflex
42
47
 
43
48
  struct Data;
44
49
 
45
- Xot::PImpl<Data, true> self;
50
+ Xot::PImpl<Data> self;
46
51
 
47
52
  protected:
48
53