reflexion 0.1.49 → 0.1.51

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e490c3d3e75c2e07cd82f02772eb87b45729bd4dbf7444a01e82e631e2673a33
4
- data.tar.gz: e52a6698bcc86a4509799637efc4019e76c39eecc5122a9a565455f18b7691e9
3
+ metadata.gz: dd2a3ef38fbccf989e0db7bea54c917873e44219de47aad92baf4cfafd6f861e
4
+ data.tar.gz: ac310728d1f35471f74b47724fe26d6e40695304620df3c53c5b65397dec70d6
5
5
  SHA512:
6
- metadata.gz: 761419026cc6c7f939d714d67ee47c3d3798a7128666deb6100e470e5e80b0a17ead5747270ca33125bbf0338a39e27c9fa1810e13bde7182cc69e6d3bb12ef7
7
- data.tar.gz: 4f6900e7f5279eceb728e4e003eae016e68af385bc9a6e9c88ca02d67ab22fe538ad2dd5565e4b177689b1392f01c928bff101d22322bd275446a74f31d9d1e0
6
+ metadata.gz: 415b3a49fc3650be49c66e92f4c12ea600a7cdd01ad4a056f1c10d6169a489d7a14eee032c53f064d3b95b18e99144e4eedeb218706f009df54f40a8d67e73e9
7
+ data.tar.gz: f7b8fdaddbb3c73f4befebb2e80d983d8c9ff94280e46fd84b6731069b785ead45cfa4c8d276f877a5ef2a1e6bae102efa601c59de45d4a69f1926f544bfadc2
@@ -0,0 +1,19 @@
1
+ #include "reflex/device.h"
2
+ #include "defs.h"
3
+
4
+
5
+ static
6
+ VALUE vibrate(VALUE self)
7
+ {
8
+ Reflex::vibrate();
9
+ return self;
10
+ }
11
+
12
+
13
+ void
14
+ Init_reflex_device ()
15
+ {
16
+ Module mReflex = rb_define_module("Reflex");
17
+
18
+ rb_define_singleton_method(mReflex, "vibrate", RUBY_METHOD_FUNC(vibrate), 0);
19
+ }
@@ -36,6 +36,8 @@ void Init_reflex_screen ();
36
36
  void Init_reflex_window ();
37
37
  void Init_reflex_view ();
38
38
 
39
+ void Init_reflex_device ();
40
+
39
41
  void Init_reflex_image_view ();
40
42
 
41
43
 
@@ -85,6 +87,8 @@ extern "C" void
85
87
  Init_reflex_window();
86
88
  Init_reflex_view();
87
89
 
90
+ Init_reflex_device();
91
+
88
92
  Init_reflex_image_view();
89
93
 
90
94
  RUCY_CATCH
@@ -166,6 +166,31 @@ VALUE is_resizable(VALUE self)
166
166
  return value(THIS->has_flag(Reflex::Window::FLAG_RESIZABLE));
167
167
  }
168
168
 
169
+ static const uint ORIENTATION_MASK =
170
+ Reflex::Window::FLAG_PORTRAIT | Reflex::Window::FLAG_LANDSCAPE;
171
+
172
+ static
173
+ VALUE set_orientations(VALUE self, VALUE orientations)
174
+ {
175
+ using namespace Reflex;
176
+
177
+ CHECK;
178
+
179
+ uint flags = to<uint>(orientations);
180
+ THIS->set_flag(
181
+ ( flags & ORIENTATION_MASK) |
182
+ (THIS->flags() & ~ORIENTATION_MASK));
183
+ }
184
+
185
+ static
186
+ VALUE get_orientations(VALUE self)
187
+ {
188
+ using namespace Reflex;
189
+
190
+ CHECK;
191
+ return value(THIS->flags() & ORIENTATION_MASK);
192
+ }
193
+
169
194
  static
170
195
  VALUE get_screen(VALUE self)
