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