reflexion 0.1.13 → 0.1.19

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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/.doc/ext/reflex/capture_event.cpp +4 -5
  3. data/.doc/ext/reflex/contact_event.cpp +4 -7
  4. data/.doc/ext/reflex/draw_event.cpp +3 -4
  5. data/.doc/ext/reflex/frame_event.cpp +7 -8
  6. data/.doc/ext/reflex/key_event.cpp +7 -8
  7. data/.doc/ext/reflex/motion_event.cpp +3 -5
  8. data/.doc/ext/reflex/pointer_event.cpp +23 -15
  9. data/.doc/ext/reflex/reflex.cpp +3 -1
  10. data/.doc/ext/reflex/scroll_event.cpp +8 -9
  11. data/.doc/ext/reflex/update_event.cpp +4 -5
  12. data/.doc/ext/reflex/wheel_event.cpp +5 -6
  13. data/LICENSE +21 -0
  14. data/VERSION +1 -1
  15. data/ext/reflex/capture_event.cpp +3 -4
  16. data/ext/reflex/contact_event.cpp +3 -6
  17. data/ext/reflex/draw_event.cpp +2 -3
  18. data/ext/reflex/frame_event.cpp +6 -7
  19. data/ext/reflex/key_event.cpp +6 -7
  20. data/ext/reflex/motion_event.cpp +2 -4
  21. data/ext/reflex/pointer_event.cpp +22 -14
  22. data/ext/reflex/reflex.cpp +3 -1
  23. data/ext/reflex/scroll_event.cpp +8 -9
  24. data/ext/reflex/update_event.cpp +3 -4
  25. data/ext/reflex/wheel_event.cpp +4 -5
  26. data/include/reflex/defs.h +0 -2
  27. data/include/reflex/event.h +15 -15
  28. data/include/reflex/exception.h +9 -3
  29. data/include/reflex/ruby/event.h +11 -11
  30. data/include/reflex/ruby/reflex.h +1 -0
  31. data/include/reflex/style.h +30 -4
  32. data/lib/reflex.rb +2 -1
  33. data/lib/reflex/camera.rb +13 -0
  34. data/lib/reflex/pointer_event.rb +4 -0
  35. data/reflex.gemspec +4 -4
  36. data/samples/camera.rb +45 -0
  37. data/samples/shapes.rb +16 -0
  38. data/src/event.cpp +7 -7
  39. data/src/ios/view_controller.h +4 -0
  40. data/src/ios/view_controller.mm +22 -34
  41. data/src/osx/native_window.mm +10 -26
  42. data/src/shape.cpp +4 -4
  43. data/src/style.cpp +4 -4
  44. data/src/timer.cpp +3 -6
  45. data/src/view.cpp +2 -2
  46. data/src/window.cpp +27 -0
  47. data/src/window.h +2 -0
  48. data/test/test_pointer_event.rb +79 -34
  49. metadata +16 -13
@@ -80,6 +80,8 @@ namespace Reflex
80
80
 
81
81
  void Window_set_focus (Window* window, View* view);
82
82
 
83
+ void Window_call_draw_event (Window* window, DrawEvent* event);
84
+
83
85
 
84
86
  typedef View* (*Window_CreateRootViewFun) ();
85
87
 
@@ -6,80 +6,125 @@ require_relative 'helper'
6
6
 
7
7
  class TestPointerEvent < Test::Unit::TestCase
8
8
 
9
+ E = Reflex::PointerEvent
9
10
  T = true
10
11
  F = false
11
12
 
12
- def event (*args)
13
- Reflex::PointerEvent.new *args
13
+ TYPE_NONE = E::TYPE_NONE
14
+ DOWN = E::TYPE_DOWN
15
+ UP = E::TYPE_UP
16
+ MOVE = E::TYPE_MOVE
17
+
18
+ POINTER_NONE = E::POINTER_NONE
19
+ LEFT = E::POINTER_MOUSE_LEFT
20
+ RIGHT = E::POINTER_MOUSE_RIGHT
21
+ MIDDLE = E::POINTER_MOUSE_MIDDLE
22
+ TOUCH = E::POINTER_TOUCH
23
+ PEN = E::POINTER_PEN
24
+
25
+ def event (
26
+ type = TYPE_NONE, pointer_type = POINTER_NONE,
27
+ modifiers = 0, count = 0, drag = false,
28
+ positions: [0])
29
+
30
+ Reflex::PointerEvent.new type, pointer_type, modifiers, count, drag, positions
14
31
  end