171
196
  {
@@ -345,11 +370,13 @@ Init_reflex_window ()
345
370
  rb_define_method(cWindow, "frame=", RUBY_METHOD_FUNC(set_frame), -1);
346
371
  rb_define_method(cWindow, "frame", RUBY_METHOD_FUNC(get_frame), 0);
347
372
  rb_define_method(cWindow, "closable=", RUBY_METHOD_FUNC(set_closable), 1);
348
- cWindow.define_method("closable?", is_closable);
373
+ cWindow.define_method("closable?", is_closable);
349
374
  rb_define_method(cWindow, "minimizable=", RUBY_METHOD_FUNC(set_minimizable), 1);
350
- cWindow.define_method("minimizable?", is_minimizable);
375
+ cWindow.define_method("minimizable?", is_minimizable);
351
376
  rb_define_method(cWindow, "resizable=", RUBY_METHOD_FUNC(set_resizable), 1);
352
- cWindow.define_method("resizable?", is_resizable);
377
+ cWindow.define_method("resizable?", is_resizable);
378
+ rb_define_method(cWindow, "orientations=", RUBY_METHOD_FUNC(set_orientations), 1);
379
+ rb_define_method(cWindow, "orientations", RUBY_METHOD_FUNC(get_orientations), 0);
353
380
  rb_define_method(cWindow, "hidden", RUBY_METHOD_FUNC(hidden), 0);
354
381
  rb_define_method(cWindow, "screen", RUBY_METHOD_FUNC(get_screen), 0);
355
382
  rb_define_method(cWindow, "root", RUBY_METHOD_FUNC(get_root), 0);
@@ -373,6 +400,9 @@ Init_reflex_window ()
373
400
  rb_define_method(cWindow, "on_pointer_move", RUBY_METHOD_FUNC(on_pointer_move), 1);
374
401
  rb_define_method(cWindow, "on_pointer_cancel", RUBY_METHOD_FUNC(on_pointer_cancel), 1);
375
402
  rb_define_method(cWindow, "on_wheel", RUBY_METHOD_FUNC(on_wheel), 1);
403
+
404
+ cWindow.define_const("ORIENTATION_PORTRAIT", Reflex::Window::FLAG_PORTRAIT);
405
+ cWindow.define_const("ORIENTATION_LANDSCAPE", Reflex::Window::FLAG_LANDSCAPE);
376
406
  }
377
407
 
378
408
 
data/ChangeLog.md CHANGED
@@ -1,6 +1,17 @@
1
1
  # reflex ChangeLog
2
2
 
3
3
 
4
+ ## [v0.1.51] - 2023-07-30
5
+
6
+ - Fix typo
7
+
8
+
9
+ ## [v0.1.50] - 2023-07-30
10
+
11
+ - Add Window::FLAG_PORTRAIT and Window::FLAG_LANDSCAPE
12
+ - Add Reflex.vibrate()
13
+
14
+
4
15
  ## [v0.1.49] - 2023-07-11
5
16
 
6
17
  - Fix assertion fail if the view size is 0
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.49
1
+ 0.1.51
@@ -0,0 +1,20 @@
1
+ #include "reflex/device.h"
2
+ #include "defs.h"
3
+
4
+
5
+ static
6
+ RUCY_DEF0(vibrate)
7
+ {
8
+ Reflex::vibrate();
9
+ return self;
10
+ }
11
+ RUCY_END
12
+
13
+
14
+ void
15
+ Init_reflex_device ()
16
+ {
17
+ Module mReflex = define_module("Reflex");
18
+
19
+ mReflex.define_singleton_method("vibrate", vibrate);
20
+ }
@@ -36,6 +36,8 @@ void Init_reflex_screen ();
36
36
  void Init_reflex_window ();
37
37
  void Init_reflex_view ();
38
38
 
39
+ void Init_reflex_device ();
40
+
39
41
  void Init_reflex_image_view ();
40
42
 
41
43
 
@@ -85,6 +87,8 @@ extern "C" void
85
87
  Init_reflex_window();
86
88
  Init_reflex_view();
87
89
 
90
+ Init_reflex_device();
91
+
88
92
  Init_reflex_image_view();
89
93
 
90
94
  RUCY_CATCH
@@ -184,6 +184,33 @@ RUCY_DEF0(is_resizable)
184
184
  }
