void WindowView_Impl::window_key_event(KeyEvent &e) { Pointf pointer_pos = e.pointer_pos(window_view); pointer_pos -= window_view->geometry().content.get_top_left(); window_view->to_root_pos(pointer_pos); View *view = window_view->focus_view(); if (view) { view->dispatch_event(&e); } if (!e.default_prevented() && e.type() == KeyEventType::press && e.shift_down() && e.key() == Key::tab) { window_view->prev_focus(); } else if (!e.default_prevented() && e.type() == KeyEventType::press && e.key() == Key::tab) { window_view->next_focus(); } }