/* * Copyright (c) 2023, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once // FIXME: These should not be included outside of Serenity. #include #include #import namespace Ladybird { struct MouseEvent { Gfx::IntPoint position {}; Gfx::IntPoint screen_position {}; GUI::MouseButton button { GUI::MouseButton::Primary }; KeyModifier modifiers { KeyModifier::Mod_None }; }; MouseEvent ns_event_to_mouse_event(NSEvent*, NSView*, GUI::MouseButton); NSEvent* create_context_menu_mouse_event(NSView*, Gfx::IntPoint); NSEvent* create_context_menu_mouse_event(NSView*, NSPoint); struct KeyEvent { KeyCode key_code { KeyCode::Key_Invalid }; KeyModifier modifiers { KeyModifier::Mod_None }; u32 code_point { 0 }; }; KeyEvent ns_event_to_key_event(NSEvent*); }