summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2015-05-04 23:21:17 -0400
committerMatthias Clasen <mclasen@redhat.com>2015-05-07 07:33:23 -0400
commit049cbc8b74aa7a6fff1627c8c65cbfd3c86dfde8 (patch)
tree0dba4d33c0572a3da8b0b6c877cb1f3ecd575ba2 /tests
parent0c922a9443f5fbb71ceba4e1ad0330c069a7c779 (diff)
downloadgtk+-049cbc8b74aa7a6fff1627c8c65cbfd3c86dfde8.tar.gz
GtkFontChooser: Allow a custom font map
This lets applications show their own fonts instead of or in addition to system fonts. https://bugzilla.gnome.org/show_bug.cgi?id=748771
Diffstat (limited to 'tests')
-rw-r--r--tests/testfontchooserdialog.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/tests/testfontchooserdialog.c b/tests/testfontchooserdialog.c
index 574b138b1c..2e2da14a37 100644
--- a/tests/testfontchooserdialog.c
+++ b/tests/testfontchooserdialog.c
@@ -16,6 +16,7 @@
*/
#include <string.h>
+#include <pango/pangofc-fontmap.h>
#include <gtk/gtk.h>
static gboolean
@@ -71,8 +72,29 @@ main (int argc, char *argv[])
gtk_init (&argc, &argv);
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
font_button = gtk_font_button_new ();
+
+ if (argc > 0)
+ {
+ FcConfig *config;
+ PangoFontMap *fontmap;
+ gint i;
+
+ /* Create a custom font configuration by adding font files specified
+ * on the commandline to the default config.
+ */
+ config = FcInitLoadConfigAndFonts ();
+ for (i = 0; i < argc; i++)
+ FcConfigAppFontAddFile (config, (const FcChar8 *)argv[i]);
+
+ fontmap = pango_cairo_font_map_new_for_font_type (CAIRO_FONT_TYPE_FT);
+ pango_fc_font_map_set_config (PANGO_FC_FONT_MAP (fontmap), config);
+ gtk_font_chooser_set_font_map (GTK_FONT_CHOOSER (font_button), fontmap);
+ }
+
+ gtk_font_button_set_use_font (GTK_FONT_BUTTON (font_button), TRUE);
+
+ window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_add (GTK_CONTAINER (window), font_button);
gtk_widget_show_all (window);