reflexion 0.2.1 → 0.3.1

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 (123) hide show
  1. checksums.yaml +4 -4
  2. data/.doc/ext/reflex/application.cpp +1 -1
  3. data/.doc/ext/reflex/capture_event.cpp +1 -1
  4. data/.doc/ext/reflex/contact_event.cpp +1 -1
  5. data/.doc/ext/reflex/draw_event.cpp +1 -1
  6. data/.doc/ext/reflex/ellipse_shape.cpp +1 -1
  7. data/.doc/ext/reflex/event.cpp +1 -1
  8. data/.doc/ext/reflex/filter.cpp +1 -1
  9. data/.doc/ext/reflex/focus_event.cpp +1 -1
  10. data/.doc/ext/reflex/frame_event.cpp +1 -1
  11. data/.doc/ext/reflex/image_view.cpp +1 -1
  12. data/.doc/ext/reflex/key_event.cpp +74 -69
  13. data/.doc/ext/reflex/line_shape.cpp +1 -1
  14. data/.doc/ext/reflex/motion_event.cpp +1 -1
  15. data/.doc/ext/reflex/pointer.cpp +7 -16
  16. data/.doc/ext/reflex/pointer_event.cpp +1 -1
  17. data/.doc/ext/reflex/polygon_shape.cpp +1 -1
  18. data/.doc/ext/reflex/rect_shape.cpp +1 -1
  19. data/.doc/ext/reflex/reflex.cpp +58 -50
  20. data/.doc/ext/reflex/screen.cpp +1 -1
  21. data/.doc/ext/reflex/scroll_event.cpp +1 -1
  22. data/.doc/ext/reflex/selector.cpp +2 -2
  23. data/.doc/ext/reflex/shape.cpp +1 -1
  24. data/.doc/ext/reflex/style.cpp +1 -1
  25. data/.doc/ext/reflex/style_length.cpp +5 -3
  26. data/.doc/ext/reflex/timer.cpp +1 -1
  27. data/.doc/ext/reflex/timer_event.cpp +1 -1
  28. data/.doc/ext/reflex/update_event.cpp +1 -1
  29. data/.doc/ext/reflex/view.cpp +17 -9
  30. data/.doc/ext/reflex/wheel_event.cpp +1 -1
  31. data/.doc/ext/reflex/window.cpp +1 -1
  32. data/.github/workflows/release-gem.yml +1 -1
  33. data/.github/workflows/test.yml +3 -0
  34. data/ChangeLog.md +17 -0
  35. data/Gemfile.lock +1 -1
  36. data/LICENSE +1 -1
  37. data/Rakefile +1 -2
  38. data/VERSION +1 -1
  39. data/ext/reflex/application.cpp +1 -1
  40. data/ext/reflex/capture_event.cpp +1 -1
  41. data/ext/reflex/contact_event.cpp +1 -1
  42. data/ext/reflex/defs.h +2 -0
  43. data/ext/reflex/draw_event.cpp +1 -1
  44. data/ext/reflex/ellipse_shape.cpp +1 -1
  45. data/ext/reflex/event.cpp +1 -1
  46. data/ext/reflex/extconf.rb +4 -4
  47. data/ext/reflex/filter.cpp +1 -1
  48. data/ext/reflex/focus_event.cpp +1 -1
  49. data/ext/reflex/frame_event.cpp +1 -1
  50. data/ext/reflex/image_view.cpp +1 -1
  51. data/ext/reflex/key_event.cpp +74 -69
  52. data/ext/reflex/line_shape.cpp +1 -1
  53. data/ext/reflex/motion_event.cpp +1 -1
  54. data/ext/reflex/pointer.cpp +7 -17
  55. data/ext/reflex/pointer_event.cpp +1 -1
  56. data/ext/reflex/polygon_shape.cpp +1 -1
  57. data/ext/reflex/rect_shape.cpp +1 -1
  58. data/ext/reflex/reflex.cpp +58 -50
  59. data/ext/reflex/screen.cpp +1 -1
  60. data/ext/reflex/scroll_event.cpp +1 -1
  61. data/ext/reflex/selector.cpp +2 -2
  62. data/ext/reflex/shape.cpp +1 -1
  63. data/ext/reflex/style.cpp +1 -1
  64. data/ext/reflex/style_length.cpp +5 -3
  65. data/ext/reflex/timer.cpp +1 -1
  66. data/ext/reflex/timer_event.cpp +1 -1
  67. data/ext/reflex/update_event.cpp +1 -1
  68. data/ext/reflex/view.cpp +18 -9
  69. data/ext/reflex/wheel_event.cpp +1 -1
  70. data/ext/reflex/window.cpp +1 -1
  71. data/include/reflex/defs.h +204 -187
  72. data/include/reflex/pointer.h +3 -5
  73. data/include/reflex/reflex.h +1 -0
  74. data/include/reflex/ruby/application.h +2 -2
  75. data/include/reflex/ruby/event.h +26 -26
  76. data/include/reflex/ruby/exception.h +3 -3
  77. data/include/reflex/ruby/filter.h +2 -2
  78. data/include/reflex/ruby/image_view.h +2 -2
  79. data/include/reflex/ruby/pointer.h +2 -2
  80. data/include/reflex/ruby/reflex.h +1 -1
  81. data/include/reflex/ruby/screen.h +2 -2
  82. data/include/reflex/ruby/selector.h +2 -2
  83. data/include/reflex/ruby/shape.h +10 -10
  84. data/include/reflex/ruby/style.h +4 -4
  85. data/include/reflex/ruby/timer.h +3 -3
  86. data/include/reflex/ruby/view.h +2 -2
  87. data/include/reflex/ruby/window.h +2 -2
  88. data/include/reflex/view.h +3 -1
  89. data/lib/reflex/extension.rb +4 -0
  90. data/lib/reflex/pointer.rb +1 -1
  91. data/lib/reflex/pointer_event.rb +2 -2
  92. data/reflex.gemspec +4 -4
  93. data/src/body.cpp +12 -6
  94. data/src/event.cpp +17 -31
  95. data/src/event.h +3 -3
  96. data/src/filter.cpp +3 -1
  97. data/src/ios/event.mm +20 -27
  98. data/src/osx/application.mm +6 -5
  99. data/src/osx/event.mm +1 -2
  100. data/src/pointer.cpp +12 -32
  101. data/src/pointer.h +0 -2
  102. data/src/selector.cpp +3 -1
  103. data/src/shape.cpp +5 -3
  104. data/src/style.cpp +14 -8
  105. data/src/view.cpp +47 -24
  106. data/src/win32/application.cpp +48 -35
  107. data/src/win32/device.cpp +18 -0
  108. data/src/win32/event.cpp +219 -0
  109. data/src/win32/event.h +50 -0
  110. data/src/win32/opengl.cpp +54 -27
  111. data/src/win32/opengl.h +15 -13
  112. data/src/win32/reflex.cpp +10 -16
  113. data/src/win32/screen.cpp +61 -0
  114. data/src/win32/screen.h +21 -0
  115. data/src/win32/window.cpp +445 -240
  116. data/src/window.cpp +28 -30
  117. data/src/window.h +3 -12
  118. data/test/test_pointer.rb +8 -10
  119. data/test/test_pointer_event.rb +8 -9
  120. data/test/test_window.rb +24 -21
  121. metadata +15 -12
  122. data/src/win32/defs.cpp +0 -303
  123. data/src/win32/defs.h +0 -34