185
185
  RUCY_END
186
186
 
187
+ static const uint ORIENTATION_MASK =
188
+ Reflex::Window::FLAG_PORTRAIT | Reflex::Window::FLAG_LANDSCAPE;
189
+
190
+ static
191
+ RUCY_DEF1(set_orientations, orientations)
192
+ {
193
+ using namespace Reflex;
194
+
195
+ CHECK;
196
+
197
+ uint flags = to<uint>(orientations);
198
+ THIS->set_flag(
199
+ ( flags & ORIENTATION_MASK) |
200
+ (THIS->flags() & ~ORIENTATION_MASK));
201
+ }
202
+ RUCY_END
203
+
204
+ static
205
+ RUCY_DEF0(get_orientations)
206
+ {
207
+ using namespace Reflex;
208
+
209
+ CHECK;
210
+ return value(THIS->flags() & ORIENTATION_MASK);
211
+ }
212
+ RUCY_END
213
+
187
214
  static
188
215
  RUCY_DEF0(get_screen)
189
216
  {
@@ -384,12 +411,14 @@ Init_reflex_window ()
384
411
  cWindow.define_method("title", get_title);
385
412
  cWindow.define_method("frame=", set_frame);
386
413
  cWindow.define_method("frame", get_frame);
387
- cWindow.define_method("closable=", set_closable);
388
- cWindow.define_method("closable?", is_closable);
389
- cWindow.define_method("minimizable=", set_minimizable);
390
- cWindow.define_method("minimizable?", is_minimizable);
391
- cWindow.define_method("resizable=", set_resizable);
392
- cWindow.define_method("resizable?", is_resizable);
414
+ cWindow.define_method("closable=", set_closable);
415
+ cWindow.define_method("closable?", is_closable);
416
+ cWindow.define_method("minimizable=", set_minimizable);
417
+ cWindow.define_method("minimizable?", is_minimizable);
418
+ cWindow.define_method("resizable=", set_resizable);
419
+ cWindow.define_method("resizable?", is_resizable);
420
+ cWindow.define_method("orientations=", set_orientations);
421
+ cWindow.define_method("orientations", get_orientations);
393
422
  cWindow.define_method("hidden", hidden);
394
423
  cWindow.define_method("screen", get_screen);
395
424
  cWindow.define_method("root", get_root);
@@ -413,6 +442,9 @@ Init_reflex_window ()
413
442
  cWindow.define_method("on_pointer_move", on_pointer_move);
414
443
  cWindow.define_method("on_pointer_cancel", on_pointer_cancel);
415
444
  cWindow.define_method("on_wheel", on_wheel);
445
+
446
+ cWindow.define_const("ORIENTATION_PORTRAIT", Reflex::Window::FLAG_PORTRAIT);
447
+ cWindow.define_const("ORIENTATION_LANDSCAPE", Reflex::Window::FLAG_LANDSCAPE);
416
448
  }
417
449
 
418
450
 
@@ -0,0 +1,17 @@
1
+ // -*- c++ -*-
2
+ #pragma once
3
+ #ifndef __REFLEX_DEVICE_H__
4
+ #define __REFLEX_DEVICE_H__
5
+
6
+
7
+ namespace Reflex
8
+ {
9
+
10
+
11
+ void vibrate ();
12
+
13
+
14
+ }// Reflex
15
+
16
+
17
+ #endif//EOH
@@ -39,7 +39,11 @@ namespace Reflex
39
39
 
40
40
  FLAG_RESIZABLE = Xot::bit(2),
41
41
 
42
- FLAG_LAST = FLAG_RESIZABLE
42
+ FLAG_PORTRAIT = Xot::bit(3),
43
+
44
+ FLAG_LANDSCAPE = Xot::bit(4),
45
+
46
+ FLAG_LAST = FLAG_LANDSCAPE
43
47
 
44
48
  };// Flag
45
49
 
@@ -69,6 +73,10 @@ namespace Reflex
69
73
 
70
74
  virtual Bounds frame () const;
71
75
 
76
+ virtual void set_flag (uint flags);
77
+
78
+ virtual uint flags () const;
79
+
72
80
  virtual void add_flag (uint flags);