15
32
 
16
- def type (arg)
17
- event(arg).tap do |o|
18
- def o.test ()
19
- [type, down?, up?, move?]
20
- end
21
- end
33
+ def test_initialize ()
34
+ assert_nothing_raised {event positions: 10.times.to_a}
35
+ assert_raise(ArgumentError) {event positions: 11.times.to_a}
36
+ assert_raise(ArgumentError) {event positions: []}
22
37
  end
23
38
 
24
39
  def test_type ()
25
- o = type Reflex::PointerEvent::TYPE_NONE
40
+ def type (arg)
41
+ event(arg).tap do |o|
42
+ def o.test ()
43
+ [type, down?, up?, move?]
44
+ end
45
+ end
46
+ end
47
+
48
+ o = type TYPE_NONE
26
49
  assert_equal [:none, F, F, F], o.test
27
50
 
28
- o = type Reflex::PointerEvent::TYPE_DOWN
51
+ o = type DOWN
29
52
  assert_equal [:down, T, F, F], o.test
30
53
 
31
- o = type Reflex::PointerEvent::TYPE_UP
54
+ o = type UP
32
55
  assert_equal [:up, F, T, F], o.test
33
56
 
34
- o = type Reflex::PointerEvent::TYPE_MOVE
57
+ o = type MOVE
35
58
  assert_equal [:move, F, F, T], o.test
36
59
  end
37
60
 
38
- def pointer_type (arg)
39
- event(Reflex::PointerEvent::TYPE_NONE, arg).tap do |o|
40
- def o.test ()
41
- [pointer_type, left?, right?, middle?, touch?, pen?]
61
+ def test_pointer_type ()
62
+ def pointer_type (arg)
63
+ event(TYPE_NONE, arg).tap do |o|
64
+ def o.test ()
65
+ [pointer_type, left?, right?, middle?, touch?, pen?]
66
+ end
42
67
  end
43
68
  end
44
- end
45
69
 
46
- def test_pointer_type ()
47
- o = pointer_type Reflex::PointerEvent::POINTER_NONE
70
+ o = pointer_type POINTER_NONE
48
71
  assert_equal [[], F, F, F, F, F], o.test
49
72
 
50
- o = pointer_type Reflex::PointerEvent::POINTER_MOUSE_LEFT
73
+ o = pointer_type LEFT
51
74
  assert_equal [[:mouse_left], T, F, F, F, F], o.test
52
75
 
53
- o = pointer_type Reflex::PointerEvent::POINTER_MOUSE_RIGHT
76
+ o = pointer_type RIGHT
54
77
  assert_equal [[:mouse_right], F, T, F, F, F], o.test
55
78
 
56
- o = pointer_type Reflex::PointerEvent::POINTER_MOUSE_MIDDLE
79
+ o = pointer_type MIDDLE
57
80
  assert_equal [[:mouse_middle], F, F, T, F, F], o.test
58
81
 
59
- o = pointer_type Reflex::PointerEvent::POINTER_TOUCH
82
+ o = pointer_type TOUCH
60
83
  assert_equal [[:touch], F, F, F, T, F], o.test
61
84
 
62
- o = pointer_type Reflex::PointerEvent::POINTER_PEN
85
+ o = pointer_type PEN
63
86
  assert_equal [[:pen], F, F, F, F, T], o.test
64
87
 
65
- o = pointer_type Reflex::PointerEvent::POINTER_MOUSE_LEFT |
66
- Reflex::PointerEvent::POINTER_MOUSE_RIGHT
88
+ o = pointer_type LEFT | RIGHT
67
89
  types = [:mouse_left, :mouse_right]
68
90
  assert_equal [types, T, T, F, F, F], o.test
69
91
 
70
- o = pointer_type Reflex::PointerEvent::POINTER_MOUSE_LEFT |
71
- Reflex::PointerEvent::POINTER_MOUSE_RIGHT |
72
- Reflex::PointerEvent::POINTER_MOUSE_MIDDLE
92
+ o = pointer_type LEFT | RIGHT | MIDDLE
73
93
  types = [:mouse_left, :mouse_right, :mouse_middle]
74
94
  assert_equal [types, T, T, T, F, F], o.test
75
95
 
