/* * Copyright (c) 2020-2021, Andreas Kling * Copyright (c) 2022, the SerenityOS developers. * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include namespace GUI { DropEvent::DropEvent(Gfx::IntPoint const& position, String const& text, NonnullRefPtr mime_data) : Event(Event::Drop) , m_position(position) , m_text(text) , m_mime_data(move(mime_data)) { } String KeyEvent::to_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_string(); } ActionEvent::ActionEvent(Type type, Action& action) : Event(type) , m_action(action) { } }