73
81
 
74
82
  virtual void remove_flag (uint flags);
data/include/reflex.h CHANGED
@@ -20,6 +20,8 @@
20
20
  #include <reflex/window.h>
21
21
  #include <reflex/view.h>
22
22
 
23
+ #include <reflex/device.h>
24
+
23
25
  #include <reflex/image_view.h>
24
26
 
25
27
 
data/lib/reflex/window.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'forwardable'
2
2
  require 'xot/setter'
3
+ require 'xot/bit_flag_accessor'
3
4
  require 'xot/universal_accessor'
4
5
  require 'xot/block_util'
5
6
  require 'xot/inspectable'
@@ -19,6 +20,11 @@ module Reflex
19
20
 
20
21
  extend Forwardable
21
22
 
23
+ bit_flag_accessor :orientations do
24
+ flag :portrait, ORIENTATION_PORTRAIT
25
+ flag :landscape, ORIENTATION_LANDSCAPE
26
+ end
27
+
22
28
  def_delegators :root,
23
29
  :add_child, :add,
24
30
  :remove_child, :remove,
data/src/ios/device.mm ADDED
@@ -0,0 +1,34 @@
1
+ // -*- objc -*-
2
+ #include "reflex/device.h"
3
+
4
+
5
+ #import <UIKit/UIKit.h>
6
+
7
+
8
+ namespace Reflex
9
+ {
10
+
11
+
12
+ static UIImpactFeedbackGenerator* g_feedback_generator = nil;
13
+
14
+ static UIImpactFeedbackGenerator*
15
+ get_feedback_generator ()
16
+ {
17
+ if (g_feedback_generator == nil)
18
+ {
19
+ g_feedback_generator =
20
+ [[UIImpactFeedbackGenerator alloc]
21
+ initWithStyle: UIImpactFeedbackStyleLight];
22
+ }
23
+ return g_feedback_generator;
24
+ }
25
+
26
+ void
27
+ vibrate ()
28
+ {
29
+ //[get_feedback_generator() prepare];
30
+ [get_feedback_generator() impactOccurred];
31
+ }
32
+
33
+
34
+ }// Reflex
@@ -440,6 +440,37 @@ ReflexViewController_get_show_fun ()
440
440
  }
441
441
  }
442
442
 
443
+ #if 0
444
+ - (BOOL)shouldAutorotate
445
+ {
446
+ Reflex::Window* win = self.window;
447
+ if (!win) return [super shouldAutorotate];
448
+
449
+ return win->has_flag(Reflex::Window::FLAG_RESIZABLE);
450
+ }
451
+
452
+ - (UIInterfaceOrientationMask)supportedInterfaceOrientations
453
+ {
454
+ Reflex::Window* win = self.window;
455
+ if (!win || !win->has_flag(Reflex::Window::FLAG_RESIZABLE))
456
+ return UIInterfaceOrientationMaskAll;
457
+
458
+ UIInterfaceOrientationMask mask = 0;
459
+
460
+ if (win->has_flag(Reflex::Window::FLAG_PORTRAIT))
461
+ {
462
+ mask |=
463
+ UIInterfaceOrientationMaskPortrait |
464
+ UIInterfaceOrientationMaskPortraitUpsideDown;
465
+ }
466
+
467
+ if (win->has_flag(Reflex::Window::FLAG_LANDSCAPE))
468
+ mask |= UIInterfaceOrientationMaskLandscape;
469
+
470
+ return mask;
471
+ }
472
+ #endif
473
+
443
474
  - (void) titleDidChange
444
475
  {
445
476
  }
data/src/ios/window.mm CHANGED
@@ -2,6 +2,7 @@
2
2
  #include "window.h"
3
3
 
4
4
 
5
+ #import <UIKit/UIKit.h>
5
6
  #include "reflex/exception.h"
6
7
  #include "screen.h"
7
8
  #import "view_controller.h"
@@ -52,7 +53,10 @@ namespace Reflex
52
53
  uint
53
54
  Window_default_flags ()
