reflexion 0.2.1 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
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