reflexion 0.1.21 → 0.1.22

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 (66) hide show
  1. checksums.yaml +4 -4
  2. data/.doc/ext/reflex/contact_event.cpp +6 -6
  3. data/.doc/ext/reflex/focus_event.cpp +6 -6
  4. data/.doc/ext/reflex/key_event.cpp +210 -12
  5. data/.doc/ext/reflex/pointer_event.cpp +21 -21
  6. data/VERSION +1 -1
  7. data/ext/reflex/contact_event.cpp +6 -6
  8. data/ext/reflex/focus_event.cpp +6 -6
  9. data/ext/reflex/key_event.cpp +211 -12
  10. data/ext/reflex/pointer_event.cpp +21 -21
  11. data/include/reflex/defs.h +143 -91
  12. data/lib/reflex/application.rb +3 -3
  13. data/lib/reflex/autoinit.rb +1 -1
  14. data/lib/reflex/button.rb +7 -7
  15. data/lib/reflex/capture_event.rb +7 -7
  16. data/lib/reflex/contact_event.rb +4 -4
  17. data/lib/reflex/draw_event.rb +2 -2
  18. data/lib/reflex/ellipse_shape.rb +2 -2
  19. data/lib/reflex/focus_event.rb +4 -4
  20. data/lib/reflex/frame_event.rb +5 -5
  21. data/lib/reflex/helper.rb +20 -20
  22. data/lib/reflex/image_view.rb +2 -2
  23. data/lib/reflex/key_event.rb +5 -5
  24. data/lib/reflex/model.rb +22 -22
  25. data/lib/reflex/model_owner.rb +7 -7
  26. data/lib/reflex/model_view.rb +1 -1
  27. data/lib/reflex/module.rb +5 -5
  28. data/lib/reflex/pointer_event.rb +12 -12
  29. data/lib/reflex/polygon_shape.rb +2 -2
  30. data/lib/reflex/reflex.rb +3 -3
  31. data/lib/reflex/scroll_event.rb +1 -1
  32. data/lib/reflex/selector.rb +4 -4
  33. data/lib/reflex/shape.rb +13 -13
  34. data/lib/reflex/style.rb +11 -11
  35. data/lib/reflex/style_length.rb +1 -1
  36. data/lib/reflex/text_view.rb +2 -2
  37. data/lib/reflex/timer.rb +2 -2
  38. data/lib/reflex/timer_event.rb +1 -1
  39. data/lib/reflex/update_event.rb +1 -1
  40. data/lib/reflex/view.rb +32 -32
  41. data/lib/reflex/wheel_event.rb +3 -3
  42. data/lib/reflex/window.rb +5 -5
  43. data/lib/reflexion.rb +17 -17
  44. data/reflex.gemspec +4 -4
  45. data/samples/reflexion/noise.rb +1 -1
  46. data/samples/tree.rb +1 -1
  47. data/src/ios/window.mm +1 -1
  48. data/src/osx/event.h +8 -0
  49. data/src/osx/event.mm +173 -1
  50. data/src/osx/native_window.mm +5 -1
  51. data/src/view.cpp +38 -10
  52. data/src/window.cpp +1 -1
  53. data/test/helper.rb +3 -3
  54. data/test/test_application.rb +1 -1
  55. data/test/test_capture_event.rb +6 -6
  56. data/test/test_event.rb +2 -2
  57. data/test/test_has_frame.rb +11 -11
  58. data/test/test_pointer_event.rb +13 -13
  59. data/test/test_reflex.rb +1 -1
  60. data/test/test_selector.rb +8 -8
  61. data/test/test_shape.rb +8 -8
  62. data/test/test_style.rb +13 -13
  63. data/test/test_style_length.rb +5 -5
  64. data/test/test_view.rb +30 -30
  65. data/test/test_window.rb +10 -10
  66. metadata +10 -10
@@ -68,98 +68,89 @@ namespace Reflex
68
68
 