54
55
  {
55
- return 0;
56
+ return
57
+ Window::FLAG_RESIZABLE |
58
+ Window::FLAG_PORTRAIT |
59
+ Window::FLAG_LANDSCAPE;
56
60
  }
57
61
 
58
62
  void
@@ -138,6 +142,96 @@ namespace Reflex
138
142
  return Bounds(b.origin.x, b.origin.y, b.size.width, b.size.height);
139
143
  }
140
144
 
145
+ static UIInterfaceOrientationMask g_orientation_mask =
146
+ UIInterfaceOrientationMaskAll;
147
+
148
+ static UIInterfaceOrientation
149
+ current_orientation (UIViewController* vc)
150
+ {
151
+ switch (UIDevice.currentDevice.orientation)
152
+ {
153
+ case UIDeviceOrientationPortrait: return UIInterfaceOrientationPortrait;
154
+ case UIDeviceOrientationLandscapeLeft: return UIInterfaceOrientationLandscapeLeft;
155
+ case UIDeviceOrientationLandscapeRight: return UIInterfaceOrientationLandscapeRight;
156
+ case UIDeviceOrientationPortraitUpsideDown: return UIInterfaceOrientationPortraitUpsideDown;
157
+ default: return vc.preferredInterfaceOrientationForPresentation;
158
+ }
159
+ }
160
+
161
+ static UIInterfaceOrientationMask
162
+ to_mask (UIInterfaceOrientation orientation)
163
+ {
164
+ switch (orientation)
165
+ {
166
+ case UIInterfaceOrientationPortrait: return UIInterfaceOrientationMaskPortrait;
167
+ case UIInterfaceOrientationLandscapeLeft: return UIInterfaceOrientationMaskLandscapeLeft;
168
+ case UIInterfaceOrientationLandscapeRight: return UIInterfaceOrientationMaskLandscapeRight;
169
+ case UIInterfaceOrientationPortraitUpsideDown: return UIInterfaceOrientationMaskPortraitUpsideDown;
170
+ default: return 0;
171
+ }
172
+ }
173
+
174
+ static UIInterfaceOrientation
175
+ get_proper_orientation (UIViewController* vc, UIInterfaceOrientationMask mask)
176
+ {
177
+ UIInterfaceOrientation current = current_orientation(vc);
178
+ if (to_mask(current) & mask) return current;
179
+ if (UIInterfaceOrientationMaskPortrait & mask) return UIInterfaceOrientationPortrait;
180
+ if (UIInterfaceOrientationMaskLandscapeLeft & mask) return UIInterfaceOrientationLandscapeLeft;
181
+ if (UIInterfaceOrientationMaskLandscapeRight & mask) return UIInterfaceOrientationLandscapeRight;
182
+ if (UIInterfaceOrientationMaskPortraitUpsideDown & mask) return UIInterfaceOrientationPortraitUpsideDown;
183
+ return UIInterfaceOrientationPortrait;
184
+ }
185
+
186
+ static void
187
+ update_orientation_mask (UIViewController* vc, UIInterfaceOrientationMask mask)
188
+ {
189
+ if (!vc) return;
190
+
191
+ if (@available(iOS 16.0, *))
192
+ [vc setNeedsUpdateOfSupportedInterfaceOrientations];
193
+ else
194
+ {
195
+ [UIDevice.currentDevice
196
+ setValue: [NSNumber numberWithInteger: get_proper_orientation(vc, mask)]
197
+ forKey: @"orientation"];
198
+ [UIViewController attemptRotationToDeviceOrientation];
199
+ }
200
+ }
201
+
202
+ void
203
+ Window_set_orientation_mask (UIViewController* vc, UIInterfaceOrientationMask mask)
204
+ {
205
+ if (mask == g_orientation_mask) return;
206
+
207
+ g_orientation_mask = mask;
208
+ update_orientation_mask(vc, mask);
209
+ }
210
+
211
+ UIInterfaceOrientationMask
212
+ Window_get_orientation_mask ()
213
+ {
214
+ return g_orientation_mask;
215
+ }
216
+
217
+ static UIInterfaceOrientationMask
218
+ flags_to_orientation_mask (uint flags)
219
+ {
220
+ UIInterfaceOrientationMask mask = 0;
221
+
222
+ if (flags & Window::FLAG_PORTRAIT)
223
+ {
224
+ mask |=
225
+ UIInterfaceOrientationMaskPortrait |
226
+ UIInterfaceOrientationPortraitUpsideDown;
227
+ }
228
+
229
+ if (flags & Window::FLAG_LANDSCAPE)
230
+ mask |= UIInterfaceOrientationMaskLandscape;
231
+
232
+ return mask != 0 ? mask : UIInterfaceOrientationMaskAll;
233
+ }
234
+
141
235
  void