76
- o = pointer_type Reflex::PointerEvent::POINTER_MOUSE_LEFT |
77
- Reflex::PointerEvent::POINTER_MOUSE_RIGHT |
78
- Reflex::PointerEvent::POINTER_MOUSE_MIDDLE |
79
- Reflex::PointerEvent::POINTER_TOUCH |
80
- Reflex::PointerEvent::POINTER_PEN
96
+ o = pointer_type LEFT | RIGHT | MIDDLE | TOUCH | PEN
81
97
  types = [:mouse_left, :mouse_right, :mouse_middle, :touch, :pen]
82
98
  assert_equal [types, T, T, T, T, T], o.test
83
99
  end
84
100
 
101
+ def test_size ()
102
+ assert_equal 1, event(positions: [0] ).size
103
+ assert_equal 2, event(positions: [0, 1]).size
104
+ end
105
+
106
+ def test_xy ()
107
+ assert_equal 0, event(positions: [[0, 1], [2, 3]]).x
108
+ assert_equal 1, event(positions: [[0, 1], [2, 3]]).y
109
+ end
110
+
111
+ def test_position ()
112
+ assert_equal [0, 1], event(positions: [[0, 1], [2, 3]]).position.to_a
113
+ end
114
+
115
+ def test_positions ()
116
+ assert_equal [[0, 0]], event(positions: [0] ).positions.map(&:to_a)
117
+ assert_equal [[0, 0], [1, 1]], event(positions: [0, 1]).positions.map(&:to_a)
118
+
119
+ assert_equal [[0, 1]], event(positions: [[0, 1]] ).positions.map(&:to_a)
120
+ assert_equal [[0, 1], [2, 3]], event(positions: [[0, 1], [2, 3]]).positions.map(&:to_a)
121
+ end
122
+
123
+ def test_at ()
124
+ assert_equal [0, 1], event(positions: [[0, 1], [2, 3]])[0].to_a
125
+ assert_equal [2, 3], event(positions: [[0, 1], [2, 3]])[1].to_a
126
+ assert_raise(IndexError) {event(positions: [[0, 1], [2, 3]])[-1]}
127
+ assert_raise(IndexError) {event(positions: [[0, 1], [2, 3]])[2]}
128
+ end
129
+
85
130
  end# TestPointerEvent
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.13
4
+ version: 0.1.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - xordog
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-23 00:00:00.000000000 Z
11
+ date: 2020-12-10 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.1'
19
+ version: 0.1.19
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.1'
26
+ version: 0.1.19
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.1'
33
+ version: 0.1.18
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.1'
40
+ version: 0.1.18
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.1'
47
+ version: 0.1.18
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.1'
54
+ version: 0.1.18
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.1'
61
+ version: 0.1.19
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.1'
68
+ version: 0.1.19
69
69
  description: This library helps you to develop interactive graphical user interface.
70
70
  email: xordog@gmail.com
71
71
  executables: []
@@ -131,6 +131,7 @@ files:
131
131
  - ".doc/ext/reflex/view.cpp"
132
132
  - ".doc/ext/reflex/wheel_event.cpp"
133
133
  - ".doc/ext/reflex/window.cpp"
134
+ - LICENSE
134
135
  - README.md
135
136
  - Rakefile
136
137
  - VERSION
@@ -199,6 +200,7 @@ files:
199
200
  - lib/reflex/bitmap.rb
200
201
  - lib/reflex/bounds.rb
201
202
  - lib/reflex/button.rb
203
+ - lib/reflex/camera.rb
202
204
  - lib/reflex/capture_event.rb
203
205
  - lib/reflex/color.rb
204
206
  - lib/reflex/color_space.rb
@@ -248,6 +250,7 @@ files:
248
250
  - reflex.gemspec
249
251
  - samples/app.rb
250
252
  - samples/bats.rb
253
+ - samples/camera.rb
251
254
  - samples/checker.rb
252
255
  - samples/fans.rb
253
256
  - samples/fps.rb
@@ -358,7 +361,7 @@ files:
358
361
  homepage: https://github.com/xord/reflex
359
362
  licenses: []
360
363
  metadata: {}
361
- post_install_message:
364
+ post_install_message:
362
365
  rdoc_options: []
363
366
  require_paths:
364
367
  - lib
@@ -374,7 +377,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
374
377
  version: '0'
375
378
  requirements: []
376
379
  rubygems_version: 3.0.3
377
- signing_key:
380
+ signing_key:
378
381
  specification_version: 4
379
382
  summary: A Graphical User Interface Tool Kit.
380
383
  test_files: