reflexion 0.1.13 → 0.1.19

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