reflexion 0.1.20 → 0.1.24
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.
- checksums.yaml +4 -4
- data/.doc/ext/reflex/capture_event.cpp +6 -5
- data/.doc/ext/reflex/contact_event.cpp +18 -16
- data/.doc/ext/reflex/draw_event.cpp +10 -8
- data/.doc/ext/reflex/event.cpp +10 -10
- data/.doc/ext/reflex/focus_event.cpp +18 -17
- data/.doc/ext/reflex/frame_event.cpp +17 -17
- data/.doc/ext/reflex/key_event.cpp +227 -28
- data/.doc/ext/reflex/native.cpp +2 -0
- data/.doc/ext/reflex/pointer.cpp +158 -0
- data/.doc/ext/reflex/pointer_event.cpp +32 -91
- data/.doc/ext/reflex/scroll_event.cpp +14 -17
- data/.doc/ext/reflex/selector.cpp +8 -0
- data/.doc/ext/reflex/timer.cpp +9 -1
- data/.doc/ext/reflex/timer_event.cpp +4 -13
- data/.doc/ext/reflex/update_event.cpp +6 -5
- data/.doc/ext/reflex/view.cpp +57 -0
- data/.doc/ext/reflex/wheel_event.cpp +39 -22
- data/.doc/ext/reflex/window.cpp +41 -0
- data/VERSION +1 -1
- data/ext/reflex/capture_event.cpp +6 -5
- data/ext/reflex/contact_event.cpp +18 -16
- data/ext/reflex/draw_event.cpp +9 -7
- data/ext/reflex/event.cpp +11 -11
- data/ext/reflex/focus_event.cpp +18 -17
- data/ext/reflex/frame_event.cpp +16 -16
- data/ext/reflex/key_event.cpp +228 -28
- data/ext/reflex/native.cpp +2 -0
- data/ext/reflex/pointer.cpp +170 -0
- data/ext/reflex/pointer_event.cpp +31 -96
- data/ext/reflex/scroll_event.cpp +15 -18
- data/ext/reflex/selector.cpp +9 -0
- data/ext/reflex/timer.cpp +15 -6
- data/ext/reflex/timer_event.cpp +9 -19
- data/ext/reflex/update_event.cpp +6 -5
- data/ext/reflex/view.cpp +67 -3
- data/ext/reflex/wheel_event.cpp +40 -21
- data/ext/reflex/window.cpp +49 -3
- data/include/reflex/defs.h +140 -106
- data/include/reflex/event.h +232 -124
- data/include/reflex/pointer.h +107 -0
- data/include/reflex/ruby/pointer.h +41 -0
- data/include/reflex/ruby/view.h +9 -0
- data/include/reflex/ruby/window.h +9 -0
- data/include/reflex/selector.h +1 -1
- data/include/reflex/shape.h +2 -2
- data/include/reflex/view.h +6 -4
- data/include/reflex/window.h +14 -8
- data/lib/reflex/application.rb +3 -3
- data/lib/reflex/autoinit.rb +1 -1
- data/lib/reflex/button.rb +7 -7
- data/lib/reflex/capture_event.rb +7 -7
- data/lib/reflex/contact_event.rb +10 -10
- data/lib/reflex/draw_event.rb +2 -2
- data/lib/reflex/ellipse_shape.rb +2 -2
- data/lib/reflex/focus_event.rb +11 -11
- data/lib/reflex/frame_event.rb +5 -5
- data/lib/reflex/helper.rb +20 -20
- data/lib/reflex/image_view.rb +2 -2
- data/lib/reflex/key_event.rb +12 -12
- data/lib/reflex/model.rb +22 -22
- data/lib/reflex/model_owner.rb +7 -7
- data/lib/reflex/model_view.rb +1 -1
- data/lib/reflex/module.rb +5 -5
- data/lib/reflex/pointer.rb +107 -0
- data/lib/reflex/pointer_event.rb +16 -54
- data/lib/reflex/polygon_shape.rb +2 -2
- data/lib/reflex/reflex.rb +3 -3
- data/lib/reflex/scroll_event.rb +1 -1
- data/lib/reflex/selector.rb +4 -4
- data/lib/reflex/shape.rb +13 -13
- data/lib/reflex/style.rb +11 -11
- data/lib/reflex/style_length.rb +1 -1
- data/lib/reflex/text_view.rb +2 -2
- data/lib/reflex/timer.rb +2 -2
- data/lib/reflex/timer_event.rb +3 -2
- data/lib/reflex/update_event.rb +1 -1
- data/lib/reflex/view.rb +32 -32
- data/lib/reflex/wheel_event.rb +2 -10
- data/lib/reflex/window.rb +8 -7
- data/lib/reflex.rb +1 -0
- data/lib/reflexion.rb +17 -17
- data/reflex.gemspec +5 -5
- data/samples/reflexion/noise.rb +1 -1
- data/samples/tree.rb +1 -1
- data/src/event.cpp +792 -86
- data/src/event.h +47 -0
- data/src/image_view.cpp +2 -2
- data/src/ios/event.h +15 -3
- data/src/ios/event.mm +126 -11
- data/src/ios/view_controller.mm +51 -23
- data/src/ios/window.mm +18 -0
- data/src/osx/event.h +15 -4
- data/src/osx/event.mm +214 -24
- data/src/osx/native_window.mm +85 -18
- data/src/osx/window.mm +22 -0
- data/src/pointer.cpp +203 -0
- data/src/pointer.h +26 -0
- data/src/selector.cpp +1 -1
- data/src/shape.cpp +11 -13
- data/src/shape.h +1 -1
- data/src/view.cpp +205 -118
- data/src/view.h +5 -10
- data/src/window.cpp +346 -104
- data/src/window.h +28 -3
- data/src/world.cpp +6 -4
- data/test/helper.rb +3 -3
- data/test/test_application.rb +1 -1
- data/test/test_capture_event.rb +22 -6
- data/test/test_contact_event.rb +40 -0
- data/test/test_draw_event.rb +35 -0
- data/test/test_event.rb +33 -5
- data/test/test_focus_event.rb +34 -0
- data/test/test_frame_event.rb +38 -0
- data/test/test_has_frame.rb +11 -11
- data/test/test_key_event.rb +33 -0
- data/test/test_pointer.rb +149 -0
- data/test/test_pointer_event.rb +70 -104
- data/test/test_reflex.rb +1 -1
- data/test/test_scroll_event.rb +39 -0
- data/test/test_selector.rb +15 -8
- data/test/test_shape.rb +8 -8
- data/test/test_style.rb +13 -13
- data/test/test_style_length.rb +5 -5
- data/test/test_timer_event.rb +38 -0
- data/test/test_update_event.rb +29 -0
- data/test/test_view.rb +57 -30
- data/test/test_wheel_event.rb +40 -0
- data/test/test_window.rb +45 -26
- metadata +64 -35
data/test/test_capture_event.rb
CHANGED
@@ -6,13 +6,29 @@ require_relative 'helper'
|
|
6
6
|
|
7
7
|
class TestCaptureEvent < Test::Unit::TestCase
|
8
8
|
|
9
|
-
def event
|
10
|
-
Reflex::CaptureEvent.new
|
11
|
-
Reflex::View.capture_flag.symbols2bits
|
12
|
-
}
|
9
|
+
def event(*args)
|
10
|
+
Reflex::CaptureEvent.new(*args.map {|arg|
|
11
|
+
Reflex::View.capture_flag.symbols2bits(*arg)
|
12
|
+
})
|
13
13
|
end
|
14
14
|
|
15
|
-
def
|
15
|
+
def test_initialize()
|
16
|
+
e = event :key, :pointer
|
17
|
+
assert_equal [:key], e.begin
|
18
|
+
assert_equal [:pointer], e.end
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_dup()
|
22
|
+
e1 = event :key, :pointer
|
23
|
+
e2 = e1.dup
|
24
|
+
e1.block
|
25
|
+
e3 = e1.dup
|
26
|
+
assert_true e1.blocked?
|
27
|
+
assert_false e2.blocked?
|
28
|
+
assert_true e3.blocked?
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_begin()
|
16
32
|
c = event [:key, :pointer], []
|
17
33
|
assert_equal [:key, :pointer], c.begin
|
18
34
|
assert_equal true, c.begin?(:key)
|
@@ -26,7 +42,7 @@ class TestCaptureEvent < Test::Unit::TestCase
|
|
26
42
|
assert_equal false, c.begin?(:all)
|
27
43
|
end
|
28
44
|
|
29
|
-
def test_end
|
45
|
+
def test_end()
|
30
46
|
c = event [], [:key, :pointer]
|
31
47
|
assert_equal [:key, :pointer], c.end
|
32
48
|
assert_equal true, c.end?(:key)
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
|
4
|
+
require_relative 'helper'
|
5
|
+
|
6
|
+
|
7
|
+
class TestContactEvent < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def event(*args)
|
10
|
+
Reflex::ContactEvent.new(*args)
|
11
|
+
end
|
12
|
+
|
13
|
+
def shape()
|
14
|
+
Reflex::RectShape.new
|
15
|
+
end
|
16
|
+
|
17
|
+
def view(*args)
|
18
|
+
Reflex::View.new(*args)
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_initialize()
|
22
|
+
s, v = shape, view
|
23
|
+
v.shape = s# attach to view
|
24
|
+
e = event Reflex::ContactEvent::BEGIN, s
|
25
|
+
assert_equal :begin, e.action
|
26
|
+
assert_equal s, e.shape
|
27
|
+
assert_equal v, e.view
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_dup()
|
31
|
+
e1 = event Reflex::ContactEvent::BEGIN, shape
|
32
|
+
e2 = e1.dup
|
33
|
+
e1.block
|
34
|
+
e3 = e1.dup
|
35
|
+
assert_true e1.blocked?
|
36
|
+
assert_false e2.blocked?
|
37
|
+
assert_true e3.blocked?
|
38
|
+
end
|
39
|
+
|
40
|
+
end# TestContactEvent
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
|
4
|
+
require_relative 'helper'
|
5
|
+
|
6
|
+
|
7
|
+
class TestDrawEvent < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def event(*args)
|
10
|
+
Reflex::DrawEvent.new(*args)
|
11
|
+
end
|
12
|
+
|
13
|
+
def bounds(*args)
|
14
|
+
Rays::Bounds.new(*args)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_initialize()
|
18
|
+
e = event 1, 2
|
19
|
+
assert_nil e.painter
|
20
|
+
assert_equal bounds(0), e.bounds
|
21
|
+
assert_equal 1, e.dt
|
22
|
+
assert_equal 2, e.fps
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_dup()
|
26
|
+
e1 = event 1, 2
|
27
|
+
e2 = e1.dup
|
28
|
+
e1.block
|
29
|
+
e3 = e1.dup
|
30
|
+
assert_true e1.blocked?
|
31
|
+
assert_false e2.blocked?
|
32
|
+
assert_true e3.blocked?
|
33
|
+
end
|
34
|
+
|
35
|
+
end# TestDrawEvent
|
data/test/test_event.rb
CHANGED
@@ -6,15 +6,43 @@ require_relative 'helper'
|
|
6
6
|
|
7
7
|
class TestEvent < Test::Unit::TestCase
|
8
8
|
|
9
|
-
def event
|
10
|
-
Reflex::
|
9
|
+
def event()
|
10
|
+
Reflex::UpdateEvent.new 0, 0
|
11
11
|
end
|
12
12
|
|
13
|
-
def
|
13
|
+
def test_dup()
|
14
|
+
e1 = event
|
15
|
+
e2 = e1.dup
|
16
|
+
e1.block
|
17
|
+
e3 = e1.dup
|
18
|
+
assert_true e1.blocked?
|
19
|
+
assert_false e2.blocked?
|
20
|
+
assert_true e3.blocked?
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_block()
|
14
24
|
e = event
|
15
|
-
|
25
|
+
assert_false e.blocked?
|
16
26
|
e.block
|
17
|
-
|
27
|
+
assert_true e.blocked?
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_block_propagation()
|
31
|
+
e1 = event
|
32
|
+
e2 = e1.dup
|
33
|
+
e3 = e2.dup
|
34
|
+
assert_false e1.blocked?
|
35
|
+
assert_false e2.blocked?
|
36
|
+
assert_false e3.blocked?
|
37
|
+
|
38
|
+
e2.block
|
39
|
+
assert_true e1.blocked?
|
40
|
+
assert_true e2.blocked?
|
41
|
+
assert_false e3.blocked?
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_time()
|
45
|
+
assert_in_delta Time.now.to_f, event.time, 0.001
|
18
46
|
end
|
19
47
|
|
20
48
|
end# TestEvent
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
|
4
|
+
require_relative 'helper'
|
5
|
+
|
6
|
+
|
7
|
+
class TestFocusEvent < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def event(*args)
|
10
|
+
Reflex::FocusEvent.new(*args)
|
11
|
+
end
|
12
|
+
|
13
|
+
def view(*args)
|
14
|
+
Reflex::View.new(*args)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_initialize()
|
18
|
+
e = event Reflex::FocusEvent::FOCUS, view(name: :a), view(name: :b)
|
19
|
+
assert_equal :focus, e.action
|
20
|
+
assert_equal 'a', e.current.name
|
21
|
+
assert_equal 'b', e.last .name
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_dup()
|
25
|
+
e1 = event Reflex::FocusEvent::FOCUS, view, view
|
26
|
+
e2 = e1.dup
|
27
|
+
e1.block
|
28
|
+
e3 = e1.dup
|
29
|
+
assert_true e1.blocked?
|
30
|
+
assert_false e2.blocked?
|
31
|
+
assert_true e3.blocked?
|
32
|
+
end
|
33
|
+
|
34
|
+
end# TestFocusEvent
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
|
4
|
+
require_relative 'helper'
|
5
|
+
|
6
|
+
|
7
|
+
class TestFrameEvent < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def event(*args)
|
10
|
+
Reflex::FrameEvent.new(*args)
|
11
|
+
end
|
12
|
+
|
13
|
+
def bounds(*args)
|
14
|
+
Rays::Bounds.new(*args)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_initialize()
|
18
|
+
e = event bounds(1, 2, 3, 4, 5, 6), 7, 8, 9, 10, 11, 12
|
19
|
+
assert_equal bounds(1, 2, 3, 4, 5, 6), e.frame
|
20
|
+
assert_equal 7, e.dx
|
21
|
+
assert_equal 8, e.dy
|
22
|
+
assert_equal 9, e.dw
|
23
|
+
assert_equal 10, e.dh
|
24
|
+
assert_equal 11, e.angle
|
25
|
+
assert_equal 12, e.dangle
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_dup()
|
29
|
+
e1 = event bounds(1, 2, 3, 4, 5, 6), 7, 8, 9, 10, 11, 12
|
30
|
+
e2 = e1.dup
|
31
|
+
e1.block
|
32
|
+
e3 = e1.dup
|
33
|
+
assert_true e1.blocked?
|
34
|
+
assert_false e2.blocked?
|
35
|
+
assert_true e3.blocked?
|
36
|
+
end
|
37
|
+
|
38
|
+
end# TestFrameEvent
|
data/test/test_has_frame.rb
CHANGED
@@ -6,11 +6,11 @@ require_relative 'helper'
|
|
6
6
|
|
7
7
|
class TestHasFrame < Test::Unit::TestCase
|
8
8
|
|
9
|
-
def view
|
10
|
-
Reflex::View.new
|
9
|
+
def view(*args)
|
10
|
+
Reflex::View.new(*args)
|
11
11
|
end
|
12
12
|
|
13
|
-
def test_accessors
|
13
|
+
def test_accessors()
|
14
14
|
v = view
|
15
15
|
b = v.frame.dup
|
16
16
|
assert_equal b, v.frame
|
@@ -28,18 +28,18 @@ class TestHasFrame < Test::Unit::TestCase
|
|
28
28
|
assert_equal [15, 25, 30, 90, 190, 300], v.frame.to_a(3)
|
29
29
|
end
|
30
30
|
|
31
|
-
def test_move
|
31
|
+
def test_move()
|
32
32
|
v = view
|
33
|
-
v.move_to
|
34
|
-
v.move_by
|
35
|
-
v.move_by
|
33
|
+
v.move_to( 10, 10); assert_equal [10, 10], v.pos.to_a
|
34
|
+
v.move_by( 40, 40); assert_equal [50, 50], v.pos.to_a
|
35
|
+
v.move_by(-10, -10); assert_equal [40, 40], v.pos.to_a
|
36
36
|
end
|
37
37
|
|
38
|
-
def test_resize
|
38
|
+
def test_resize()
|
39
39
|
v = view
|
40
|
-
v.resize_to
|
41
|
-
v.resize_by
|
42
|
-
v.resize_by
|
40
|
+
v.resize_to( 100, 100); assert_equal [100, 100], v.size.to_a
|
41
|
+
v.resize_by( 400, 400); assert_equal [500, 500], v.size.to_a
|
42
|
+
v.resize_by(-100, -100); assert_equal [400, 400], v.size.to_a
|
43
43
|
end
|
44
44
|
|
45
45
|
end# TestHasFrame
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
|
4
|
+
require_relative 'helper'
|
5
|
+
|
6
|
+
|
7
|
+
class TestKeyEvent < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def event(*args)
|
10
|
+
Reflex::KeyEvent.new(*args)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_initialize()
|
14
|
+
e = event Reflex::KeyEvent::DOWN, 'a', 1, 2, 3
|
15
|
+
assert_equal :down, e.action
|
16
|
+
assert_equal 'a', e.chars
|
17
|
+
assert_equal 1, e.code
|
18
|
+
assert_equal 2, e.modifiers
|
19
|
+
assert_equal 3, e.repeat
|
20
|
+
assert_false e.captured?
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_dup()
|
24
|
+
e1 = event Reflex::KeyEvent::DOWN, 'a', 1, 2, 3
|
25
|
+
e2 = e1.dup
|
26
|
+
e1.block
|
27
|
+
e3 = e1.dup
|
28
|
+
assert_true e1.blocked?
|
29
|
+
assert_false e2.blocked?
|
30
|
+
assert_true e3.blocked?
|
31
|
+
end
|
32
|
+
|
33
|
+
end# TestKeyEvent
|
@@ -0,0 +1,149 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
|
4
|
+
require_relative 'helper'
|
5
|
+
|
6
|
+
|
7
|
+
class TestPointer < Test::Unit::TestCase
|
8
|
+
|
9
|
+
TYPE_NONE = Reflex::Pointer::TYPE_NONE
|
10
|
+
MOUSE = Reflex::Pointer::MOUSE
|
11
|
+
LEFT = Reflex::Pointer::MOUSE_LEFT
|
12
|
+
RIGHT = Reflex::Pointer::MOUSE_RIGHT
|
13
|
+
MIDDLE = Reflex::Pointer::MOUSE_MIDDLE
|
14
|
+
TOUCH = Reflex::Pointer::TOUCH
|
15
|
+
PEN = Reflex::Pointer::PEN
|
16
|
+
|
17
|
+
ACTION_NONE = Reflex::Pointer::ACTION_NONE
|
18
|
+
DOWN = Reflex::Pointer::DOWN
|
19
|
+
UP = Reflex::Pointer::UP
|
20
|
+
MOVE = Reflex::Pointer::MOVE
|
21
|
+
STAY = Reflex::Pointer::STAY
|
22
|
+
CANCEL = Reflex::Pointer::CANCEL
|
23
|
+
|
24
|
+
T = true
|
25
|
+
F = false
|
26
|
+
|
27
|
+
def pointer(
|
28
|
+
id: 0, type: TYPE_NONE, action: ACTION_NONE,
|
29
|
+
position: 0, modifiers: 0, click_count: 0, drag: false,
|
30
|
+
time: 0)
|
31
|
+
|
32
|
+
Reflex::Pointer.new(
|
33
|
+
id, type, action, position, modifiers, click_count, drag, time)
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_initialize()
|
37
|
+
assert_nothing_raised {pointer}
|
38
|
+
|
39
|
+
p = pointer(
|
40
|
+
id: 1, type: TOUCH, action: DOWN,
|
41
|
+
position: [2, 3], modifiers: 4, click_count: 5, drag: true,
|
42
|
+
time: 6)
|
43
|
+
|
44
|
+
assert_equal 1, p.id
|
45
|
+
assert_equal [:touch], p.types
|
46
|
+
assert_equal :down, p.action
|
47
|
+
assert_equal [2, 3], p.position.to_a
|
48
|
+
assert_equal 4, p.modifiers
|
49
|
+
assert_equal 5, p.click_count
|
50
|
+
assert_equal true, p.drag?
|
51
|
+
assert_equal 6, p.time
|
52
|
+
assert_nil p.prev
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_types()
|
56
|
+
def create(t)
|
57
|
+
pointer(type: t).tap do |o|
|
58
|
+
def o.test()
|
59
|
+
[types, mouse?, left?, right?, middle?, touch?, pen?]
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
o = create TYPE_NONE
|
65
|
+
assert_equal [[], F, F, F, F, F, F], o.test
|
66
|
+
|
67
|
+
o = create MOUSE
|
68
|
+
assert_equal [[:mouse], T, F, F, F, F, F], o.test
|
69
|
+
|
70
|
+
o = create LEFT
|
71
|
+
assert_equal [[:mouse_left], F, T, F, F, F, F], o.test
|
72
|
+
|
73
|
+
o = create RIGHT
|
74
|
+
assert_equal [[:mouse_right], F, F, T, F, F, F], o.test
|
75
|
+
|
76
|
+
o = create MIDDLE
|
77
|
+
assert_equal [[:mouse_middle], F, F, F, T, F, F], o.test
|
78
|
+
|
79
|
+
o = create TOUCH
|
80
|
+
assert_equal [[:touch], F, F, F, F, T, F], o.test
|
81
|
+
|
82
|
+
o = create PEN
|
83
|
+
assert_equal [[:pen], F, F, F, F, F, T], o.test
|
84
|
+
|
85
|
+
o = create LEFT | RIGHT
|
86
|
+
types = [:mouse_left, :mouse_right]
|
87
|
+
assert_equal [types, F, T, T, F, F, F], o.test
|
88
|
+
|
89
|
+
o = create LEFT | RIGHT | MIDDLE
|
90
|
+
types = [:mouse_left, :mouse_right, :mouse_middle]
|
91
|
+
assert_equal [types, F, T, T, T, F, F], o.test
|
92
|
+
|
93
|
+
o = create MOUSE | LEFT | RIGHT | MIDDLE | TOUCH | PEN
|
94
|
+
types = [:mouse, :mouse_left, :mouse_right, :mouse_middle, :touch, :pen]
|
95
|
+
assert_equal [types, T, T, T, T, T, T], o.test
|
96
|
+
end
|
97
|
+
|
98
|
+
def test_action()
|
99
|
+
def action(a)
|
100
|
+
pointer(action: a).tap do |o|
|
101
|
+
def o.test()
|
102
|
+
[action, down?, up?, move?, cancel?, stay?]
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
o = action ACTION_NONE
|
108
|
+
assert_equal [:none, F, F, F, F, F], o.test
|
109
|
+
|
110
|
+
o = action DOWN
|
111
|
+
assert_equal [:down, T, F, F, F, F], o.test
|
112
|
+
|
113
|
+
o = action UP
|
114
|
+
assert_equal [:up, F, T, F, F, F], o.test
|
115
|
+
|
116
|
+
o = action MOVE
|
117
|
+
assert_equal [:move, F, F, T, F, F], o.test
|
118
|
+
|
119
|
+
o = action CANCEL
|
120
|
+
assert_equal [:cancel, F, F, F, T, F], o.test
|
121
|
+
|
122
|
+
o = action STAY
|
123
|
+
assert_equal [:stay, F, F, F, F, T], o.test
|
124
|
+
end
|
125
|
+
|
126
|
+
def test_position()
|
127
|
+
assert_equal [1, 1], pointer(position: 1 ).position.to_a
|
128
|
+
assert_equal [2, 3], pointer(position: [2, 3]).position.to_a
|
129
|
+
end
|
130
|
+
|
131
|
+
def test_xy()
|
132
|
+
assert_equal 1, pointer(position: [1, 2]).x
|
133
|
+
assert_equal 2, pointer(position: [1, 2]).y
|
134
|
+
end
|
135
|
+
|
136
|
+
def test_compare()
|
137
|
+
assert_equal pointer, pointer
|
138
|
+
|
139
|
+
assert_not_equal pointer, pointer(id: 1)
|
140
|
+
assert_not_equal pointer, pointer(type: Reflex::Pointer::PEN)
|
141
|
+
assert_not_equal pointer, pointer(action: Reflex::Pointer::UP)
|
142
|
+
assert_not_equal pointer, pointer(position: 2)
|
143
|
+
assert_not_equal pointer, pointer(modifiers: 3)
|
144
|
+
assert_not_equal pointer, pointer(click_count: 4)
|
145
|
+
assert_not_equal pointer, pointer(drag: true)
|
146
|
+
assert_not_equal pointer, pointer(time: 5)
|
147
|
+
end
|
148
|
+
|
149
|
+
end# TestPointer
|
data/test/test_pointer_event.rb
CHANGED
@@ -6,125 +6,91 @@ require_relative 'helper'
|
|
6
6
|
|
7
7
|
class TestPointerEvent < Test::Unit::TestCase
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
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
|
31
|
-
end
|
32
|
-
|
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: []}
|
37
|
-
end
|
38
|
-
|
39
|
-
def test_type ()
|
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
|
9
|
+
TYPE_NONE = Reflex::Pointer::TYPE_NONE
|
10
|
+
TOUCH = Reflex::Pointer::TOUCH
|
11
|
+
PEN = Reflex::Pointer::PEN
|
47
12
|
|
48
|
-
|
49
|
-
|
13
|
+
ACTION_NONE = Reflex::Pointer::ACTION_NONE
|
14
|
+
DOWN = Reflex::Pointer::DOWN
|
15
|
+
UP = Reflex::Pointer::UP
|
50
16
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
o = type UP
|
55
|
-
assert_equal [:up, F, T, F], o.test
|
56
|
-
|
57
|
-
o = type MOVE
|
58
|
-
assert_equal [:move, F, F, T], o.test
|
17
|
+
def event(*args)
|
18
|
+
Reflex::PointerEvent.new(*args)
|
59
19
|
end
|
60
20
|
|
61
|
-
def
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
[pointer_type, left?, right?, middle?, touch?, pen?]
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
o = pointer_type POINTER_NONE
|
71
|
-
assert_equal [[], F, F, F, F, F], o.test
|
72
|
-
|
73
|
-
o = pointer_type LEFT
|
74
|
-
assert_equal [[:mouse_left], T, F, F, F, F], o.test
|
21
|
+
def pointer(
|
22
|
+
id: 0, type: TYPE_NONE, action: ACTION_NONE,
|
23
|
+
position: 0, modifiers: 0, click_count: 0, drag: false,
|
24
|
+
time: 0)
|
75
25
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
o = pointer_type MIDDLE
|
80
|
-
assert_equal [[:mouse_middle], F, F, T, F, F], o.test
|
81
|
-
|
82
|
-
o = pointer_type TOUCH
|
83
|
-
assert_equal [[:touch], F, F, F, T, F], o.test
|
84
|
-
|
85
|
-
o = pointer_type PEN
|
86
|
-
assert_equal [[:pen], F, F, F, F, T], o.test
|
87
|
-
|
88
|
-
o = pointer_type LEFT | RIGHT
|
89
|
-
types = [:mouse_left, :mouse_right]
|
90
|
-
assert_equal [types, T, T, F, F, F], o.test
|
91
|
-
|
92
|
-
o = pointer_type LEFT | RIGHT | MIDDLE
|
93
|
-
types = [:mouse_left, :mouse_right, :mouse_middle]
|
94
|
-
assert_equal [types, T, T, T, F, F], o.test
|
95
|
-
|
96
|
-
o = pointer_type LEFT | RIGHT | MIDDLE | TOUCH | PEN
|
97
|
-
types = [:mouse_left, :mouse_right, :mouse_middle, :touch, :pen]
|
98
|
-
assert_equal [types, T, T, T, T, T], o.test
|
26
|
+
Reflex::Pointer.new(
|
27
|
+
id, type, action, position, modifiers, click_count, drag, time)
|
99
28
|
end
|
100
29
|
|
101
|
-
def
|
102
|
-
|
103
|
-
|
30
|
+
def test_initialize()
|
31
|
+
assert_nothing_raised {event pointer}
|
32
|
+
assert_nothing_raised {event pointer, pointer}
|
33
|
+
assert_raise(ArgumentError) {event}
|
34
|
+
|
35
|
+
p1 = pointer(
|
36
|
+
id: 1, type: TOUCH, action: DOWN,
|
37
|
+
position: [2, 3], modifiers: 4, click_count: 5, drag: true,
|
38
|
+
time: 6)
|
39
|
+
p2 = pointer(
|
40
|
+
id: 10, type: PEN, action: UP,
|
41
|
+
position: [20, 30], modifiers: 40, click_count: 50, drag: false,
|
42
|
+
time: 60)
|
43
|
+
e = event p1, p2
|
44
|
+
|
45
|
+
assert_equal [p1, p2], e.pointers.to_a
|
46
|
+
assert_equal 2, e.size
|
47
|
+
assert_equal false, e.empty?
|
48
|
+
assert_equal false, e.captured?
|
49
|
+
|
50
|
+
assert_equal 1, p1.id
|
51
|
+
assert_equal [:touch], p1.types
|
52
|
+
assert_equal :down, p1.action
|
53
|
+
assert_equal [2, 3], p1.position.to_a
|
54
|
+
assert_equal [2, 3], p1.pos .to_a
|
55
|
+
assert_equal 2, p1.x
|
56
|
+
assert_equal 3, p1.y
|
57
|
+
assert_equal 4, p1.modifiers
|
58
|
+
assert_equal 5, p1.click_count
|
59
|
+
assert_equal true, p1.drag?
|
60
|
+
assert_equal 6, p1.time
|
104
61
|
end
|
105
62
|
|
106
|
-
def
|
107
|
-
|
108
|
-
|
63
|
+
def test_dup()
|
64
|
+
e1 = event pointer
|
65
|
+
e2 = e1.dup
|
66
|
+
e1.block
|
67
|
+
e3 = e1.dup
|
68
|
+
assert_equal true, e1.blocked?
|
69
|
+
assert_equal false, e2.blocked?
|
70
|
+
assert_equal true, e3.blocked?
|
109
71
|
end
|
110
72
|
|
111
|
-
def
|
112
|
-
assert_equal
|
73
|
+
def test_size()
|
74
|
+
assert_equal 1, event(pointer ).size
|
75
|
+
assert_equal 2, event(pointer, pointer).size
|
113
76
|
end
|
114
77
|
|
115
|
-
def
|
116
|
-
assert_equal
|
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)
|
78
|
+
def test_empty?()
|
79
|
+
assert_equal false, event(pointer).empty?
|
121
80
|
end
|
122
81
|
|
123
|
-
def
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
82
|
+
def test_get_at()
|
83
|
+
p1 = pointer position: 1
|
84
|
+
p2 = pointer position: 2
|
85
|
+
p3 = pointer position: 3
|
86
|
+
e = event p1, p2, p3
|
87
|
+
|
88
|
+
assert_equal p1, e[0]
|
89
|
+
assert_equal p3, e[2]
|
90
|
+
assert_nil e[3]
|
91
|
+
assert_equal p3, e[-1]
|
92
|
+
assert_equal p1, e[-3]
|
93
|
+
assert_nil e[-4]
|
128
94
|
end
|
129
95
|
|
130
96
|
end# TestPointerEvent
|
data/test/test_reflex.rb
CHANGED