data/src/window.cpp CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  #include <assert.h>
5
+ #include <algorithm>
5
6
  #include <set>
6
7
  #include "reflex/exception.h"
7
8
  #include "view.h"
@@ -18,9 +19,7 @@ namespace Reflex
18
19
 
19
20
  using ExtractedPointerIDSet = std::set<Pointer::ID>;
20
21
 
21
- using PointerData = Window::Data::PointerData;
22
-
23
- using TargetPointerMap = Window::Data::TargetPointerMap;
22
+ using CaptureTargetIDList = Window::Data::CaptureTargetIDList;
24
23
 
25
24
 
26
25
  Window::Data::Data ()
@@ -34,16 +33,12 @@ namespace Reflex
34
33
  }
35
34
 
36
35
 
37
- Window::Data::PointerData::PointerData (uint view_index)
38
- : view_index(view_index)
39
- {
40
- }
41
-
42
-
43
36
  void
44
37
  Window_set_focus (Window* window, View* view)
45
38
  {
46
- if (!window || !view)
39
+ if (!window)
40
+ argument_error(__FILE__, __LINE__);
41
+ if (!view)
47
42
  argument_error(__FILE__, __LINE__);
48
43
 
49
44
  View* current = window->self->focus.get();
@@ -88,8 +83,7 @@ namespace Reflex
88
83
  }
