/* * Copyright (c) 2021, the SerenityOS developers. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include class NewFontDialog final : public GUI::WizardDialog { C_OBJECT(NewFontDialog); public: auto new_font_metadata() { save_metadata(); return m_new_font_metadata; } private: NewFontDialog(GUI::Window* parent_window); void save_metadata(); struct NewFontMetadata { u8 glyph_width; u8 glyph_height; u8 glyph_spacing; u8 baseline; u8 mean_line; u8 presentation_size; u16 weight; u8 slope; String name; String family; bool is_fixed_width; } m_new_font_metadata; RefPtr m_font_selection_page; RefPtr m_select_font_combobox; RefPtr m_browse_button; RefPtr m_font_properties_page; RefPtr m_name_textbox; RefPtr m_family_textbox; RefPtr m_weight_combobox; RefPtr m_slope_combobox; RefPtr m_presentation_spinbox; RefPtr m_glyph_properties_page; RefPtr m_glyph_editor_container; RefPtr m_glyph_height_spinbox; RefPtr m_glyph_width_spinbox; RefPtr m_baseline_spinbox; RefPtr m_mean_line_spinbox; RefPtr m_spacing_spinbox; RefPtr m_fixed_width_checkbox; Vector m_font_weight_list; Vector m_font_slope_list; };