69
69
  KEY_NONE = 0,
70
70
 
71
+ KEY_A,
72
+ KEY_B,
73
+ KEY_C,
74
+ KEY_D,
75
+ KEY_E,
76
+ KEY_F,
77
+ KEY_G,
78
+ KEY_H,
79
+ KEY_I,
80
+ KEY_J,
81
+ KEY_K,
82
+ KEY_L,
83
+ KEY_M,
84
+ KEY_N,
85
+ KEY_O,
86
+ KEY_P,
87
+ KEY_Q,
88
+ KEY_R,
89
+ KEY_S,
90
+ KEY_T,
91
+ KEY_U,
92
+ KEY_V,
93
+ KEY_W,
94
+ KEY_X,
95
+ KEY_Y,
96
+ KEY_Z,
97
+
98
+ KEY_0,
99
+ KEY_1,
100
+ KEY_2,
101
+ KEY_3,
102
+ KEY_4,
103
+ KEY_5,
104
+ KEY_6,
105
+ KEY_7,
106
+ KEY_8,
107
+ KEY_9,
108
+
109
+ KEY_MINUS,
110
+ KEY_EQUAL,
111
+ KEY_COMMA,
112
+ KEY_PERIOD,
113
+ KEY_SEMICOLON,
114
+ KEY_QUOTE,
115
+ KEY_SLASH,
116
+ KEY_BACKSLASH,
117
+ KEY_UNDERSCORE,
118
+ KEY_GRAVE,
119
+ KEY_YEN,
120
+ KEY_LBRACKET,
121
+ KEY_RBRACKET,
122
+
123
+ KEY_ENTER,
71
124
  KEY_RETURN,
72
- KEY_ENTER = KEY_RETURN,
73
- KEY_ESCAPE,
74
125
  KEY_SPACE,
75
- KEY_BACKSPACE,
76
126
  KEY_TAB,
127
+ KEY_DELETE,
128
+ KEY_BACKSPACE,
129
+ //KEY_INSERT,
130
+ KEY_ESCAPE,
77
131
 
78
132
  KEY_LEFT,
79
- KEY_UP,
80
133
  KEY_RIGHT,
134
+ KEY_UP,
81
135
  KEY_DOWN,
82
-
83
- KEY_INSERT,
84
- KEY_DELETE,
85
136
  KEY_HOME,
86
137
  KEY_END,
87
138
  KEY_PAGEUP,
88
139
  KEY_PAGEDOWN,
89
140
 
90
- KEY_SHIFT,
91
141
  KEY_LSHIFT,
92
142
  KEY_RSHIFT,
93
-
94
- KEY_CONTROL,
95
143
  KEY_LCONTROL,
96
144
  KEY_RCONTROL,