89
84
 
90
85
  void
91
- Window_register_capture (
92
- Window* window, View* view, Pointer::ID target, uint view_index)
86
+ Window_register_capture (Window* window, View* view, Pointer::ID target)
93
87
  {
94
88
  if (!view)
95
89
  argument_error(__FILE__, __LINE__);
@@ -100,10 +94,12 @@ namespace Reflex
100
94
  if (target < 0) return;
101
95
 
102
96
  auto& targets = window->self->captures[view];
103
- if (targets.find(target) != targets.end())
97
+ if (std::find(targets.begin(), targets.end(), target) != targets.end())
104
98
  return;
105
99
 
106
- targets.insert(std::make_pair(target, PointerData(view_index)));
100
+ targets.insert(
101
+ target == CAPTURE_ALL ? targets.begin() : targets.end(),
102
+ target);
107
103
  }
108
104
 
109
105
  void
@@ -116,7 +112,7 @@ namespace Reflex
116
112
  if (captures_it == window->self->captures.end()) return;
117
113
 
118
114
  auto& targets = captures_it->second;
119
- auto targets_it = targets.find(target);
115
+ auto targets_it = std::find(targets.begin(), targets.end(), target);
120
116
  if (targets_it == targets.end()) return;
121
117
 
122
118
  targets.erase(targets_it);
@@ -156,7 +152,9 @@ namespace Reflex
156
152
  void
157
153
  Window_call_draw_event (Window* window, DrawEvent* event)
158
154
  {
159
- if (!window || !event)
155
+ if (!window)
156
+ argument_error(__FILE__, __LINE__);
157
+ if (!event)
160
158
  argument_error(__FILE__, __LINE__);
161
159
 
162
160
  Painter* painter = window->painter();
@@ -181,12 +179,12 @@ namespace Reflex
181
179
  }
182
180
 
183
181
  static bool
184
- is_capturing (
185
- const View* view, const TargetPointerMap& targets, View::Capture type)
182
+ is_capturing_all (
183
+ const View* view, const CaptureTargetIDList& targets, View::Capture type)
186
184
  {
187
185
  return
188
186
  !targets.empty() &&
189
- targets.find(CAPTURE_ALL) != targets.end() &&
187
+ targets[0] == CAPTURE_ALL &&
190
188
  (view->capture() & type) == type;
191
189
  }
192
190
 
@@ -209,8 +207,12 @@ namespace Reflex
209
207
 
210
208
  for (auto& [view, targets] : window->self->captures)
211
209
  {
212
- if (!view->window() || !is_capturing(view.get(), targets, View::CAPTURE_KEY))
210
+ if (
211
+ !view->window() ||
212
+ !is_capturing_all(view.get(), targets, View::CAPTURE_KEY))
213
+ {
213
214
  continue;
215
+ }
214
216
 
215
217
  KeyEvent e = event->dup();
216
218
  KeyEvent_set_captured(&e, true);
@@ -334,7 +336,7 @@ namespace Reflex
334
336
  result->clear();
335
337
  for (const auto& [view, targets] : window->self->captures)
336
338
  {
337
- if (is_capturing(view.get(), targets, View::CAPTURE_POINTER))
339
+ if (is_capturing_all(view.get(), targets, View::CAPTURE_POINTER))
338
340
  result->emplace_back(view);
339
341
  }
340
342
  }
@@ -360,28 +362,24 @@ namespace Reflex
360
362
  static void
361
363
  extract_pointer (
362
364
  PointerEvent* event, ExtractedPointerIDSet* extracteds,
363
- const Pointer& pointer, uint view_index = 0)
365
+ const Pointer& pointer)
364
366
  {
365
- PointerEvent_add_pointer(event, pointer, [&](auto* p)
366
- {
367
- Pointer_set_view_index(p, view_index);
368
- });
369
-
367
+ PointerEvent_add_pointer(event, pointer);
370
368
  extracteds->insert(pointer.id());
371
369
  }
372
370
 
373
371
  static void
