gimp/libgimp/gimpgradientselect_pdb.c

162 lines
5.2 KiB
C
Raw Normal View History

/* LIBGIMP - The GIMP Library
* Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball
*
* gimpgradientselect_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: gimpgradientselect
* @title: gimpgradientselect
* @short_description: Functions providing a gradient selection dialog.
*
* Functions providing a gradient selection dialog.
**/
/**
* gimp_gradients_popup:
app/gimprc.[ch] app/gui/preferences-dialog.c 2002-03-12 Michael Natterer <mitch@gimp.org> * app/gimprc.[ch] * app/gui/preferences-dialog.c * app/paint/gimppaintoptions.[ch] * app/tools/paint_options.[ch] * app/tools/tool_manager.[ch]: removed the "global_paint_options" gimprc option because it doesn't quite fit the new dockable dialog architecture. * app/gui/brush-select.[ch] * app/gui/gradient-select.[ch] * app/gui/palette-select.[ch] * app/gui/pattern-select.[ch]: removed the "Global Brush/Pattern/... Selection" part of them. They are now only used for temp popup selections and the PDB. *Lots* of cleanup. * app/gui/convert-dialog.c * app/gui/dialogs-constructors.[ch] * app/gui/dialogs.c * app/gui/gui.c * app/gui/menus.c * app/gui/palette-import-dialog.c * app/plug-in/plug-in.c: changed accordingly. Cleaned up the palette and other data PDB stuff: * tools/pdbgen/Makefile.am * tools/pdbgen/groups.pl: added "palette_select" and "palettes". * tools/pdbgen/pdb/palette_select.pdb: new file. Makes the palette selection PDB controllable. * tools/pdbgen/pdb/palettes.pdb: new file cut out of palette.pdb because of API symmetry with brushes, patterns, ... * tools/pdbgen/pdb/palette.pdb: removed from here. * tools/pdbgen/pdb/brush_select.pdb * tools/pdbgen/pdb/brushes.pdb * tools/pdbgen/pdb/gradient_select.pdb * tools/pdbgen/pdb/gradients.pdb * tools/pdbgen/pdb/palette.pdb * tools/pdbgen/pdb/pattern_select.pdb * tools/pdbgen/pdb/patterns.pdb: lots of cleanup. Autogenerated stuff: * app/pdb/Makefile.am * app/pdb/palette_select_cmds.c * app/pdb/palettes_cmds.c: new files. * app/pdb/brush_select_cmds.c * app/pdb/brushes_cmds.c * app/pdb/gradient_select_cmds.c * app/pdb/gradients_cmds.c * app/pdb/internal_procs.c * app/pdb/palette_cmds.c * app/pdb/pattern_select_cmds.c * app/pdb/patterns_cmds.c: regenerated. * libgimp/Makefile.am * libgimp/gimp_pdb.h * libgimp/gimppalettes_pdb.[ch] * libgimp/gimppaletteselect_pdb.[ch]: new files. * libgimp/gimpgradientselect_pdb.[ch] * libgimp/gimppalette_pdb.[ch] * libgimp/gimppatterns_pdb.c: regenerated. * devel-docs/libgimp/tmpl/gimpgradients.sgml * devel-docs/libgimp/tmpl/gimppalette.sgml: regenerated.
2002-03-13 05:02:10 +08:00
* @gradient_callback: The callback PDB proc to call when gradient selection is made.
* @popup_title: Title of the gradient selection dialog.
* @initial_gradient: The name of the gradient to set as the first selected.
* @sample_size: Size of the sample to return when the gradient is changed.
*
* Invokes the Gimp gradients selection.
*
* This procedure opens the gradient selection dialog.
*
* Returns: TRUE on success.
**/
gboolean
gimp_gradients_popup (const gchar *gradient_callback,
const gchar *popup_title,
const gchar *initial_gradient,
gint sample_size)
{
GimpPDB *pdb = gimp_get_pdb ();
GimpValueArray *args;
GimpValueArray *return_vals;
gboolean success = TRUE;
args = gimp_value_array_new_from_types (NULL,
G_TYPE_STRING, gradient_callback,
G_TYPE_STRING, popup_title,
G_TYPE_STRING, initial_gradient,
G_TYPE_INT, sample_size,
G_TYPE_NONE);
if (pdb)
return_vals = gimp_pdb_run_procedure_array (pdb,
"gimp-gradients-popup",
args);
else
return_vals = gimp_run_procedure_array ("gimp-gradients-popup",
args);
gimp_value_array_unref (args);
success = g_value_get_enum (gimp_value_array_index (return_vals, 0)) == GIMP_PDB_SUCCESS;
gimp_value_array_unref (return_vals);
return success;
}
/**
* gimp_gradients_close_popup:
* @gradient_callback: The name of the callback registered for this pop-up.
*
* Close the gradient selection dialog.
*
* This procedure closes an opened gradient selection dialog.
*
* Returns: TRUE on success.
**/
gboolean
gimp_gradients_close_popup (const gchar *gradient_callback)
{
GimpPDB *pdb = gimp_get_pdb ();
GimpValueArray *args;
GimpValueArray *return_vals;
gboolean success = TRUE;
args = gimp_value_array_new_from_types (NULL,
G_TYPE_STRING, gradient_callback,
G_TYPE_NONE);
if (pdb)
return_vals = gimp_pdb_run_procedure_array (pdb,
"gimp-gradients-close-popup",
args);
else
return_vals = gimp_run_procedure_array ("gimp-gradients-close-popup",
args);
gimp_value_array_unref (args);
success = g_value_get_enum (gimp_value_array_index (return_vals, 0)) == GIMP_PDB_SUCCESS;
gimp_value_array_unref (return_vals);
return success;
}
/**
* gimp_gradients_set_popup:
* @gradient_callback: The name of the callback registered for this pop-up.
* @gradient_name: The name of the gradient to set as selected.
*
* Sets the current gradient in a gradient selection dialog.
*
* Sets the current gradient in a gradient selection dialog.
*
* Returns: TRUE on success.
**/
gboolean
gimp_gradients_set_popup (const gchar *gradient_callback,
const gchar *gradient_name)
{
GimpPDB *pdb = gimp_get_pdb ();
GimpValueArray *args;
GimpValueArray *return_vals;
gboolean success = TRUE;
args = gimp_value_array_new_from_types (NULL,
G_TYPE_STRING, gradient_callback,
G_TYPE_STRING, gradient_name,
G_TYPE_NONE);
if (pdb)
return_vals = gimp_pdb_run_procedure_array (pdb,
"gimp-gradients-set-popup",
args);
else
return_vals = gimp_run_procedure_array ("gimp-gradients-set-popup",
args);
gimp_value_array_unref (args);
success = g_value_get_enum (gimp_value_array_index (return_vals, 0)) == GIMP_PDB_SUCCESS;
gimp_value_array_unref (return_vals);
return success;
}