diff --git a/demos/gtk-demo/font_features.c b/demos/gtk-demo/font_features.c index 081447a0af..325cafc1ee 100644 --- a/demos/gtk-demo/font_features.c +++ b/demos/gtk-demo/font_features.c @@ -43,6 +43,7 @@ typedef struct { typedef struct { guint32 tag; GtkAdjustment *adjustment; + double default_value; } Axis; typedef struct { @@ -135,6 +136,25 @@ basic_entry_activated (GtkEntry *entry, gtk_adjustment_set_value (adjustment, value); } +static void +font_features_reset_basic (void) +{ + gtk_adjustment_set_value (demo->size_adjustment, 20); + gtk_adjustment_set_value (demo->letterspacing_adjustment, 0); + gtk_adjustment_set_value (demo->line_height_adjustment, 1); +} + +static void +update_basic (void) +{ + PangoFontDescription *desc; + + desc = gtk_font_chooser_get_font_desc (GTK_FONT_CHOOSER (demo->font)); + + gtk_adjustment_set_value (demo->size_adjustment, + pango_font_description_get_size (desc) / (double) PANGO_SCALE); +} + static void add_font_variations (GString *s); static void @@ -888,6 +908,19 @@ entry_activated (GtkEntry *entry, static void unset_instance (GtkAdjustment *adjustment); +static void +font_features_reset_variations (void) +{ + GHashTableIter iter; + Axis *axis; + + g_hash_table_iter_init (&iter, demo->axes); + while (g_hash_table_iter_next (&iter, (gpointer *)NULL, (gpointer *)&axis)) + { + gtk_adjustment_set_value (axis->adjustment, axis->default_value); + } +} + static void add_font_variations (GString *s) { @@ -966,6 +999,7 @@ add_axis (hb_face_t *hb_face, axis = g_new (Axis, 1); axis->tag = ax->tag; axis->adjustment = adjustment; + axis->default_value = ax->default_value; g_hash_table_add (demo->axes, axis); adjustment_changed (adjustment, GTK_ENTRY (axis_entry)); @@ -1249,6 +1283,7 @@ done: G_MODULE_EXPORT void font_features_font_changed (void) { + update_basic (); update_script_combo (); update_features (); update_font_variations (); @@ -1261,7 +1296,7 @@ font_features_script_changed (void) update_display (); } -G_MODULE_EXPORT void +static void font_features_reset_features (void) { GList *l; @@ -1355,6 +1390,9 @@ do_font_features (GtkWidget *do_widget) scope = gtk_builder_cscope_new (); gtk_builder_cscope_add_callback (scope, basic_value_changed); gtk_builder_cscope_add_callback (scope, basic_entry_activated); + gtk_builder_cscope_add_callback (scope, font_features_reset_basic); + gtk_builder_cscope_add_callback (scope, font_features_reset_features); + gtk_builder_cscope_add_callback (scope, font_features_reset_variations); gtk_builder_set_scope (builder, scope); demo = g_new0 (FontFeaturesDemo, 1); diff --git a/demos/gtk-demo/font_features.ui b/demos/gtk-demo/font_features.ui index 844638641c..4a707b532f 100644 --- a/demos/gtk-demo/font_features.ui +++ b/demos/gtk-demo/font_features.ui @@ -2,26 +2,26 @@ 7 + 100 14 0.5 10 - 100 - 0 + -1024 + 8192 0 1 512 - 10240 - 1 - 1 + 0.75 + 2.5 + 1.0 0.1 1 - 3 @@ -35,7 +35,9 @@ 1 Reset view-refresh-symbolic + + @@ -59,7 +61,7 @@ 1 Sans 12 - family|style|size|variations|features + family|style @@ -240,87 +242,93 @@ - - vertical - 1 - 1 - 20 - 20 - 20 - 20 - 20 - - - - - label - - - 1 - 0 - 0 - start - 1 - - - - - - - entry - - - Grumpy wizards make toxic brew for the evil Queen and Jack. A quick movement of the enemy will jeopardize six gunboats. The job of waxing linoleum frequently peeves chintzy kids. My girl wove six dozen plaid jackets before she quit. Twelve ziggurats quickly jumped a finch box. - -Разъяренный чтец эгоистично бьёт пятью жердями шустрого фехтовальщика. Наш банк вчера же выплатил Ф.Я. Эйхгольду комиссию за ценные вещи. Эх, чужак, общий съём цен шляп (юфть) – вдрызг! В чащах юга жил бы цитрус? Да, но фальшивый экземпляр! - -Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός - - start - 50 - - - - - - - - - 1 - 0 - end - 50 - 50 - 1 - 1 - - - + + never + automatic - 10 + vertical + 1 + 1 + 20 + 20 + 20 + 20 + 20 - + + + + label + + + 1 + 0 + 0 + start + 1 + + + + + + + entry + + + Grumpy wizards make toxic brew for the evil Queen and Jack. A quick movement of the enemy will jeopardize six gunboats. The job of waxing linoleum frequently peeves chintzy kids. My girl wove six dozen plaid jackets before she quit. Twelve ziggurats quickly jumped a finch box. + + Разъяренный чтец эгоистично бьёт пятью жердями шустрого фехтовальщика. Наш банк вчера же выплатил Ф.Я. Эйхгольду комиссию за ценные вещи. Эх, чужак, общий съём цен шляп (юфть) – вдрызг! В чащах юга жил бы цитрус? Да, но фальшивый экземпляр! + + Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός + + start + 50 + + + + + + + + 1 - char 0 end 50 50 1 + 1 - - document-edit-symbolic - end - end - + + 10 + + + 1 + char + 0 + end + 50 + 50 + 1 + + + + + + document-edit-symbolic + end + end + + +