374
372
  extract_targeted_pointers (
375
373
  PointerEvent* event, ExtractedPointerIDSet* extracteds,
376
- const TargetPointerMap& targets, const PointerMap& pointers)
374
+ const CaptureTargetIDList& targets, const PointerMap& pointers)
377
375
  {
378
376
  assert(event->empty());
379
377
 
380
- for (auto& [pointer_id, data] : targets)
378
+ for (auto pointer_id : targets)
381
379
  {
382
380
  auto it = pointers.find(pointer_id);
383
381
  if (it != pointers.end())
384
- extract_pointer(event, extracteds, it->second, data.view_index);
382
+ extract_pointer(event, extracteds, it->second);
385
383
  }
386
384
  }
387
385
 
data/src/window.h CHANGED
@@ -28,18 +28,9 @@ namespace Reflex
28
28
  struct Window::Data
29
29
  {
30
30
 
31
- struct PointerData
32
- {
33
-
34
- uint view_index;
35
-
36
- PointerData (uint view_index);
31
+ typedef std::vector<Pointer::ID> CaptureTargetIDList;
37
32
 
38
- };// PointerData
39
-
40
- typedef std::map<Pointer::ID, PointerData> TargetPointerMap;
41
-
42
- typedef std::map<View::Ref, TargetPointerMap> CaptureMap;
33
+ typedef std::map<View::Ref, CaptureTargetIDList> CaptureMap;
43
34
 
44
35
  int hide_count = 1;
45
36
 
@@ -112,7 +103,7 @@ namespace Reflex
112
103
  void Window_set_focus (Window* window, View* view);
113
104
 
114
105
  void Window_register_capture (
115
- Window* window, View* view, Pointer::ID target, uint view_index = 0);
106
+ Window* window, View* view, Pointer::ID target);
116
107
 
117
108
  void Window_unregister_capture (
118
109
  Window* window, View* view, Pointer::ID target);
data/test/test_pointer.rb CHANGED
@@ -23,11 +23,11 @@ class TestPointer < Test::Unit::TestCase
23
23
 
24
24
  def pointer(
25
25
  id: 0, types: TYPE_NONE, action: ACTION_NONE,
26
- position: 0, modifiers: 0, drag: false, click_count: 0, view_index: 0,
26
+ position: 0, modifiers: 0, click_count: 0, drag: false,
27
27
  time: 0)
28
28
 
29
29
  Reflex::Pointer.new(
30
- id, types, action, position, modifiers, drag, click_count, view_index, time)
30
+ id, types, action, position, modifiers, click_count, drag, time)
31
31
  end
32
32
 
33
33
  def test_initialize()
@@ -35,8 +35,8 @@ class TestPointer < Test::Unit::TestCase
35
35
 
36
36
  p = pointer(
37
37
  id: 1, types: TOUCH, action: UP,
38
- position: [2, 3], modifiers: 4, drag: true, click_count: 5, view_index: 6,
39
- time: 7)
38
+ position: [2, 3], modifiers: 4, click_count: 5, drag: true,
39
+ time: 6)
40
40
 
41
41
  assert_equal 1, p.id
42
42
  assert_equal [:touch], p.types
@@ -45,10 +45,9 @@ class TestPointer < Test::Unit::TestCase
45
45
  assert_equal 2, p.x
46
46
  assert_equal 3, p.y
47
47
  assert_equal 4, p.modifiers
48
- assert_equal true, p.drag?
49
48
  assert_equal 5, p.click_count
50
- assert_equal 6, p.view_index
51
- assert_equal 7, p.time
49
+ assert_equal true, p.drag?
50
+ assert_equal 6, p.time
52
51
  assert_nil p.prev
53
52
  assert_nil p.down
54
53
  end
@@ -147,10 +146,9 @@ class TestPointer < Test::Unit::TestCase
147
146
  assert_not_equal pointer, pointer(action: Reflex::Pointer::UP)
148
147
  assert_not_equal pointer, pointer(position: 2)
149
148
  assert_not_equal pointer, pointer(modifiers: 3)
150
- assert_not_equal pointer, pointer(drag: true)
151
149
  assert_not_equal pointer, pointer(click_count: 4)
152
- assert_not_equal pointer, pointer(view_index: 5)
153
- assert_not_equal pointer, pointer(time: 6)
150
+ assert_not_equal pointer, pointer(drag: true)
151
+ assert_not_equal pointer, pointer(time: 5)
154
152
  end
155
153
 
156
154
  end# TestPointer
@@ -17,11 +17,11 @@ class TestPointerEvent < Test::Unit::TestCase
17
17
 
