diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:30:19 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:30:19 +0000 |
commit | 5c1676dfe6d2f3c837a5e074117b45613fd29a72 (patch) | |
tree | cbffb45144febf451e54061db2b21395faf94bfe /libgimp/gimpfonts_pdb.c | |
parent | Initial commit. (diff) | |
download | gimp-5c1676dfe6d2f3c837a5e074117b45613fd29a72.tar.xz gimp-5c1676dfe6d2f3c837a5e074117b45613fd29a72.zip |
Adding upstream version 2.10.34.upstream/2.10.34upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | libgimp/gimpfonts_pdb.c | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/libgimp/gimpfonts_pdb.c b/libgimp/gimpfonts_pdb.c new file mode 100644 index 0000000..c84b2bd --- /dev/null +++ b/libgimp/gimpfonts_pdb.c @@ -0,0 +1,109 @@ +/* LIBGIMP - The GIMP Library + * Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball + * + * gimpfonts_pdb.c + * + * This library is free software: you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see + * <https://www.gnu.org/licenses/>. + */ + +/* NOTE: This file is auto-generated by pdbgen.pl */ + +#include "config.h" + +#include "gimp.h" + + +/** + * SECTION: gimpfonts + * @title: gimpfonts + * @short_description: Operations related to fonts. + * + * Operations related to fonts. + **/ + + +/** + * gimp_fonts_refresh: + * + * Refresh current fonts. This function always succeeds. + * + * This procedure retrieves all fonts currently in the user's font path + * and updates the font dialogs accordingly. Depending on the amount of + * fonts on the system, this can take considerable time. + * + * Returns: TRUE on success. + **/ +gboolean +gimp_fonts_refresh (void) +{ + GimpParam *return_vals; + gint nreturn_vals; + gboolean success = TRUE; + + return_vals = gimp_run_procedure ("gimp-fonts-refresh", + &nreturn_vals, + GIMP_PDB_END); + + success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS; + + gimp_destroy_params (return_vals, nreturn_vals); + + return success; +} + +/** + * gimp_fonts_get_list: + * @filter: An optional regular expression used to filter the list. + * @num_fonts: The number of available fonts. + * + * Retrieve the list of loaded fonts. + * + * This procedure returns a list of the fonts that are currently + * available. + * + * Returns: The list of font names. The returned value must be freed + * with g_strfreev(). + **/ +gchar ** +gimp_fonts_get_list (const gchar *filter, + gint *num_fonts) +{ + GimpParam *return_vals; + gint nreturn_vals; + gchar **font_list = NULL; + gint i; + + return_vals = gimp_run_procedure ("gimp-fonts-get-list", + &nreturn_vals, + GIMP_PDB_STRING, filter, + GIMP_PDB_END); + + *num_fonts = 0; + + if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS) + { + *num_fonts = return_vals[1].data.d_int32; + if (*num_fonts > 0) + { + font_list = g_new0 (gchar *, *num_fonts + 1); + for (i = 0; i < *num_fonts; i++) + font_list[i] = g_strdup (return_vals[2].data.d_stringarray[i]); + } + } + + gimp_destroy_params (return_vals, nreturn_vals); + + return font_list; +} |