diff options
Diffstat (limited to 'libgimp/gimpbrushes_pdb.c')
-rw-r--r-- | libgimp/gimpbrushes_pdb.c | 256 |
1 files changed, 256 insertions, 0 deletions
diff --git a/libgimp/gimpbrushes_pdb.c b/libgimp/gimpbrushes_pdb.c new file mode 100644 index 0000000..594504b --- /dev/null +++ b/libgimp/gimpbrushes_pdb.c @@ -0,0 +1,256 @@ +/* LIBGIMP - The GIMP Library + * Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball + * + * gimpbrushes_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 <string.h> + +#include "gimp.h" + + +/** + * SECTION: gimpbrushes + * @title: gimpbrushes + * @short_description: Functions for manipulating brushes. + * + * Functions related to getting and setting brushes. + **/ + + +/** + * gimp_brushes_refresh: + * + * Refresh current brushes. This function always succeeds. + * + * This procedure retrieves all brushes currently in the user's brush + * path and updates the brush dialogs accordingly. + * + * Returns: TRUE on success. + **/ +gboolean +gimp_brushes_refresh (void) +{ + GimpParam *return_vals; + gint nreturn_vals; + gboolean success = TRUE; + + return_vals = gimp_run_procedure ("gimp-brushes-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_brushes_get_list: + * @filter: An optional regular expression used to filter the list. + * @num_brushes: The number of brushes in the brush list. + * + * Retrieve a complete listing of the available brushes. + * + * This procedure returns a complete listing of available GIMP brushes. + * Each name returned can be used as input to the + * gimp_context_set_brush() procedure. + * + * Returns: The list of brush names. The returned value must be freed + * with g_strfreev(). + **/ +gchar ** +gimp_brushes_get_list (const gchar *filter, + gint *num_brushes) +{ + GimpParam *return_vals; + gint nreturn_vals; + gchar **brush_list = NULL; + gint i; + + return_vals = gimp_run_procedure ("gimp-brushes-get-list", + &nreturn_vals, + GIMP_PDB_STRING, filter, + GIMP_PDB_END); + + *num_brushes = 0; + + if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS) + { + *num_brushes = return_vals[1].data.d_int32; + if (*num_brushes > 0) + { + brush_list = g_new0 (gchar *, *num_brushes + 1); + for (i = 0; i < *num_brushes; i++) + brush_list[i] = g_strdup (return_vals[2].data.d_stringarray[i]); + } + } + + gimp_destroy_params (return_vals, nreturn_vals); + + return brush_list; +} + +/** + * gimp_brushes_get_brush: + * @width: The brush width. + * @height: The brush height. + * @spacing: The brush spacing. + * + * Deprecated: Use gimp_context_get_brush() instead. + * + * Returns: The brush name. + **/ +gchar * +gimp_brushes_get_brush (gint *width, + gint *height, + gint *spacing) +{ + GimpParam *return_vals; + gint nreturn_vals; + gchar *name = NULL; + + return_vals = gimp_run_procedure ("gimp-brushes-get-brush", + &nreturn_vals, + GIMP_PDB_END); + + if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS) + { + name = g_strdup (return_vals[1].data.d_string); + *width = return_vals[2].data.d_int32; + *height = return_vals[3].data.d_int32; + *spacing = return_vals[4].data.d_int32; + } + + gimp_destroy_params (return_vals, nreturn_vals); + + return name; +} + +/** + * gimp_brushes_get_spacing: + * + * Deprecated: Use gimp_brush_get_spacing() instead. + * + * Returns: The brush spacing. + **/ +gint +gimp_brushes_get_spacing (void) +{ + GimpParam *return_vals; + gint nreturn_vals; + gint spacing = 0; + + return_vals = gimp_run_procedure ("gimp-brushes-get-spacing", + &nreturn_vals, + GIMP_PDB_END); + + if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS) + spacing = return_vals[1].data.d_int32; + + gimp_destroy_params (return_vals, nreturn_vals); + + return spacing; +} + +/** + * gimp_brushes_set_spacing: + * @spacing: The brush spacing. + * + * Deprecated: Use gimp_brush_set_spacing() instead. + * + * Returns: TRUE on success. + **/ +gboolean +gimp_brushes_set_spacing (gint spacing) +{ + GimpParam *return_vals; + gint nreturn_vals; + gboolean success = TRUE; + + return_vals = gimp_run_procedure ("gimp-brushes-set-spacing", + &nreturn_vals, + GIMP_PDB_INT32, spacing, + GIMP_PDB_END); + + success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS; + + gimp_destroy_params (return_vals, nreturn_vals); + + return success; +} + +/** + * gimp_brushes_get_brush_data: + * @name: The brush name (\"\" means current active brush). + * @opacity: The brush opacity. + * @spacing: The brush spacing. + * @paint_mode: The paint mode. + * @width: The brush width. + * @height: The brush height. + * @length: Length of brush mask data. + * @mask_data: The brush mask data. + * + * Deprecated: Use gimp_brush_get_pixels() instead. + * + * Returns: The brush name. + **/ +gchar * +gimp_brushes_get_brush_data (const gchar *name, + gdouble *opacity, + gint *spacing, + GimpLayerMode *paint_mode, + gint *width, + gint *height, + gint *length, + guint8 **mask_data) +{ + GimpParam *return_vals; + gint nreturn_vals; + gchar *actual_name = NULL; + + return_vals = gimp_run_procedure ("gimp-brushes-get-brush-data", + &nreturn_vals, + GIMP_PDB_STRING, name, + GIMP_PDB_END); + + *length = 0; + + if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS) + { + actual_name = g_strdup (return_vals[1].data.d_string); + *opacity = return_vals[2].data.d_float; + *spacing = return_vals[3].data.d_int32; + *paint_mode = return_vals[4].data.d_int32; + *width = return_vals[5].data.d_int32; + *height = return_vals[6].data.d_int32; + *length = return_vals[7].data.d_int32; + *mask_data = g_new (guint8, *length); + memcpy (*mask_data, + return_vals[8].data.d_int8array, + *length * sizeof (guint8)); + } + + gimp_destroy_params (return_vals, nreturn_vals); + + return actual_name; +} |