18
18
  def pointer(
19
19
  id: 0, type: TYPE_NONE, action: ACTION_NONE,
20
- position: 0, modifiers: 0, drag: false, click_count: 0, view_index: 0,
20
+ position: 0, modifiers: 0, click_count: 0, drag: false,
21
21
  time: 0)
22
22
 
23
23
  Reflex::Pointer.new(
24
- id, type, action, position, modifiers, drag, click_count, view_index, time)
24
+ id, type, action, position, modifiers, click_count, drag, time)
25
25
  end
26
26
 
27
27
  def test_initialize()
@@ -31,12 +31,12 @@ class TestPointerEvent < Test::Unit::TestCase
31
31
 
32
32
  p1 = pointer(
33
33
  id: 1, type: TOUCH, action: DOWN,
34
- position: [2, 3], modifiers: 4, drag: true, click_count: 5, view_index: 6,
35
- time: 7)
34
+ position: [2, 3], modifiers: 4, drag: true, click_count: 5,
35
+ time: 6)
36
36
  p2 = pointer(
37
37
  id: 10, type: PEN, action: UP,
38
- position: [20, 30], modifiers: 40, drag: false, click_count: 50, view_index: 60,
39
- time: 70)
38
+ position: [20, 30], modifiers: 40, drag: false, click_count: 50,
39
+ time: 60)
40
40
  e = event p1, p2
41
41
 
42
42
  assert_equal [p1, p2], e.pointers.to_a
@@ -51,10 +51,9 @@ class TestPointerEvent < Test::Unit::TestCase
51
51
  assert_equal 2, e.x
52
52
  assert_equal 3, e.y
53
53
  assert_equal 4, e.modifiers
54
- assert_equal true, e.drag?
55
54
  assert_equal 5, e.click_count
56
- assert_equal 6, e.view_index
57
- assert_equal 7, e.time
55
+ assert_equal true, e.drag?
56
+ assert_equal 6, e.time
58
57
  end
59
58
 
60
59
  def test_dup()
data/test/test_window.rb CHANGED
@@ -47,27 +47,30 @@ class TestWindow < Test::Unit::TestCase
47
47
  b = w.frame.dup
48
48
  assert_equal b, w.frame
49
49
 
