reflexion 0.1.23 → 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 +14 -12
- data/.doc/ext/reflex/draw_event.cpp +10 -8
- data/.doc/ext/reflex/event.cpp +2 -10
- data/.doc/ext/reflex/focus_event.cpp +14 -13
- data/.doc/ext/reflex/frame_event.cpp +17 -17
- data/.doc/ext/reflex/key_event.cpp +20 -19
- data/.doc/ext/reflex/pointer_event.cpp +1 -1
- data/.doc/ext/reflex/scroll_event.cpp +14 -17
- 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/wheel_event.cpp +39 -22
- data/VERSION +1 -1
- data/ext/reflex/capture_event.cpp +6 -5
- data/ext/reflex/contact_event.cpp +16 -14
- data/ext/reflex/draw_event.cpp +9 -7
- data/ext/reflex/event.cpp +2 -11
- data/ext/reflex/focus_event.cpp +14 -13
- data/ext/reflex/frame_event.cpp +16 -16
- data/ext/reflex/key_event.cpp +20 -19
- data/ext/reflex/pointer_event.cpp +1 -1
- data/ext/reflex/scroll_event.cpp +15 -18
- 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/wheel_event.cpp +40 -21
- data/include/reflex/event.h +224 -115
- data/include/reflex/shape.h +2 -2
- data/lib/reflex/contact_event.rb +7 -7
- data/lib/reflex/focus_event.rb +8 -8
- data/lib/reflex/key_event.rb +8 -8
- data/lib/reflex/pointer.rb +3 -3
- data/lib/reflex/timer_event.rb +2 -1
- data/lib/reflex/wheel_event.rb +1 -9
- data/lib/reflex/window.rb +1 -1
- data/reflex.gemspec +4 -4
- data/src/event.cpp +630 -76
- data/src/event.h +15 -0
- data/src/image_view.cpp +2 -2
- data/src/ios/view_controller.mm +1 -1
- data/src/osx/event.h +1 -1
- data/src/osx/event.mm +9 -9
- data/src/osx/native_window.mm +1 -1
- data/src/shape.cpp +11 -13
- data/src/shape.h +1 -1
- data/src/view.cpp +137 -89
- data/src/view.h +5 -6
- data/src/window.cpp +44 -38
- data/src/world.cpp +6 -4
- data/test/test_capture_event.rb +16 -0
- data/test/test_contact_event.rb +40 -0
- data/test/test_draw_event.rb +35 -0
- data/test/test_event.rb +20 -6
- data/test/test_focus_event.rb +34 -0
- data/test/test_frame_event.rb +38 -0
- data/test/test_key_event.rb +33 -0
- data/test/test_pointer.rb +14 -14
- data/test/test_pointer_event.rb +1 -1
- data/test/test_scroll_event.rb +39 -0
- data/test/test_timer_event.rb +38 -0
- data/test/test_update_event.rb +29 -0
- data/test/test_wheel_event.rb +40 -0
- metadata +29 -11
data/src/window.cpp
CHANGED
@@ -31,17 +31,16 @@ namespace Reflex
|
|
31
31
|
|
32
32
|
window->self->focus.reset(view);
|
33
33
|
|
34
|
-
FocusEvent e(FocusEvent::BLUR, view, current);
|
35
|
-
|
36
34
|
if (current)
|
37
35
|
{
|
36
|
+
FocusEvent e(FocusEvent::BLUR, view, current);
|
38
37
|
current->on_focus(&e);
|
39
38
|
current->redraw();
|
40
39
|
}
|
41
40
|
|
42
41
|
if (view)
|
43
42
|
{
|
44
|
-
e
|
43
|
+
FocusEvent e(FocusEvent::FOCUS, view, current);
|
45
44
|
view->on_focus(&e);
|
46
45
|
view->redraw();
|
47
46
|
}
|
@@ -133,8 +132,8 @@ namespace Reflex
|
|
133
132
|
|
134
133
|
Rays::Bounds frame = window->frame();
|
135
134
|
|
136
|
-
event
|
137
|
-
event
|
135
|
+
DrawEvent_set_painter(event, painter);
|
136
|
+
DrawEvent_set_bounds(event, Bounds(0, 0, frame.width, frame.height));
|
138
137
|
|
139
138
|
painter->begin();
|
140
139
|
painter->push_state();
|
@@ -142,7 +141,7 @@ namespace Reflex
|
|
142
141
|
|
143
142
|
window->on_draw(event);
|
144
143
|
if (!event->is_blocked())
|
145
|
-
Reflex::View_draw_tree(window->root(),
|
144
|
+
Reflex::View_draw_tree(window->root(), event, 0, frame.move_to(0));
|
146
145
|
|
147
146
|
painter->pop_state();
|
148
147
|
painter->end();
|
@@ -166,29 +165,31 @@ namespace Reflex
|
|
166
165
|
if (!event)
|
167
166
|
argument_error(__FILE__, __LINE__);
|
168
167
|
|
169
|
-
window->on_key(event);
|
170
|
-
|
171
|
-
switch (event->type)
|
172
|
-
{
|
173
|
-
case KeyEvent::DOWN: window->on_key_down(event); break;
|
174
|
-
case KeyEvent::UP: window->on_key_up(event); break;
|
175
|
-
default: break;
|
176
|
-
}
|
177
|
-
|
178
168
|
for (auto& [view, targets] : window->self->captures)
|
179
169
|
{
|
180
170
|
if (!is_capturing(view.get(), targets, View::CAPTURE_KEY))
|
181
171
|
continue;
|
182
172
|
|
183
|
-
KeyEvent e =
|
184
|
-
e
|
185
|
-
View_call_key_event(const_cast<View*>(view.get()), e);
|
173
|
+
KeyEvent e = event->dup();
|
174
|
+
KeyEvent_set_captured(&e, true);
|
175
|
+
View_call_key_event(const_cast<View*>(view.get()), &e);
|
186
176
|
}
|
187
177
|
|
188
178
|
if (window->self->focus)
|
189
|
-
View_call_key_event(window->self->focus.get(),
|
179
|
+
View_call_key_event(window->self->focus.get(), event);
|
190
180
|
|
191
181
|
cleanup_captures(window);
|
182
|
+
|
183
|
+
if (event->is_blocked()) return;
|
184
|
+
|
185
|
+
window->on_key(event);
|
186
|
+
|
187
|
+
switch (event->action())
|
188
|
+
{
|
189
|
+
case KeyEvent::DOWN: window->on_key_down(event); break;
|
190
|
+
case KeyEvent::UP: window->on_key_up(event); break;
|
191
|
+
default: break;
|
192
|
+
}
|
192
193
|
}
|
193
194
|
|
194
195
|
static void
|
@@ -259,12 +260,13 @@ namespace Reflex
|
|
259
260
|
{
|
260
261
|
if (targets.empty()) continue;
|
261
262
|
|
262
|
-
PointerEvent
|
263
|
-
|
264
|
-
|
263
|
+
PointerEvent event;
|
264
|
+
PointerEvent_set_captured(&event, true);
|
265
|
+
extract_targeted_pointers(&event, extracteds, targets, pointers);
|
266
|
+
if (event.empty()) continue;
|
265
267
|
|
266
|
-
PointerEvent_update_for_capturing_view(&
|
267
|
-
View_call_pointer_event(const_cast<View*>(view.get()),
|
268
|
+
PointerEvent_update_for_capturing_view(&event, view);
|
269
|
+
View_call_pointer_event(const_cast<View*>(view.get()), &event);
|
268
270
|
}
|
269
271
|
}
|
270
272
|
|
@@ -293,15 +295,16 @@ namespace Reflex
|
|
293
295
|
|
294
296
|
if (views_capturing_all.empty()) return;
|
295
297
|
|
296
|
-
PointerEvent event
|
298
|
+
PointerEvent event;
|
299
|
+
PointerEvent_set_captured(&event, true);
|
297
300
|
extract_hovering_pointers(&event, extracteds, pointers);
|
298
301
|
if (event.empty()) return;
|
299
302
|
|
300
303
|
for (auto& view : views_capturing_all)
|
301
304
|
{
|
302
|
-
PointerEvent e = event;
|
305
|
+
PointerEvent e = event.dup();
|
303
306
|
PointerEvent_update_for_capturing_view(&e, view);
|
304
|
-
View_call_pointer_event(const_cast<View*>(view.get()), e);
|
307
|
+
View_call_pointer_event(const_cast<View*>(view.get()), &e);
|
305
308
|
}
|
306
309
|
}
|
307
310
|
|
@@ -359,6 +362,19 @@ namespace Reflex
|
|
359
362
|
if (!event)
|
360
363
|
argument_error(__FILE__, __LINE__);
|
361
364
|
|
365
|
+
call_captured_pointer_events(window, event);
|
366
|
+
|
367
|
+
if (!event->empty())
|
368
|
+
{
|
369
|
+
PointerEvent_update_for_child_view(event, window->root());
|
370
|
+
View_call_pointer_event(window->root(), event);
|
371
|
+
}
|
372
|
+
|
373
|
+
cleanup_captures(window);
|
374
|
+
|
375
|
+
if (event->empty() || event->is_blocked())
|
376
|
+
return;
|
377
|
+
|
362
378
|
window->on_pointer(event);
|
363
379
|
|
364
380
|
switch ((*event)[0].action())
|
@@ -369,16 +385,6 @@ namespace Reflex
|
|
369
385
|
case Pointer::CANCEL: window->on_pointer_cancel(event); break;
|
370
386
|
default: break;
|
371
387
|
}
|
372
|
-
|
373
|
-
call_captured_pointer_events(window, event);
|
374
|
-
|
375
|
-
if (!event->empty())
|
376
|
-
{
|
377
|
-
PointerEvent_update_for_child_view(event, window->root());
|
378
|
-
View_call_pointer_event(window->root(), *event);
|
379
|
-
}
|
380
|
-
|
381
|
-
cleanup_captures(window);
|
382
388
|
}
|
383
389
|
|
384
390
|
void
|
@@ -391,7 +397,7 @@ namespace Reflex
|
|
391
397
|
|
392
398
|
window->on_wheel(event);
|
393
399
|
|
394
|
-
View_call_wheel_event(window->root(),
|
400
|
+
View_call_wheel_event(window->root(), event);
|
395
401
|
}
|
396
402
|
|
397
403
|
|
data/src/world.cpp
CHANGED
@@ -251,8 +251,9 @@ namespace Reflex
|
|
251
251
|
if (!View_is_active(*s1->owner()) || !View_is_active(*s2->owner()))
|
252
252
|
return;
|
253
253
|
|
254
|
-
|
255
|
-
Shape_call_contact_event(
|
254
|
+
ContactEvent e1(ContactEvent::BEGIN, s2), e2(ContactEvent::BEGIN, s1);
|
255
|
+
Shape_call_contact_event(s1, &e1);
|
256
|
+
Shape_call_contact_event(s2, &e2);
|
256
257
|
}
|
257
258
|
|
258
259
|
void
|
@@ -267,8 +268,9 @@ namespace Reflex
|
|
267
268
|
if (!View_is_active(*s1->owner()) || !View_is_active(*s2->owner()))
|
268
269
|
return;
|
269
270
|
|
270
|
-
|
271
|
-
Shape_call_contact_event(
|
271
|
+
ContactEvent e1(ContactEvent::END, s2), e2(ContactEvent::END, s1);
|
272
|
+
Shape_call_contact_event(s1, &e1);
|
273
|
+
Shape_call_contact_event(s2, &e2);
|
272
274
|
}
|
273
275
|
|
274
276
|
|
data/test/test_capture_event.rb
CHANGED
@@ -12,6 +12,22 @@ class TestCaptureEvent < Test::Unit::TestCase
|
|
12
12
|
})
|
13
13
|
end
|
14
14
|
|
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
|
+
|
15
31
|
def test_begin()
|
16
32
|
c = event [:key, :pointer], []
|
17
33
|
assert_equal [:key, :pointer], c.begin
|
@@ -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
@@ -7,7 +7,7 @@ require_relative 'helper'
|
|
7
7
|
class TestEvent < Test::Unit::TestCase
|
8
8
|
|
9
9
|
def event()
|
10
|
-
Reflex::
|
10
|
+
Reflex::UpdateEvent.new 0, 0
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_dup()
|
@@ -15,16 +15,30 @@ class TestEvent < Test::Unit::TestCase
|
|
15
15
|
e2 = e1.dup
|
16
16
|
e1.block
|
17
17
|
e3 = e1.dup
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
assert_true e1.blocked?
|
19
|
+
assert_false e2.blocked?
|
20
|
+
assert_true e3.blocked?
|
21
21
|
end
|
22
22
|
|
23
23
|
def test_block()
|
24
24
|
e = event
|
25
|
-
|
25
|
+
assert_false e.blocked?
|
26
26
|
e.block
|
27
|
-
|
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?
|
28
42
|
end
|
29
43
|
|
30
44
|
def test_time()
|
@@ -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
|
@@ -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
|
data/test/test_pointer.rb
CHANGED
@@ -42,7 +42,7 @@ class TestPointer < Test::Unit::TestCase
|
|
42
42
|
time: 6)
|
43
43
|
|
44
44
|
assert_equal 1, p.id
|
45
|
-
assert_equal [:touch], p.
|
45
|
+
assert_equal [:touch], p.types
|
46
46
|
assert_equal :down, p.action
|
47
47
|
assert_equal [2, 3], p.position.to_a
|
48
48
|
assert_equal 4, p.modifiers
|
@@ -52,45 +52,45 @@ class TestPointer < Test::Unit::TestCase
|
|
52
52
|
assert_nil p.prev
|
53
53
|
end
|
54
54
|
|
55
|
-
def
|
56
|
-
def
|
55
|
+
def test_types()
|
56
|
+
def create(t)
|
57
57
|
pointer(type: t).tap do |o|
|
58
58
|
def o.test()
|
59
|
-
[
|
59
|
+
[types, mouse?, left?, right?, middle?, touch?, pen?]
|
60
60
|
end
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
-
o =
|
64
|
+
o = create TYPE_NONE
|
65
65
|
assert_equal [[], F, F, F, F, F, F], o.test
|
66
66
|
|
67
|
-
o =
|
67
|
+
o = create MOUSE
|
68
68
|
assert_equal [[:mouse], T, F, F, F, F, F], o.test
|
69
69
|
|
70
|
-
o =
|
70
|
+
o = create LEFT
|
71
71
|
assert_equal [[:mouse_left], F, T, F, F, F, F], o.test
|
72
72
|
|
73
|
-
o =
|
73
|
+
o = create RIGHT
|
74
74
|
assert_equal [[:mouse_right], F, F, T, F, F, F], o.test
|
75
75
|
|
76
|
-
o =
|
76
|
+
o = create MIDDLE
|
77
77
|
assert_equal [[:mouse_middle], F, F, F, T, F, F], o.test
|
78
78
|
|
79
|
-
o =
|
79
|
+
o = create TOUCH
|
80
80
|
assert_equal [[:touch], F, F, F, F, T, F], o.test
|
81
81
|
|
82
|
-
o =
|
82
|
+
o = create PEN
|
83
83
|
assert_equal [[:pen], F, F, F, F, F, T], o.test
|
84
84
|
|
85
|
-
o =
|
85
|
+
o = create LEFT | RIGHT
|
86
86
|
types = [:mouse_left, :mouse_right]
|
87
87
|
assert_equal [types, F, T, T, F, F, F], o.test
|
88
88
|
|
89
|
-
o =
|
89
|
+
o = create LEFT | RIGHT | MIDDLE
|
90
90
|
types = [:mouse_left, :mouse_right, :mouse_middle]
|
91
91
|
assert_equal [types, F, T, T, T, F, F], o.test
|
92
92
|
|
93
|
-
o =
|
93
|
+
o = create MOUSE | LEFT | RIGHT | MIDDLE | TOUCH | PEN
|
94
94
|
types = [:mouse, :mouse_left, :mouse_right, :mouse_middle, :touch, :pen]
|
95
95
|
assert_equal [types, T, T, T, T, T, T], o.test
|
96
96
|
end
|
data/test/test_pointer_event.rb
CHANGED
@@ -48,7 +48,7 @@ class TestPointerEvent < Test::Unit::TestCase
|
|
48
48
|
assert_equal false, e.captured?
|
49
49
|
|
50
50
|
assert_equal 1, p1.id
|
51
|
-
assert_equal [:touch], p1.
|
51
|
+
assert_equal [:touch], p1.types
|
52
52
|
assert_equal :down, p1.action
|
53
53
|
assert_equal [2, 3], p1.position.to_a
|
54
54
|
assert_equal [2, 3], p1.pos .to_a
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
|
4
|
+
require_relative 'helper'
|
5
|
+
|
6
|
+
|
7
|
+
class TestScrollEvent < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def event(*args)
|
10
|
+
Reflex::ScrollEvent.new(*args)
|
11
|
+
end
|
12
|
+
|
13
|
+
def point(*args)
|
14
|
+
Rays::Point.new(*args)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_initialize()
|
18
|
+
e = event 1, 2, 3, 4, 5, 6
|
19
|
+
assert_equal 1, e.x
|
20
|
+
assert_equal 2, e.y
|
21
|
+
assert_equal 3, e.z
|
22
|
+
assert_equal 4, e.dx
|
23
|
+
assert_equal 5, e.dy
|
24
|
+
assert_equal 6, e.dz
|
25
|
+
assert_equal point(1, 2, 3), e. scroll
|
26
|
+
assert_equal point(4, 5, 6), e.dscroll
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_dup()
|
30
|
+
e1 = event 1, 2, 3, 4, 5, 6
|
31
|
+
e2 = e1.dup
|
32
|
+
e1.block
|
33
|
+
e3 = e1.dup
|
34
|
+
assert_true e1.blocked?
|
35
|
+
assert_false e2.blocked?
|
36
|
+
assert_true e3.blocked?
|
37
|
+
end
|
38
|
+
|
39
|
+
end# TestScrollEvent
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
|
4
|
+
require_relative 'helper'
|
5
|
+
|
6
|
+
|
7
|
+
class TestTimerEvent < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def event(*args)
|
10
|
+
Reflex::TimerEvent.new(*args)
|
11
|
+
end
|
12
|
+
|
13
|
+
def timer(seconds = 0, count = 1)
|
14
|
+
Reflex::View.new.timeout(seconds, count: count)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_initialize()
|
18
|
+
t = timer 1, 2
|
19
|
+
e = event t
|
20
|
+
assert_equal t, e.timer
|
21
|
+
assert_equal t.owner, e.owner
|
22
|
+
assert_equal t.id, e.id
|
23
|
+
assert_equal 1, e.interval
|
24
|
+
assert_equal 2, e.count
|
25
|
+
assert_false e.finished?
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_dup()
|
29
|
+
e1 = event timer
|
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# TestTimerEvent
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
|
4
|
+
require_relative 'helper'
|
5
|
+
|
6
|
+
|
7
|
+
class TestUpdateEvent < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def event(*args)
|
10
|
+
Reflex::UpdateEvent.new(*args)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_initialize()
|
14
|
+
e = event 1, 2
|
15
|
+
assert_equal 1, e.now
|
16
|
+
assert_equal 2, e.dt
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_dup()
|
20
|
+
e1 = event 1, 2
|
21
|
+
e2 = e1.dup
|
22
|
+
e1.block
|
23
|
+
e3 = e1.dup
|
24
|
+
assert_true e1.blocked?
|
25
|
+
assert_false e2.blocked?
|
26
|
+
assert_true e3.blocked?
|
27
|
+
end
|
28
|
+
|
29
|
+
end# TestUpdateEvent
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
|
4
|
+
require_relative 'helper'
|
5
|
+
|
6
|
+
|
7
|
+
class TestWheelEvent < Test::Unit::TestCase
|
8
|
+
|
9
|
+
def event(*args)
|
10
|
+
Reflex::WheelEvent.new(*args)
|
11
|
+
end
|
12
|
+
|
13
|
+
def point(*args)
|
14
|
+
Rays::Point.new(*args)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_initialize()
|
18
|
+
e = event 1, 2, 3, 4, 5, 6, 7
|
19
|
+
assert_equal 1, e.x
|
20
|
+
assert_equal 2, e.y
|
21
|
+
assert_equal 3, e.z
|
22
|
+
assert_equal 4, e.dx
|
23
|
+
assert_equal 5, e.dy
|
24
|
+
assert_equal 6, e.dz
|
25
|
+
assert_equal 7, e.modifiers
|
26
|
+
assert_equal point(1, 2, 3), e. position
|
27
|
+
assert_equal point(4, 5, 6), e.dposition
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_dup()
|
31
|
+
e1 = event 1, 2, 3, 4, 5, 6, 7
|
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# TestWheelEvent
|