142
236
  Window_set_flags (Window* window, uint flags)
143
237
  {
@@ -147,8 +241,9 @@ namespace Reflex
147
241
  if (Xot::has_flag(flags, Window::FLAG_MINIMIZABLE))
148
242
  argument_error(__FILE__, __LINE__, "FLAG_MINIMIZABLE is not supported");
149
243
 
150
- if (Xot::has_flag(flags, Window::FLAG_RESIZABLE))
151
- argument_error(__FILE__, __LINE__, "FLAG_RESIZABLE is not supported");
244
+ Window_set_orientation_mask(
245
+ get_vc(window),
246
+ flags_to_orientation_mask(flags & (Window::FLAG_PORTRAIT | Window::FLAG_LANDSCAPE)));
152
247
  }
153
248
 
154
249
  static UIScreen*
@@ -156,13 +251,9 @@ namespace Reflex
156
251
  {
157
252
  UIWindow* w = get_vc(&window).view.window;
158
253
  if (@available(iOS 13.0, *))
159
- {
160
254
  return w.windowScene.screen;
161
- }
162
255
  else
163
- {
164
256
  return w.screen;
165
- }
166
257
  }
167
258
 
168
259
  Screen
data/src/osx/device.mm ADDED
@@ -0,0 +1,19 @@
1
+ // -*- objc -*-
2
+ #include "reflex/device.h"
3
+
4
+
5
+ #include "reflex/exception.h"
6
+
7
+
8
+ namespace Reflex
9
+ {
10
+
11
+
12
+ void
13
+ vibrate ()
14
+ {
15
+ not_implemented_error(__FILE__, __LINE__);
16
+ }
17
+
18
+
19
+ }// Reflex
data/src/osx/window.mm CHANGED
@@ -142,6 +142,12 @@ namespace Reflex
142
142
  void
143
143
  Window_set_flags (Window* window, uint flags)
144
144
  {
145
+ if (Xot::has_flag(flags, Window::FLAG_PORTRAIT))
146
+ argument_error(__FILE__, __LINE__, "FLAG_PORTRAIT is not supported");
147
+
148
+ if (Xot::has_flag(flags, Window::FLAG_LANDSCAPE))
149
+ argument_error(__FILE__, __LINE__, "FLAG_LANDSCAPE is not supported");
150
+
145
151
  NativeWindow* native = get_native(window);
146
152
  NSWindowStyleMask styleMask =
147
153
  Window_make_style_mask(window->self->flags, native.styleMask);
data/src/window.cpp CHANGED
@@ -546,6 +546,20 @@ namespace Reflex
546
546
  return Window_get_frame(*this);
547
547
  }
548
548
 
549
+ void
550
+ Window::set_flag (uint flags)
551
+ {
552
+ Window_set_flags(this, flags);
553
+
554
+ self->flags = flags;
555
+ }
556
+
557
+ uint
558
+ Window::flags () const
559
+ {
560
+ return self->flags;
561
+ }
562
+
549
563
  void
550
564
  Window::add_flag (uint flags)