50
- w.frame = 1; assert_equal [0, 0, 1, 1], w.frame.to_a
51
- w.frame = [1]; assert_equal [0, 0, 1, 1], w.frame.to_a
52
- w.frame = [1, 2]; assert_equal [0, 0, 1, 2], w.frame.to_a
53
- w.frame = [1, 2, 3]; assert_equal [0, 0, 1, 2], w.frame.to_a
54
- w.frame = [1, 2, 3]; assert_equal [0, 0, 0, 1, 2, 0], w.frame.to_a(3)
55
- w.frame = [1, 2, 3, 4]; assert_equal [1, 2, 3, 4], w.frame.to_a
56
- w.frame = [1, 2, 3, 4]; assert_equal [1, 2, 0, 3, 4, 0], w.frame.to_a(3)
57
- w.frame = [1, 2, 3, 4, 5, 6]; assert_equal [1, 2, 4, 5], w.frame.to_a
58
- w.frame = [1, 2, 3, 4, 5, 6]; assert_equal [1, 2, 0, 4, 5, 0], w.frame.to_a(3)
59
-
60
- w.frame = point(1); assert_equal [0, 0, 1, 1], w.frame.to_a
61
- w.frame = [point(1)]; assert_equal [0, 0, 1, 1], w.frame.to_a
62
- w.frame = point(1, 2); assert_equal [0, 0, 1, 2], w.frame.to_a
63
- w.frame = [point(1, 2)]; assert_equal [0, 0, 1, 2], w.frame.to_a
64
- w.frame = [point(1, 2), point(3, 4)]; assert_equal [1, 2, 3, 4], w.frame.to_a
65
- w.frame = [point(1, 2), point(3, 4)]; assert_equal [1, 2, 0, 3, 4, 0], w.frame.to_a(3)
66
- w.frame = [point(1, 2, 3), point(4, 5, 6)]; assert_equal [1, 2, 4, 5], w.frame.to_a
67
- w.frame = [point(1, 2, 3), point(4, 5, 6)]; assert_equal [1, 2, 0, 4, 5, 0], w.frame.to_a(3)
68
-
69
- w.frame = bounds(1, 2, 3, 4, 5, 6); assert_equal [1, 2, 0, 4, 5, 0], w.frame.to_a(3)
70
- w.frame = [bounds(1, 2, 3, 4, 5, 6)]; assert_equal [1, 2, 0, 4, 5, 0], w.frame.to_a(3)
50
+ min_width = w.frame.width
51
+ minw = -> value {[min_width, value].max}
52
+
53
+ w.frame = 1; assert_equal [0, 0, minw[1], 1], w.frame.to_a
54
+ w.frame = [1]; assert_equal [0, 0, minw[1], 1], w.frame.to_a
55
+ w.frame = [1, 2]; assert_equal [0, 0, minw[1], 2], w.frame.to_a
56
+ w.frame = [1, 2, 3]; assert_equal [0, 0, minw[1], 2], w.frame.to_a
57
+ w.frame = [1, 2, 3]; assert_equal [0, 0, 0, minw[1], 2, 0], w.frame.to_a(3)
58
+ w.frame = [1, 2, 3, 4]; assert_equal [1, 2, minw[3], 4], w.frame.to_a
59
+ w.frame = [1, 2, 3, 4]; assert_equal [1, 2, 0, minw[3], 4, 0], w.frame.to_a(3)
60
+ w.frame = [1, 2, 3, 4, 5, 6]; assert_equal [1, 2, minw[4], 5], w.frame.to_a
61
+ w.frame = [1, 2, 3, 4, 5, 6]; assert_equal [1, 2, 0, minw[4], 5, 0], w.frame.to_a(3)
62
+
63
+ w.frame = point(1); assert_equal [0, 0, minw[1], 1], w.frame.to_a
64
+ w.frame = [point(1)]; assert_equal [0, 0, minw[1], 1], w.frame.to_a
65
+ w.frame = point(1, 2); assert_equal [0, 0, minw[1], 2], w.frame.to_a
66
+ w.frame = [point(1, 2)]; assert_equal [0, 0, minw[1], 2], w.frame.to_a
67
+ w.frame = [point(1, 2), point(3, 4)]; assert_equal [1, 2, minw[3], 4], w.frame.to_a
68
+ w.frame = [point(1, 2), point(3, 4)]; assert_equal [1, 2, 0, minw[3], 4, 0], w.frame.to_a(3)
69
+ w.frame = [point(1, 2, 3), point(4, 5, 6)]; assert_equal [1, 2, minw[4], 5], w.frame.to_a
70
+ w.frame = [point(1, 2, 3), point(4, 5, 6)]; assert_equal [1, 2, 0, minw[4], 5, 0], w.frame.to_a(3)
71
+
72
+ w.frame = bounds(1, 2, 3, 4, 5, 6); assert_equal [1, 2, 0, minw[4], 5, 0], w.frame.to_a(3)
73
+ w.frame = [bounds(1, 2, 3, 4, 5, 6)]; assert_equal [1, 2, 0, minw[4], 5, 0], w.frame.to_a(3)
71
74
  end
72
75
 
73
76
  def test_closable?()
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.2.1
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - xordog
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-05 00:00:00.000000000 Z
11
+ date: 2025-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xot
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.2.1
19
+ version: 0.3.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.2.1
26
+ version: 0.3.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rucy
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.2.1
33
+ version: 0.3.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.2.1
40
+ version: 0.3.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: beeps
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.2.1
47
+ version: 0.3.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.2.1
54
+ version: 0.3.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rays
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.2.1
61
+ version: 0.3.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.2.1
68
+ version: 0.3.1
69
69
  description: This library helps you to develop interactive graphical user interface.
70
70
  email: xordog@gmail.com
71
71
  executables: []
@@ -369,11 +369,14 @@ files:
369
369
  - src/view.cpp
370
370
  - src/view.h
371
371
  - src/win32/application.cpp
372
- - src/win32/defs.cpp
373
- - src/win32/defs.h
372
+ - src/win32/device.cpp
373
+ - src/win32/event.cpp
374
+ - src/win32/event.h
374
375
  - src/win32/opengl.cpp
375
376
  - src/win32/opengl.h
376
377
  - src/win32/reflex.cpp
378
+ - src/win32/screen.cpp
379
+ - src/win32/screen.h
377
380
  - src/win32/window.cpp
378
381
  - src/window.cpp
379
382
  - src/window.h