Commit 21651c25 authored by Michael Natterer's avatar Michael Natterer 😴 Committed by Michael Natterer

Sven Neumann <sven@gimp.org>

2000-05-31  Michael Natterer  <mitch@gimp.org>
	    Sven Neumann  <sven@gimp.org>

	Coming closer to our goal of autogenerating the
	libgimp PDB wrappers...

	* app/internal_procs.c
	* app/parasite_cmds.c
	* tools/pdbgen/pdb/parasite.pdb: removed parasite_new PDB call.

	* libgimp/gimp.h
	* libgimp/gimp_pdb.h
	* libgimp/gimpbrushmenu.c
	* libgimp/gimpcompat.h
	* libgimp/gimpdrawable_pdb.[ch]
	* libgimp/gimpexport.c
	* libgimp/gimpgradientmenu.c
	* libgimp/gimpimage_pdb.[ch]
	* libgimp/gimpmenu.[ch]
	* libgimp/gimpparasite.[ch]
	* libgimp/gimpparasite_pdb.[ch]
	* libgimp/gimppatternmenu.c
	* libgimp/gimpproceduraldb_pdb.[ch]: changes to incorporate the new
	files listed below

	* libgimp/Makefile.am
	* libgimp/gimpbrushes_pdb.[ch]
	* libgimp/gimpbrushselect_pdb.[ch]
	* libgimp/gimpconvert_pdb.[ch]
	* libgimp/gimpgradientselect_pdb.[ch]
	* libgimp/gimppatterns_pdb.[ch]
	* libgimp/gimppatternselect_pdb.[ch]: new files partly generated
	using pdbgen

	* tools/pdbgen/lib.pl: some adjustments and fixes to the libgimp
	pdbgen code

	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/pattern_select.pdb: make them generate PDB
	wrappers for libgimp too.
