@@ -121,7 +121,7 @@ FontEditorWidget::FontEditorWidget(const String& path, RefPtr<Gfx::Font>&& edite
121
121
font_metadata_group_box.set_layout <GUI::VerticalBoxLayout>();
122
122
font_metadata_group_box.layout ()->set_margins ({ 5 , 15 , 5 , 5 });
123
123
font_metadata_group_box.set_size_policy (GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
124
- font_metadata_group_box.set_preferred_size (0 , 165 );
124
+ font_metadata_group_box.set_preferred_size (0 , 195 );
125
125
font_metadata_group_box.set_title (" Font metadata" );
126
126
127
127
// // Name Row
@@ -212,12 +212,31 @@ FontEditorWidget::FontEditorWidget(const String& path, RefPtr<Gfx::Font>&& edite
212
212
baseline_label.set_text (" Baseline:" );
213
213
214
214
auto & baseline_spinbox = baseline_container.add <GUI::SpinBox>();
215
- baseline_spinbox.set_size_policy (GUI::SizePolicy::Fixed , GUI::SizePolicy::Fill);
215
+ baseline_spinbox.set_size_policy (GUI::SizePolicy::Fill , GUI::SizePolicy::Fill);
216
216
baseline_spinbox.set_preferred_size (100 , 0 );
217
217
baseline_spinbox.set_min (0 );
218
218
baseline_spinbox.set_max (m_edited_font->glyph_height () - 1 );
219
219
baseline_spinbox.set_value (m_edited_font->baseline ());
220
220
221
+ // // Mean line Row
222
+ auto & mean_line_container = font_metadata_group_box.add <GUI::Widget>();
223
+ mean_line_container.set_layout <GUI::HorizontalBoxLayout>();
224
+ mean_line_container.set_size_policy (GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
225
+ mean_line_container.set_preferred_size (0 , 22 );
226
+
227
+ auto & mean_line_label = mean_line_container.add <GUI::Label>();
228
+ mean_line_label.set_size_policy (GUI::SizePolicy::Fixed, GUI::SizePolicy::Fill);
229
+ mean_line_label.set_preferred_size (100 , 0 );
230
+ mean_line_label.set_text_alignment (Gfx::TextAlignment::CenterLeft);
231
+ mean_line_label.set_text (" Mean Line:" );
232
+
233
+ auto & mean_line_spinbox = mean_line_container.add <GUI::SpinBox>();
234
+ mean_line_spinbox.set_size_policy (GUI::SizePolicy::Fill, GUI::SizePolicy::Fill);
235
+ mean_line_spinbox.set_preferred_size (100 , 0 );
236
+ mean_line_spinbox.set_min (0 );
237
+ mean_line_spinbox.set_max (m_edited_font->glyph_height () - 1 );
238
+ mean_line_spinbox.set_value (m_edited_font->mean_line ());
239
+
221
240
// // Fixed checkbox Row
222
241
auto & fixed_width_checkbox = font_metadata_group_box.add <GUI::CheckBox>();
223
242
fixed_width_checkbox.set_size_policy (GUI::SizePolicy::Fill, GUI::SizePolicy::Fixed);
@@ -259,7 +278,7 @@ FontEditorWidget::FontEditorWidget(const String& path, RefPtr<Gfx::Font>&& edite
259
278
right_site_width = max (right_site_width, m_glyph_map_widget->preferred_width ());
260
279
261
280
m_preferred_width = m_glyph_editor_widget->width () + right_site_width + 20 ;
262
- m_preferred_height = m_glyph_map_widget->relative_rect ().height () + 2 * m_edited_font->glyph_height () + 270 ;
281
+ m_preferred_height = m_glyph_map_widget->relative_rect ().height () + 2 * m_edited_font->glyph_height () + 300 ;
263
282
};
264
283
265
284
m_glyph_editor_widget->on_glyph_altered = [this , update_demo](u8 glyph) {
@@ -308,6 +327,12 @@ FontEditorWidget::FontEditorWidget(const String& path, RefPtr<Gfx::Font>&& edite
308
327
update_demo ();
309
328
};
310
329
330
+ mean_line_spinbox.on_change = [this , update_demo](int value) {
331
+ m_edited_font->set_mean_line (value);
332
+ m_glyph_editor_widget->update ();
333
+ update_demo ();
334
+ };
335
+
311
336
// init widget
312
337
calculate_prefed_sizes ();
313
338
m_glyph_map_widget->set_selected_glyph (' A' );
0 commit comments