97
-
98
- KEY_ALT,
99
- KEY_LALT,
100
- KEY_RALT,
101
-
102
- KEY_WIN,
103
- KEY_LWIN,
104
- KEY_RWIN,
105
-
106
- KEY_OPTION = KEY_ALT,
107
- KEY_LOPTION = KEY_LALT,
108
- KEY_ROPTION = KEY_RALT,
109
-
110
- KEY_COMMAND = KEY_WIN,
111
- KEY_LCOMMAND = KEY_LWIN,
112
- KEY_RCOMMAND = KEY_RWIN,
113
-
114
- KEY_CAPSLOCK,
115
- KEY_NUMLOCK,
116
- KEY_SCROLLLOCK,
117
-
118
- KEY_PRINTSCREEN,
119
- KEY_PAUSE,
120
- KEY_BREAK,
121
-
122
- KEY_SLEEP,
123
- KEY_EXEC,//UTE,
124
- KEY_HELP,
125
- KEY_PRINT,
126
- KEY_APPS,
127
- KEY_SELECT,
128
- KEY_CLEAR,
129
- KEY_PLAY,
130
- KEY_ZOOM,
131
-
132
- KEY_IME_KANA,
133
- KEY_IME_KANJI,
134
- KEY_IME_JUNJA,
135
- KEY_IME_PROCESS,
136
- KEY_IME_ACCEPT,
137
- KEY_IME_FINAL,
138
- KEY_IME_CONVERT,
139
- KEY_IME_NONCONVERT,
140
- KEY_IME_MODECHANGE,
141
-
142
- KEY_BROWSER_BACK,
143
- KEY_BROWSER_FORWARD,
144
- KEY_BROWSER_REFRESH,
145
- KEY_BROWSER_STOP,
146
- KEY_BROWSER_SEARCH,
147
- KEY_BROWSER_FAVORITES,
148
- KEY_BROWSER_HOME,
149
-
150
- KEY_VOLUME_MUTE,
151
- KEY_VOLUME_DOWN,
152
- KEY_VOLUME_UP,
153
-
154
- KEY_MEDIA_NEXT_TRACK,
155
- KEY_MEDIA_PREV_TRACK,
156
- KEY_MEDIA_STOP,
157
- KEY_MEDIA_PLAY_PAUSE,
158
-
159
- KEY_LAUNCH_MAIL,
160
- KEY_LAUNCH_MEDIA_SELECT,
161
- KEY_LAUNCH_APP1,
162
- KEY_LAUNCH_APP2,
145
+ //KEY_LALT,
146
+ //KEY_RALT,
147
+ //KEY_LWIN,
148
+ //KEY_RWIN,
149
+ KEY_LCOMMAND,
150
+ KEY_RCOMMAND,
151
+ KEY_LOPTION,
152
+ KEY_ROPTION,
153
+ KEY_FUNCTION,
163
154
 
164
155
  KEY_F1,
165
156
  KEY_F2,
@@ -181,21 +172,82 @@ namespace Reflex
181
172
  KEY_F18,
182
173
  KEY_F19,
183
174
  KEY_F20,
184
- KEY_F21,
185
- KEY_F22,
186
- KEY_F23,
187
- KEY_F24,
188
- KEY_F25,
189
- KEY_F26,
190
- KEY_F27,
191
- KEY_F28,
192
- KEY_F29,
193
- KEY_F30,
194
- KEY_F31,
195
- KEY_F32,
196
- KEY_F33,
197
- KEY_F34,
198
- KEY_F35,
175
+ //KEY_F21,
176
+ //KEY_F22,
177
+ //KEY_F23,
178
+ //KEY_F24,
179
+
180
+ KEY_NUM_0,
181
+ KEY_NUM_1,
182
+ KEY_NUM_2,
183
+ KEY_NUM_3,
184
+ KEY_NUM_4,
185
+ KEY_NUM_5,
186
+ KEY_NUM_6,
187
+ KEY_NUM_7,
188
+ KEY_NUM_8,
189
+ KEY_NUM_9,
190
+
191
+ KEY_NUM_PLUS,
192
+ KEY_NUM_MINUS,
193
+ KEY_NUM_MULTIPLY,
194
+ KEY_NUM_DIVIDE,
195
+ KEY_NUM_EQUAL,
196
+ KEY_NUM_COMMA,
197
+ KEY_NUM_DECIMAL,
198
+ KEY_NUM_CLEAR,
199
+
200
+ KEY_CAPSLOCK,
201
+ //KEY_NUMLOCK,
202
+ //KEY_SCROLLLOCK,
203
+
204
+ //KEY_PRINTSCREEN,
205
+ //KEY_PAUSE,
206
+ //KEY_BREAK,
207
+ KEY_SECTION,
208
+ KEY_HELP,
209
+
210
+ KEY_IME_EISU,
211
+ KEY_IME_KANA,
212
+ //KEY_IME_KANJI,
213
+ //KEY_IME_JUNJA,
214
+ //KEY_IME_PROCESS,
215
+ //KEY_IME_ACCEPT,
216
+ //KEY_IME_FINAL,
217
+ //KEY_IME_CONVERT,
218
+ //KEY_IME_NONCONVERT,
219
+ //KEY_IME_MODECHANGE,
220
+
221
+ KEY_VOLUME_UP,
222
+ KEY_VOLUME_DOWN,
223
+ KEY_MUTE,
224
+
225
+ //KEY_SLEEP,
226
+ //KEY_EXEC,
227
+ //KEY_PRINT,
228
+ //KEY_APPS,
229
+ //KEY_SELECT,
230
+ //KEY_CLEAR,
231
+ //KEY_PLAY,
232
+ //KEY_ZOOM,
233
+
234
+ //KEY_BROWSER_BACK,
235
+ //KEY_BROWSER_FORWARD,
236
+ //KEY_BROWSER_REFRESH,
237
+ //KEY_BROWSER_STOP,
238
+ //KEY_BROWSER_SEARCH,
239
+ //KEY_BROWSER_FAVORITES,
240
+ //KEY_BROWSER_HOME,
241
+
242
+ //KEY_MEDIA_NEXT_TRACK,
243
+ //KEY_MEDIA_PREV_TRACK,
244
+ //KEY_MEDIA_STOP,
245
+ //KEY_MEDIA_PLAY_PAUSE,
246
+
247
+ //KEY_LAUNCH_MAIL,
248
+ //KEY_LAUNCH_MEDIA_SELECT,
249
+ //KEY_LAUNCH_APP1,
250
+ //KEY_LAUNCH_APP2,
199
251
 
