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
data/src/cocoa/defs.mm DELETED
@@ -1,87 +0,0 @@
1
- // -*- c++ -*-
2
- #include "defs.h"
3
-
4
-
5
- #import <Cocoa/Cocoa.h>
6
-
7
-
8
- namespace Reflex
9
- {
10
-
11
-
12
- static const char*
13
- get_chars (NSEvent* e)
14
- {
15
- NSString* chars = [e characters];//charactersIgnoringModifiers];
16
- return [chars UTF8String];
17
- }
18
-
19
- static uint
20
- get_current_point_type ()
21
- {
22
- NSUInteger buttons = [NSEvent pressedMouseButtons];
23
- uint ret = 0;
24
- if (buttons & (1 << 0)) ret |= POINT_MOUSE_LEFT;
25
- if (buttons & (1 << 1)) ret |= POINT_MOUSE_RIGHT;
26
- if (buttons >= (1 << 2)) ret |= POINT_MOUSE_MIDDLE;
27
- return ret;
28
- }
29
-
30
- static uint
31
- get_point_type (NSEvent* e)
32
- {
33
- switch ([e type])
34
- {
35
- case NSLeftMouseDown:
36
- case NSLeftMouseUp:
37
- case NSLeftMouseDragged:
38
- return POINT_MOUSE_LEFT;
39
-
40
- case NSRightMouseDown:
41
- case NSRightMouseUp:
42
- case NSRightMouseDragged:
43
- return POINT_MOUSE_RIGHT;
44
-
45
- case NSMouseMoved:
46
- return get_current_point_type();
47
- }
48
- return 0;
49
- }
50
-
51
- static uint
52
- get_modifiers (NSEvent* e)
53
- {
54
- NSUInteger flags = [e modifierFlags];
55
- return
56
- (flags & NSAlphaShiftKeyMask) ? MOD_CAPS : 0 |
57
- (flags & NSShiftKeyMask) ? MOD_SHIFT : 0 |
58
- (flags & NSControlKeyMask) ? MOD_CONTROL : 0 |
59
- (flags & NSAlternateKeyMask) ? MOD_ALT : 0 |
60
- (flags & NSCommandKeyMask) ? MOD_COMMAND : 0 |
61
- (flags & NSNumericPadKeyMask) ? MOD_NUMPAD : 0 |
62
- (flags & NSHelpKeyMask) ? MOD_HELP : 0 |
63
- (flags & NSFunctionKeyMask) ? MOD_FUNCTION : 0;
64
- }
65
-
66
-
67
- CocoaKey::CocoaKey (NSEvent* e)
68
- : Key(get_chars(e), [e keyCode], get_modifiers(e), [e isARepeat] ? 1 : 0)
69
- {
70
- }
71
-
72
-
73
- CocoaPoints::CocoaPoints (NSEvent* e, NSView* view)
74
- : Points(
75
- get_point_type(e), (coord) 0, (coord) 0,
76
- get_modifiers(e), (uint) [e clickCount],
77
- [e type] == NSLeftMouseDragged || [e type] == NSRightMouseDragged)
78
- {
79
- NSPoint p = [e locationInWindow];
80
- NSRect b = [view bounds];
81
- if (view) p = [view convertPoint: p fromView: nil];
82
- x = p.x;
83
- y = b.size.height - p.y;
84
- }
85
-
86
-
87
- };// Reflex
data/src/cocoa/window.mm DELETED
@@ -1,148 +0,0 @@
1
- // -*- objc -*-
2
- #include "reflex/window.h"
3
-
4
-
5
- #import <Cocoa/Cocoa.h>
6
- #include <rays/bounds.h>
7
- #include "windowdata.h"
8
- #import "cocoawindow.h"
9
-
10
-
11
- namespace Reflex
12
- {
13
-
14
-
15
- void set_owner_window (View* view, Window* owner);
16
-
17
-
18
- Window::Window ()
19
- {
20
- [[[[CocoaWindow alloc] init] autorelease] bind: this];
21
-
22
- set_owner_window(self->root.get(), this);
23
-
24
- self->painter.canvas(0, 0, 1, 1);
25
- }
26
-
27
- Window::~Window ()
28
- {
29
- //close();
30
-
31
- set_owner_window(self->root.get(), NULL);
32
- }
33
-
34
- bool
35
- Window::show ()
36
- {
37
- if (!*this) return false;
38
-
39
- if (--self->hidecount == 0)
40
- [self->cocoa makeKeyAndOrderFront: nil];
41
- return true;
42
- }
43
-
44
- bool
45
- Window::hide ()
46
- {
47
- if (!*this) return false;
48
-
49
- if (++self->hidecount == 1)
50
- [self->cocoa orderOut: self->cocoa];
51
- return true;
52
- }
53
-
54
- bool
55
- Window::close ()
56
- {
57
- if (!*this) return false;
58
-
59
- [self->cocoa close];
60
- return true;
61
- }
62
-
63
- bool
64
- Window::redraw ()
65
- {
66
- if (!*this) return false;
67
-
68
- self->redraw = true;
69
- return true;
70
- }
71
-
72
- bool
73
- Window::set_title (const char* title)
74
- {
75
- if (!*this || !title) return false;
76
-
77
- [self->cocoa setTitle: [NSString stringWithUTF8String: title]];
78
- return true;
79
- }
80
-
81
- const char*
82
- Window::title () const
83
- {
84
- if (!*this) return "";
85
-
86
- NSString* s = [self->cocoa title];
87
- self->title_tmp = s ? [s UTF8String] : "";
88
- return self->title_tmp.c_str();
89
- }
90
-
91
- bool
92
- Window::set_bounds (coord x, coord y, coord width, coord height)
93
- {
94
- if (!*this) return false;
95
-
96
- NSRect frame =
97
- [CocoaWindow frameRectForContentRect: NSMakeRect(x, y, width, height)];
98
- [self->cocoa setFrame: frame display: NO animate: NO];
99
- return true;
100
- }
101
-
102
- bool
103
- Window::set_bounds (const Bounds& bounds)
104
- {
105
- return set_bounds(bounds.x, bounds.y, bounds.width, bounds.height);
106
- }
107
-
108
- Bounds
109
- Window::bounds () const
110
- {
111
- Bounds b;
112
- if (!*this) return b;
113
-
114
- NSRect frame = [self->cocoa contentRectForFrameRect: [self->cocoa frame]];
115
- b.x = frame.origin.x;
116
- b.y = frame.origin.y;
117
- b.width = frame.size.width;
118
- b.height = frame.size.height;
119
- return b;
120
- }
121
-
122
- bool
123
- Window::hidden () const
124
- {
125
- if (!*this) return false;
126
-
127
- return self->hidecount > 0;
128
- }
129
-
130
- View*
131
- Window::root ()
132
- {
133
- return self->root.get();
134
- }
135
-
136
- Painter*
137
- Window::painter ()
138
- {
139
- return &self->painter;
140
- }
141
-
142
- Window::operator bool () const
143
- {
144
- return self && *self;
145
- }
146
-
147
-
148
- }// Reflex
@@ -1,56 +0,0 @@
1
- // -*- c++ -*-
2
- #pragma once
3
- #ifndef __REFLEX_COCOA_WINDOWDATA_H__
4
- #define __REFLEX_COCOA_WINDOWDATA_H__
5
-
6
-
7
- #include <rays/painter.h>
8
- #include <reflex/window.h>
9
- #include <reflex/view.h>
10
-
11
-
12
- @class CocoaWindow;
13
-
14
-
15
- namespace Reflex
16
- {
17
-
18
-
19
- struct Window::Data
20
- {
21
-
22
- CocoaWindow* cocoa;
23
-
24
- int hidecount;
25
-
26
- bool redraw;
27
-
28
- Painter painter;
29
-
30
- View::Ref root;
31
-
32
- String title_tmp;
33
-
34
- Data ()
35
- : cocoa(nil), hidecount(1), redraw(true), root(new View)
36
- {
37
- root->set_name("root");
38
- }
39
-
40
- operator bool () const
41
- {
42
- return cocoa;
43
- }
44
-
45
- bool operator ! () const
46
- {
47
- return !operator bool();
48
- }
49
-
50
- };// Window::Data
51
-
52
-
53
- }// Reflex
54
-
55
-
56
- #endif//EOH
data/src/defs.cpp DELETED
@@ -1,47 +0,0 @@
1
- #include "reflex/defs.h"
2
-
3
-
4
- namespace Reflex
5
- {
6
-
7
-
8
- Key::Key ()
9
- : code(KEY_NONE), modifiers(MOD_NONE), repeat(0)
10
- {
11
- }
12
-
13
- Key::Key (const char* chars, int code, uint modifiers, int repeat)
14
- : chars(chars ? chars : ""), code(code), modifiers(modifiers), repeat(repeat)
15
- {
16
- }
17
-
18
-
19
- Points::Points ()
20
- : type(POINT_NONE), size(0), modifiers(MOD_NONE), count(0), drag(false),
21
- x(0), y(0)
22
- {
23
- }
24
-
25
- Points::Points (
26
- int type, coord x_, coord y_, uint modifiers, uint count, bool drag)
27
- : type(type), size(1), modifiers(modifiers), count(count), drag(drag),
28
- x(x_), y(y_)
29
- {
30
- }
31
-
32
- Points::Points (
33
- int type, const Point* points_, size_t size_,
34
- uint modifiers, uint count, bool drag)
35
- : type(type), size(size_), modifiers(modifiers), count(count), drag(drag)
36
- {
37
- if (size > MAX) size = MAX;
38
-
39
- if (points_)
40
- {
41
- for (size_t i = 0; i < size; ++i)
42
- points[i] = points_[i];
43
- }
44
- }
45
-
46
-
47
- };// Reflex
data/src/helper.h DELETED
@@ -1,12 +0,0 @@
1
- // -*- c++ -*-
2
- #pragma once
3
- #ifndef __REFLEX_HELPER_H__
4
- #define __REFLEX_HELPER_H__
5
-
6
-
7
- namespace Reflex
8
- {
9
- }// Reflex
10
-
11
-
12
- #endif//EOH
data/src/reflex.cpp DELETED
@@ -1,43 +0,0 @@
1
- #include "reflex/reflex.h"
2
-
3
-
4
- #include <reflex/application.h>
5
-
6
-
7
- namespace Reflex
8
- {
9
-
10
-
11
- bool initialized ();
12
-
13
-
14
- bool
15
- run (const char* name)
16
- {
17
- if (!initialized()) return false;
18
-
19
- Application::Ref ref;
20
- if (!app())
21
- {
22
- ref = new Application;
23
- if (!ref || !*ref) return false;
24
- }
25
-
26
- if (!app()) return false;
27
-
28
- if (name && !app()->set_name(name))
29
- return false;
30
-
31
- return app()->run();
32
- }
33
-
34
- bool
35
- quit ()
36
- {
37
- if (!initialized() || !app()) return false;
38
-
39
- return app()->quit();
40
- }
41
-
42
-
43
- }// Reflex
File without changes