parent ba9ec2a2
2000-05-31 Michael Natterer <mitch@gimp.org>
Sven Neumann <sven@gimp.org>
Coming closer to our goal of autogenerating the
libgimp PDB wrappers...
* app/internal_procs.c
* app/parasite_cmds.c
* tools/pdbgen/pdb/parasite.pdb: removed parasite_new PDB call.
* libgimp/gimp.h
* libgimp/gimp_pdb.h
* libgimp/gimpbrushmenu.c
* libgimp/gimpcompat.h
* libgimp/gimpdrawable_pdb.[ch]
* libgimp/gimpexport.c
* libgimp/gimpgradientmenu.c
* libgimp/gimpimage_pdb.[ch]
* libgimp/gimpmenu.[ch]
* libgimp/gimpparasite.[ch]
* libgimp/gimpparasite_pdb.[ch]
* libgimp/gimppatternmenu.c
* libgimp/gimpproceduraldb_pdb.[ch]: changes to incorporate the new
files listed below
* libgimp/Makefile.am
* libgimp/gimpbrushes_pdb.[ch]
* libgimp/gimpbrushselect_pdb.[ch]
* libgimp/gimpconvert_pdb.[ch]
* libgimp/gimpgradientselect_pdb.[ch]
* libgimp/gimppatterns_pdb.[ch]
* libgimp/gimppatternselect_pdb.[ch]: new files partly generated
using pdbgen
* tools/pdbgen/lib.pl: some adjustments and fixes to the libgimp
pdbgen code
* tools/pdbgen/pdb/help.pdb
* tools/pdbgen/pdb/pattern_select.pdb: make them generate PDB
wrappers for libgimp too.
2000-05-31 Michael Natterer <mitch@gimp.org>
Sven Neumann <sven@gimp.org>
......
......@@ -60,7 +60,7 @@ void register_tools_procs (void);
void register_undo_procs (void);
void register_unit_procs (void);
/* 323 procedures registered total */
/* 322 procedures registered total */
void
internal_procs_init (void)
......@@ -80,79 +80,79 @@ internal_procs_init (void)
app_init_update_status (NULL, _("Color"), 0.096);
register_color_procs ();
app_init_update_status (NULL, _("Convert"), 0.133);
app_init_update_status (NULL, _("Convert"), 0.134);
register_convert_procs ();
app_init_update_status (NULL, _("Drawable procedures"), 0.142);
app_init_update_status (NULL, _("Drawable procedures"), 0.143);
register_drawable_procs ();
app_init_update_status (NULL, _("Edit procedures"), 0.211);
register_edit_procs ();
app_init_update_status (NULL, _("File Operations"), 0.229);
app_init_update_status (NULL, _("File Operations"), 0.23);
register_fileops_procs ();
app_init_update_status (NULL, _("Floating selections"), 0.254);
app_init_update_status (NULL, _("Floating selections"), 0.255);
register_floating_sel_procs ();
app_init_update_status (NULL, _("GDisplay procedures"), 0.272);
app_init_update_status (NULL, _("GDisplay procedures"), 0.273);
register_gdisplay_procs ();
app_init_update_status (NULL, _("Image"), 0.282);
app_init_update_status (NULL, _("Image"), 0.283);
register_gimage_procs ();
app_init_update_status (NULL, _("Image mask"), 0.464);
app_init_update_status (NULL, _("Image mask"), 0.466);
register_gimage_mask_procs ();
app_init_update_status (NULL, _("Gimprc procedures"), 0.517);
app_init_update_status (NULL, _("Gimprc procedures"), 0.519);
register_gimprc_procs ();
app_init_update_status (NULL, _("Gradients"), 0.526);
app_init_update_status (NULL, _("Gradients"), 0.528);
register_gradient_procs ();
app_init_update_status (NULL, _("Gradient UI"), 0.542);
app_init_update_status (NULL, _("Gradient UI"), 0.543);
register_gradient_select_procs ();
app_init_update_status (NULL, _("Guide procedures"), 0.554);
app_init_update_status (NULL, _("Guide procedures"), 0.556);
register_guides_procs ();
app_init_update_status (NULL, _("Help procedures"), 0.573);
app_init_update_status (NULL, _("Help procedures"), 0.575);
register_help_procs ();
app_init_update_status (NULL, _("Layer"), 0.576);
app_init_update_status (NULL, _("Layer"), 0.578);
register_layer_procs ();
app_init_update_status (NULL, _("Interface"), 0.672);
app_init_update_status (NULL, _("Interface"), 0.674);
register_message_procs ();
app_init_update_status (NULL, _("Miscellaneous"), 0.681);
app_init_update_status (NULL, _("Miscellaneous"), 0.683);
register_misc_procs ();
app_init_update_status (NULL, _("Palette"), 0.687);
app_init_update_status (NULL, _("Palette"), 0.689);
register_palette_procs ();
app_init_update_status (NULL, _("Parasite procedures"), 0.709);
app_init_update_status (NULL, _("Parasite procedures"), 0.711);
register_parasite_procs ();
app_init_update_status (NULL, _("Paths"), 0.749);
app_init_update_status (NULL, _("Paths"), 0.748);
register_paths_procs ();
app_init_update_status (NULL, _("Pattern UI"), 0.789);
register_pattern_select_procs ();
app_init_update_status (NULL, _("Patterns"), 0.799);
app_init_update_status (NULL, _("Patterns"), 0.798);
register_patterns_procs ();
app_init_update_status (NULL, _("Plug-in"), 0.811);
register_plug_in_procs ();
app_init_update_status (NULL, _("Procedural database"), 0.83);
app_init_update_status (NULL, _("Procedural database"), 0.829);
register_procedural_db_procs ();
app_init_update_status (NULL, _("Text procedures"), 0.854);
register_text_tool_procs ();
app_init_update_status (NULL, _("Tool procedures"), 0.867);
app_init_update_status (NULL, _("Tool procedures"), 0.866);
register_tools_procs ();
app_init_update_status (NULL, _("Undo"), 0.96);
......
......@@ -27,7 +27,6 @@
#include "libgimp/gimpparasite.h"
static ProcRecord parasite_new_proc;
static ProcRecord parasite_find_proc;
static ProcRecord parasite_attach_proc;
static ProcRecord parasite_detach_proc;
......@@ -44,7 +43,6 @@ static ProcRecord image_parasite_list_proc;
void
register_parasite_procs (void)
{
procedural_db_register (&parasite_new_proc);
procedural_db_register (&parasite_find_proc);
procedural_db_register (&parasite_attach_proc);
procedural_db_register (&parasite_detach_proc);
......@@ -59,94 +57,6 @@ register_parasite_procs (void)
procedural_db_register (&image_parasite_list_proc);
}
static Argument *
parasite_new_invoker (Argument *args)
{
gboolean success = TRUE;
Argument *return_args;
gchar *name;
gint32 flags;
gint32 size;
gchar *data;
GimpParasite *parasite = NULL;
name = (gchar *) args[0].value.pdb_pointer;
if (name == NULL)
success = FALSE;
flags = args[1].value.pdb_int;
size = args[2].value.pdb_int;
if (size < 0)
success = FALSE;
data = (gchar *) args[3].value.pdb_pointer;
if (success)
{
if (size > 0 && data == NULL)
success = FALSE;
else
success = (parasite = gimp_parasite_new (name, flags, size, data)) != NULL;
}
return_args = procedural_db_return_args (&parasite_new_proc, success);
if (success)
return_args[1].value.pdb_pointer = parasite;
return return_args;
}
static ProcArg parasite_new_inargs[] =
{
{
PDB_STRING,
"name",
"The name of the parasite to create"
},
{
PDB_INT32,
"flags",
"The flags (1 == persistance)"
},
{
PDB_INT32,
"size",
"The size of the data in bytes"
},
{
PDB_STRING,
"data",
"The data"
}
};
static ProcArg parasite_new_outargs[] =
{
{
PDB_PARASITE,
"parasite",
"The new parasite"
}
};
static ProcRecord parasite_new_proc =
{
"gimp_parasite_new",
"Creates a new parasite.",
"Creates a new parasite unatached to to any image or drawable.",
"Jay Cox",
"Jay Cox",
"1998",
PDB_INTERNAL,
4,
parasite_new_inargs,
1,
parasite_new_outargs,
{ { parasite_new_invoker } }
};
static Argument *
parasite_find_invoker (Argument *args)
{
......
......@@ -81,10 +81,16 @@ libgimp_la_SOURCES = \
gimp.c \
gimp.h \
gimp_pdb.h \
gimpchannel_pdb.h \
gimpbrushes_pdb.c \
gimpbrushes_pdb.h \
gimpbrushselect_pdb.c \
gimpbrushselect_pdb.h \
gimpchannel_pdb.c \
gimpchannel_pdb.h \
gimpcolorspace.c \
gimpcolorspace.h \
gimpconvert_pdb.c \
gimpconvert_pdb.h \
gimpdisplay_pdb.c \
gimpdisplay_pdb.h \
gimpdrawable.c \
......@@ -96,7 +102,11 @@ libgimp_la_SOURCES = \
gimpfileops_pdb.c \
gimpfileops_pdb.h \
gimpgradient_pdb.c \
gimpgradient_pdb.h \
gimpgradientselect_pdb.c \
gimpgradientselect_pdb.h \
gimpguides_pdb.c \
gimpguides_pdb.h \
gimphelp.c \
gimphelp_pdb.c \
gimphelp_pdb.h \
......@@ -115,6 +125,10 @@ libgimp_la_SOURCES = \
gimpparasiteio.h \
gimpparasite_pdb.c \
gimpparasite_pdb.h \
gimppatterns_pdb.c \
gimppatterns_pdb.h \
gimppatternselect_pdb.c \
gimppatternselect_pdb.h \
gimppixelrgn.c \
gimppixelrgn.h \
gimpplugin_pdb.c \
......@@ -165,11 +179,16 @@ libgimpui_la_SOURCES = \
gimpinclude_HEADERS = \
gimp.h \
gimp_pdb.h \
gimpbrushes_pdb.h \
gimpbrushselect_pdb.h \
gimpchannel_pdb.h \
gimpconvert_pdb.h \
gimpdisplay_pdb.h \
gimpdrawable_pdb.h \
gimpfileops_pdb.h \
gimpgradient_pdb.h \
gimpgradientselect_pdb.h \
gimpguides_pdb.h \
gimphelp_pdb.h \
gimpimage_pdb.h \
gimplayer_pdb.h \
......@@ -201,6 +220,8 @@ gimpinclude_HEADERS = \
gimpparasite.h \
gimpparasiteio.h \
gimppatheditor.h \
gimppatterns_pdb.h \
gimppatternselect_pdb.h \
gimppixelrgn.h \
gimppixmap.h \
gimpquerybox.h \
......
......@@ -59,11 +59,18 @@
extern "C" {
#endif /* __cplusplus */
/* more convenient names for some pdb functions */
#define gimp_get_data gimp_procedural_db_get_data
#define gimp_get_data_size gimp_procedural_db_get_data_size
#define gimp_set_data gimp_procedural_db_set_data
#define gimp_query_procedure gimp_procedural_db_proc_info
#define gimp_get_data gimp_procedural_db_get_data
#define gimp_get_data_size gimp_procedural_db_get_data_size
#define gimp_set_data gimp_procedural_db_set_data
#define gimp_query_procedure gimp_procedural_db_proc_info
#define gimp_image_convert_rgb gimp_convert_rgb
#define gimp_image_convert_grayscale gimp_convert_grayscale
#define gimp_image_convert_indexed gimp_convert_indexed
GIMPVAR guint gimp_major_version;
GIMPVAR guint gimp_minor_version;
......@@ -140,12 +147,14 @@ union _GimpParamData
gint32 d_display;
gint32 d_image;
gint32 d_layer;
gint32 d_layer_mask;
gint32 d_channel;
gint32 d_drawable;
gint32 d_selection;
gint32 d_boundary;
gint32 d_path;
GimpParasite d_parasite;
gint32 d_tattoo;
gint32 d_status;
};
......
......@@ -22,11 +22,15 @@
#ifndef __GIMP_PDB_H__
#define __GIMP_PDB_H__
#include <libgimp/gimpbrushes_pdb.h>
#include <libgimp/gimpbrushselect_pdb.h>
#include <libgimp/gimpchannel_pdb.h>
#include <libgimp/gimpconvert_pdb.h>
#include <libgimp/gimpdisplay_pdb.h>
#include <libgimp/gimpdrawable_pdb.h>
#include <libgimp/gimpfileops_pdb.h>
#include <libgimp/gimpgradient_pdb.h>
#include <libgimp/gimpgradientselect_pdb.h>
#include <libgimp/gimpguides_pdb.h>
#include <libgimp/gimphelp_pdb.h>
#include <libgimp/gimpimage_pdb.h>
......@@ -34,6 +38,8 @@
#include <libgimp/gimpmessage_pdb.h>
#include <libgimp/gimppalette_pdb.h>
#include <libgimp/gimpparasite_pdb.h>
#include <libgimp/gimppatterns_pdb.h>
#include <libgimp/gimppatternselect_pdb.h>
#include <libgimp/gimpproceduraldb_pdb.h>
#include <libgimp/gimpplugin_pdb.h>
#include <libgimp/gimpselection_pdb.h>
......
/* LIBGIMP - The GIMP Library
* Copyright (C) 1995-2000 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 2 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, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "gimp.h"
gchar *
gimp_brushes_get_brush_data (gchar *brush_name,
gdouble *opacity,
gint *spacing,
GimpLayerModeEffects *paint_mode,
gint *width,
gint *height,
guint8 **mask_data)
{
GParam *return_vals;
gint nreturn_vals;
gint num_mask_data;
return_vals = gimp_run_procedure ("gimp_brushes_get_brush_data",
&nreturn_vals,
PARAM_STRING, brush_name,
PARAM_END);
brush_name = NULL;
if (return_vals[0].data.d_status == STATUS_SUCCESS)
{
brush_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;
num_mask_data = return_vals[7].data.d_int32;
*mask_data = g_new (guint8, num_mask_data);
memcpy (*mask_data, return_vals[8].data.d_int8array,
num_mask_data * sizeof (guint8));
}
gimp_destroy_params (return_vals, nreturn_vals);
return brush_name;
}
/* LIBGIMP - The GIMP Library
* Copyright (C) 1995-2000 Peter Mattis and Spencer Kimball
*
* gimpbrushes_pdb.h
*
* 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 2 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, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/* NOTE: This file is autogenerated by pdbgen.pl */
#ifndef __GIMP_BRUSHES_PDB_H__
#define __GIMP_BRUSHES_PDB_H__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* For information look into the C source or the html documentation */
gchar* gimp_brushes_get_brush_data (gchar *brush_name,
gdouble *opacity,
gint *spacing,
GimpLayerModeEffects *paint_mode,
gint *width,
gint *height,
guint8 **mask_data);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __GIMP_BRUSHES_PDB_H__ */
......@@ -192,10 +192,10 @@ brush_preview_events (GtkWidget *widget,
}
static void
brush_pre_update(GtkWidget *brush_preview,
gint brush_width,
gint brush_height,
gchar *mask_data)
brush_pre_update (GtkWidget *brush_preview,
gint brush_width,
gint brush_height,
gchar *mask_data)
{
gint y;
gint i;
......@@ -324,9 +324,9 @@ gimp_brush_select_widget (gchar *dname,
gint width;
gint height;
gint init_spacing;
gint init_paint_mode;
GimpLayerModeEffects init_paint_mode;
gdouble init_opacity;
gchar *mask_data;
guint8 *mask_data;
gchar *brush_name;
BSelect *bsel;
......@@ -405,37 +405,33 @@ gimp_brush_select_widget (gchar *dname,
}
gboolean
void
gimp_brush_select_widget_close_popup (GtkWidget *widget)
{
gboolean ret_val = FALSE;
BSelect *bsel;
bsel = (BSelect *) gtk_object_get_data (GTK_OBJECT (widget), BSEL_DATA_KEY);
if (bsel && bsel->brush_popup_pnt)
{
ret_val = gimp_brush_close_popup (bsel->brush_popup_pnt);
gimp_brushes_close_popup (bsel->brush_popup_pnt);
bsel->brush_popup_pnt = NULL;
}
return ret_val;
}
gboolean
void
gimp_brush_select_widget_set_popup (GtkWidget *widget,
gchar *bname,
gdouble opacity,
gint spacing,
gint paint_mode)
{
gboolean ret_val = FALSE;
gint width;
gint height;
gint init_spacing;
gint init_paint_mode;
GimpLayerModeEffects init_paint_mode;
gdouble init_opacity;
gchar *mask_data;
guint8 *mask_data;
gchar *brush_name;
BSelect *bsel;
......@@ -451,23 +447,20 @@ gimp_brush_select_widget_set_popup (GtkWidget *widget,
&height,
&mask_data);
if(opacity == -1.0)
if (opacity == -1.0)
opacity = init_opacity;
if(spacing == -1)
if (spacing == -1)
spacing = init_spacing;
if(paint_mode == -1)
if (paint_mode == -1)
paint_mode = init_paint_mode;
brush_select_invoker (bname, opacity, spacing, paint_mode,
width, height, mask_data, 0, bsel);
if (bsel->brush_popup_pnt &&
gimp_brush_set_popup (bsel->brush_popup_pnt,
bname, opacity, spacing, paint_mode))
ret_val = TRUE;
if (bsel->brush_popup_pnt)
gimp_brushes_set_popup (bsel->brush_popup_pnt,
bname, opacity, spacing, paint_mode);
}
return ret_val;
}
/* LIBGIMP - The GIMP Library
* Copyright (C) 1995-2000 Peter Mattis and Spencer Kimball
*
* gimpbrushselect_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 2 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, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/* NOTE: This file is autogenerated by pdbgen.pl */
#include "gimp.h"
void
gimp_brushes_popup (gchar *brush_callback,
gchar *popup_title,
gchar *initial_brush,
gdouble opacity,
gint spacing,
GimpLayerModeEffects paint_mode)
{
GParam *return_vals;
gint nreturn_vals;
return_vals = gimp_run_procedure ("gimp_brushes_popup",
&nreturn_vals,
PARAM_STRING, brush_callback,
PARAM_STRING, popup_title,
PARAM_STRING, initial_brush,
PARAM_FLOAT, opacity,
PARAM_INT32, spacing,
PARAM_INT32, paint_mode,
PARAM_END);
gimp_destroy_params (return_vals, nreturn_vals);
}
void
gimp_brushes_close_popup (gchar *brush_callback)
{
GParam *return_vals;
gint nreturn_vals;
return_vals = gimp_run_procedure ("gimp_brushes_close_popup",
&nreturn_vals,
PARAM_STRING, brush_callback,
PARAM_END);
gimp_destroy_params (return_vals, nreturn_vals);
}
void
gimp_brushes_set_popup (gchar *brush_callback,
gchar *brush_name,
gdouble opacity,
gint spacing,
GimpLayerModeEffects paint_mode)
{
GParam *return_vals;
gint nreturn_vals;
return_vals = gimp_run_procedure ("gimp_brushes_set_popup",
&nreturn_vals,
PARAM_STRING, brush_callback,
PARAM_STRING, brush_name,
PARAM_FLOAT, opacity,
PARAM_INT32, spacing,
PARAM_INT32, paint_mode,
PARAM_END);
gimp_destroy_params (return_vals, nreturn_vals);
}
/* LIBGIMP - The GIMP Library
* Copyright (C) 1995-2000 Peter Mattis and Spencer Kimball
*
* gimpbrushselect_pdb.h
*
* 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 2 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, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/* NOTE: This file is autogenerated by pdbgen.pl */
#ifndef __GIMP_BRUSH_SELECT_PDB_H__
#define __GIMP_BRUSH_SELECT_PDB_H__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* For information look into the C source or the html documentation */
void gimp_brushes_popup (gchar *brush_callback,
gchar *popup_title,
gchar *initial_brush,
gdouble opacity,
gint spacing,
GimpLayerModeEffects paint_mode);
void gimp_brushes_close_popup (gchar *brush_callback);
void gimp_brushes_set_popup (gchar *brush_callback,
gchar *brush_name,
gdouble opacity,
gint spacing,
GimpLayerModeEffects paint_mode);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __GIMP_BRUSH_SELECT_PDB_H__ */