/* * Copyright (c) 2020-2023, Andreas Kling * Copyright (c) 2022, the SerenityOS developers. * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include namespace GUI { DropEvent::DropEvent(Gfx::IntPoint position, ByteString const& text, NonnullRefPtr mime_data) : Event(Event::Drop) , m_position(position) , m_text(text) , m_mime_data(move(mime_data)) { } ByteString KeyEvent::to_byte_string() const { Vector parts; if (m_modifiers & Mod_Ctrl) parts.append("Ctrl"); if (m_modifiers & Mod_Shift) parts.append("Shift"); if (m_modifiers & Mod_Alt) parts.append("Alt"); if (m_modifiers & Mod_Super) parts.append("Super"); if (auto* key_name = key_code_to_string(static_cast(m_key))) parts.append(key_name); else parts.append("(Invalid)"); StringBuilder builder; for (size_t i = 0; i < parts.size(); ++i) { builder.append(parts[i]); if (i != parts.size() - 1) builder.append('+'); } return builder.to_byte_string(); } ActionEvent::ActionEvent(Type type, Action& action) : Event(type) , m_action(action) { } }