事件处理走双缓冲了
This commit is contained in:
@@ -178,20 +178,20 @@ TEST(selection_overlay, control_extends_selection_and_plain_click_clears_it) {
|
||||
render_once(scene.get());
|
||||
|
||||
const auto drag = [&](Point_F first, Point_F second, Keyboard_Modifier modifiers) {
|
||||
auto press = std::make_unique<Pointer_Event>(Event_Type::pointer_press);
|
||||
auto press = scene->make_event<Pointer_Event>(Event_Type::pointer_press);
|
||||
press->position = first;
|
||||
press->button = Mouse_Button::left;
|
||||
press->modifiers = modifiers;
|
||||
scene->dispatch_event(std::move(press));
|
||||
auto move = std::make_unique<Pointer_Event>(Event_Type::pointer_move);
|
||||
scene->dispatch_event(press);
|
||||
auto move = scene->make_event<Pointer_Event>(Event_Type::pointer_move);
|
||||
move->position = second;
|
||||
move->modifiers = modifiers;
|
||||
scene->dispatch_event(std::move(move));
|
||||
auto release = std::make_unique<Pointer_Event>(Event_Type::pointer_release);
|
||||
scene->dispatch_event(move);
|
||||
auto release = scene->make_event<Pointer_Event>(Event_Type::pointer_release);
|
||||
release->position = second;
|
||||
release->button = Mouse_Button::left;
|
||||
release->modifiers = modifiers;
|
||||
scene->dispatch_event(std::move(release));
|
||||
scene->dispatch_event(release);
|
||||
render_once(scene.get());
|
||||
};
|
||||
drag({30.0, 90.0}, {60.0, 60.0}, Keyboard_Modifier::none);
|
||||
@@ -223,17 +223,17 @@ TEST(selection_overlay, time_axis_selection_keeps_axis_coordinates_while_window_
|
||||
scene->set<&Render_Scene_2D::Prop::viewport>(canvas);
|
||||
scene->activate_view();
|
||||
render_once(scene.get());
|
||||
auto press = std::make_unique<Pointer_Event>(Event_Type::pointer_press);
|
||||
auto press = scene->make_event<Pointer_Event>(Event_Type::pointer_press);
|
||||
press->position = {92.0, 88.0};
|
||||
press->button = Mouse_Button::left;
|
||||
scene->dispatch_event(std::move(press));
|
||||
auto move = std::make_unique<Pointer_Event>(Event_Type::pointer_move);
|
||||
scene->dispatch_event(press);
|
||||
auto move = scene->make_event<Pointer_Event>(Event_Type::pointer_move);
|
||||
move->position = {116.0, 56.0};
|
||||
scene->dispatch_event(std::move(move));
|
||||
auto release = std::make_unique<Pointer_Event>(Event_Type::pointer_release);
|
||||
scene->dispatch_event(move);
|
||||
auto release = scene->make_event<Pointer_Event>(Event_Type::pointer_release);
|
||||
release->position = {116.0, 56.0};
|
||||
release->button = Mouse_Button::left;
|
||||
scene->dispatch_event(std::move(release));
|
||||
scene->dispatch_event(release);
|
||||
render_once(scene.get());
|
||||
ASSERT_EQ(overlay->selected_regions().size(), 1u);
|
||||
const Axis_Rectangle selected = overlay->selected_regions().front();
|
||||
|
||||
Reference in New Issue
Block a user