200
252
  };// KeyCode
201
253
 
@@ -18,19 +18,19 @@ module Reflex
18
18
 
19
19
  universal_accessor :name
20
20
 
21
- def initialize (options = nil, &block)
21
+ def initialize(options = nil, &block)
22
22
  super()
23
23
  set options if options
24
24
  @start_block = block if block
25
25
  end
26
26
 
27
- def self.start (*args, &block)
27
+ def self.start(*args, &block)
28
28
  new(*args, &block).start
29
29
  end
30
30
 
31
31
  private
32
32
 
33
- def call_start_block ()
33
+ def call_start_block()
34
34
  return unless @start_block
35
35
  Xot::BlockUtil.instance_eval_or_block_call self, &@start_block
36
36
  @start_block = nil
@@ -5,7 +5,7 @@ require 'rays/autoinit'
5
5
  require 'reflex/ext'
6
6
 
7
7
 
8
- unless $REFLEX_NOAUTOINIT
8
+ unless defined?($REFLEX_NOAUTOINIT) && $REFLEX_NOAUTOINIT
9
9
  Reflex.init!
10
10
  at_exit {Reflex.fin!}
11
11
  end
data/lib/reflex/button.rb CHANGED
@@ -13,21 +13,21 @@ module Reflex
13
13
 
14
14
  attr_accessor :text
15
15
 
16
- def initialize (*args, &block)
16
+ def initialize(*args, &block)
17
17
  self.data = false
18
18
  super
19
19
  self.text = self.name unless self.text
20
20
  end
21
21
 
22
- def content_bounds ()
22
+ def content_bounds()
23
23
  f = window.painter.font
24
24
  return f.width(@text) + 2, f.height + 2
25
25
  end
26
26
 
27
- def on_press (e)
27
+ def on_press(e)
28
28
  end
29
29
 
30
- def on_draw (e)
30
+ def on_draw(e)
31
31
  e.painter.push fill: (pressing? ? :white : :none), stroke: :white do |p|
32
32
  p.rect e.bounds
33
33
 
@@ -43,7 +43,7 @@ module Reflex
43
43
  end
44
44
  end
45
45
 
46
- def on_pointer (e)
46
+ def on_pointer(e)
47
47
  case e.type
48
48
  when :down
49
49
  self.capture += [:pointer]
@@ -60,13 +60,13 @@ module Reflex
60
60
  end
61
61
  end
62
62
 
63
- def on_data_update (e)
63
+ def on_data_update(e)
64
64
  on_press({}) if e.data