551
565
  {
@@ -0,0 +1,10 @@
1
+ require_relative 'helper'
2
+
3
+
4
+ class TestDevice < Test::Unit::TestCase
5
+
6
+ def test_vibrate()
7
+ assert_raise(Rucy::NativeError) {Reflex.vibrate}
8
+ end
9
+
10
+ end# TestDevice
data/test/test_window.rb CHANGED
@@ -121,6 +121,18 @@ class TestWindow < Test::Unit::TestCase
121
121
  assert_true w.resizable?
122
122
  end
123
123
 
124
+ def test_orientations()
125
+ w = win
126
+ assert_equal [], w.orientations
127
+
128
+ assert_raise(ArgumentError) {w.orientations = [:portrait]}.then do |e|
129
+ assert_match /portrait.*not supported/i, e.message
130
+ end
131
+ assert_raise(ArgumentError) {w.orientations = [:landscape]}.then do |e|
132
+ assert_match /landscape.*not supported/i, e.message
133
+ end
134
+ end
135
+
124
136
  def test_screen()
125
137
  assert_not_nil win.screen
126
138
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reflexion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.49
4
+ version: 0.1.51
5
5
  platform: ruby
6
6
  authors:
7
7
  - xordog
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-10 00:00:00.000000000 Z
11
+ date: 2023-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xot
@@ -103,6 +103,7 @@ extra_rdoc_files:
103
103
  - ".doc/ext/reflex/application.cpp"
104
104
  - ".doc/ext/reflex/capture_event.cpp"
105
105
  - ".doc/ext/reflex/contact_event.cpp"
106
+ - ".doc/ext/reflex/device.cpp"
106
107
  - ".doc/ext/reflex/draw_event.cpp"
107
108
  - ".doc/ext/reflex/ellipse_shape.cpp"
108
109
  - ".doc/ext/reflex/event.cpp"
@@ -136,6 +137,7 @@ files:
136
137
  - ".doc/ext/reflex/application.cpp"
137
138
  - ".doc/ext/reflex/capture_event.cpp"
138
139
  - ".doc/ext/reflex/contact_event.cpp"
140
+ - ".doc/ext/reflex/device.cpp"
139
141
  - ".doc/ext/reflex/draw_event.cpp"
140
142
  - ".doc/ext/reflex/ellipse_shape.cpp"
141
143
  - ".doc/ext/reflex/event.cpp"
@@ -178,6 +180,7 @@ files:
178
180
  - ext/reflex/capture_event.cpp
179
181
  - ext/reflex/contact_event.cpp
180
182
  - ext/reflex/defs.h
183
+ - ext/reflex/device.cpp
181
184
  - ext/reflex/draw_event.cpp
182
185
  - ext/reflex/ellipse_shape.cpp
183
186
  - ext/reflex/event.cpp
@@ -213,6 +216,7 @@ files:
213
216
  - include/reflex/application.h
214
217
  - include/reflex/debug.h
215
218
  - include/reflex/defs.h
219
+ - include/reflex/device.h
216
220
  - include/reflex/event.h
217
221
  - include/reflex/exception.h
218
222
  - include/reflex/filter.h
@@ -352,6 +356,7 @@ files:
352
356
  - src/ios/app_delegate.mm
353
357
  - src/ios/application.h
354
358
  - src/ios/application.mm
359
+ - src/ios/device.mm
355
360
  - src/ios/event.h
356
361
  - src/ios/event.mm
357
362
  - src/ios/reflex.mm
@@ -365,6 +370,7 @@ files:
365
370
  - src/osx/app_delegate.mm
366
371
  - src/osx/application.h
367
372
  - src/osx/application.mm
373
+ - src/osx/device.mm
368
374
  - src/osx/event.h
369
375
  - src/osx/event.mm
370
376
  - src/osx/native_window.h
@@ -403,6 +409,7 @@ files:
403
409
  - test/test_application.rb
404
410
  - test/test_capture_event.rb
405
411
  - test/test_contact_event.rb
412
+ - test/test_device.rb
406
413
  - test/test_draw_event.rb
407
414
  - test/test_event.rb
408
415
  - test/test_focus_event.rb
@@ -453,6 +460,7 @@ test_files:
453
460
  - test/test_application.rb
454
461
  - test/test_capture_event.rb
455
462
  - test/test_contact_event.rb
463
+ - test/test_device.rb
456
464
  - test/test_draw_event.rb
457
465
  - test/test_event.rb
458
466
  - test/test_focus_event.rb