65
65
  end
66
66
 
67
67
  private
68
68
 
69
- def pressing? ()
69
+ def pressing?()
70
70
  capturing? :pointer
71
71
  end
72
72
 
@@ -10,25 +10,25 @@ module Reflex
10
10
 
11
11
  class CaptureEvent < Event
12
12
 
13
- def begin ()
13
+ def begin()
14
14
  View.capture_flag.bits2symbols get_begin
15
15
  end
16
16
 
17
- def begin? (*symbols)
18
- bits = View.capture_flag.symbols2bits *symbols
17
+ def begin?(*symbols)
18
+ bits = View.capture_flag.symbols2bits(*symbols)
19
19
  (bits & get_begin) == bits
20
20
  end
21
21
 
22
- def end ()
22
+ def end()
23
23
  View.capture_flag.bits2symbols get_end
24
24
  end
25
25
 
26
- def end? (*symbols)
27
- bits = View.capture_flag.symbols2bits *symbols
26
+ def end?(*symbols)
27
+ bits = View.capture_flag.symbols2bits(*symbols)
28
28
  (bits & get_end) == bits
29
29
  end
30
30
 
31
- def inspect ()
31
+ def inspect()
32
32
  "#<Reflex::CaptureEvent begin:#{self.begin} end:#{self.end}}>"
33
33
  end
34
34
 
@@ -12,21 +12,21 @@ module Reflex
12
12
 
13
13
  alias get_type type
14
14
 
15
- const_symbol_reader :type, {
15
+ const_symbol_reader :type, **{
16
16
  none: TYPE_NONE,
17
17
  begin: TYPE_BEGIN,
18
18
  end: TYPE_END
19
19
  }
20
20
 
21
- def begin? ()
21
+ def begin?()
22
22
  get_type == TYPE_BEGIN
23
23
  end
24
24
 
25
- def end? ()
25
+ def end?()
26
26
  get_type == TYPE_END
27
27
  end
28
28
 
29
- def inspect ()
29
+ def inspect()
30
30
  "#<Reflex::ContactEvent type:#{type} shape:#{shape} view:#{view}>"
31
31
  end
32
32
 
@@ -10,11 +10,11 @@ module Reflex
10
10
 
11
11
  class DrawEvent < Event
12
12
 
13
- def paint (&block)
13
+ def paint(&block)
14
14
  Xot::BlockUtil.instance_eval_or_block_call painter, &block if block
15
15
  end
16
16
 
17
- def inspect ()
17
+ def inspect()
18
18
  "#<Reflex::DrawEvent painter:#{painter} bounds:#{bounds} dt:#{dt} fps:#{fps}>"
19
19
  end
20
20
 
@@ -10,12 +10,12 @@ module Reflex
10
10
 
11
11
  class EllipseShape < Shape
12
12
 
13
- def angle= (range)
13
+ def angle=(range)
14
14
  angle_from range.min
15
15
  angle_to range.max
16
16
  end
17
17
 
18
- def angle ()
18
+ def angle()
19
19
  angle_from..angle_to
20
20
  end
21
21
 
@@ -12,21 +12,21 @@ module Reflex
12
12
 
13
13
  alias get_type type
14
14
 
15
- const_symbol_reader :type, {
15
+ const_symbol_reader :type, **{
16
16
  none: TYPE_NONE,
17
17
  focus: TYPE_FOCUS,
18
18
  blur: TYPE_BLUR
19
19
  }
20
20
 
21
- def focus? ()
21
+ def focus?()
22
22
  get_type == TYPE_FOCUS
23
23
  end
24
24
 
25
- def blur? ()
25
+ def blur?()
26
26
  get_type == TYPE_BLUR
27
27
  end
28
28
 
29
- def inspect ()
29
+ def inspect()
30
30
  "#<Reflex::FocusEvent type:#{type} current:#{current} last:#{last}>"
31
31
  end
32
32