<MACRO>
<NAME>GIMPVAR</NAME>
#    define GIMPVAR __declspec(dllexport)
</MACRO>
<MACRO>
<NAME>GIMPVAR</NAME>
#    define GIMPVAR extern __declspec(dllimport)
</MACRO>
<MACRO>
<NAME>GIMPVAR</NAME>
#  define GIMPVAR extern
</MACRO>
<MACRO>
<NAME>gimp_get_data</NAME>
#define gimp_get_data         gimp_procedural_db_get_data
</MACRO>
<MACRO>
<NAME>gimp_get_data_size</NAME>
#define gimp_get_data_size    gimp_procedural_db_get_data_size
</MACRO>
<MACRO>
<NAME>gimp_set_data</NAME>
#define gimp_set_data         gimp_procedural_db_set_data
</MACRO>
<VARIABLE>
<NAME>gimp_major_version</NAME>
extern guint gimp_major_version;
</VARIABLE>
<VARIABLE>
<NAME>gimp_minor_version</NAME>
extern guint gimp_minor_version;
</VARIABLE>
<VARIABLE>
<NAME>gimp_micro_version</NAME>
extern guint gimp_micro_version;
</VARIABLE>
<USER_FUNCTION>
<NAME>GimpInitProc</NAME>
<RETURNS>void </RETURNS>
void
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpQuitProc</NAME>
<RETURNS>void </RETURNS>
void
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpQueryProc</NAME>
<RETURNS>void </RETURNS>
void
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpRunProc</NAME>
<RETURNS>void </RETURNS>
gchar      *name,
				gint        nparams,
				GimpParam  *param,
				gint       *nreturn_vals,
				GimpParam **return_vals
</USER_FUNCTION>
<STRUCT>
<NAME>GimpPlugInInfo</NAME>
struct GimpPlugInInfo
{
  /* called when the gimp application initially starts up */
  GimpInitProc  init_proc;

  /* called when the gimp application exits */
  GimpQuitProc  quit_proc;

  /* called by the gimp so that the plug-in can inform the
   *  gimp of what it does. (ie. installing a procedure database
   *  procedure).
   */
  GimpQueryProc query_proc;

  /* called to run a procedure the plug-in installed in the
   *  procedure database.
   */
  GimpRunProc   run_proc;
};
</STRUCT>
<STRUCT>
<NAME>GimpParamDef</NAME>
struct GimpParamDef
{
  GimpPDBArgType  type;
  gchar          *name;
  gchar          *description;
};
</STRUCT>
<STRUCT>
<NAME>GimpParamColor</NAME>
struct GimpParamColor
{
  guint8 red;
  guint8 green;
  guint8 blue;
};
</STRUCT>
<STRUCT>
<NAME>GimpParamRegion</NAME>
struct GimpParamRegion
{
  gint32 x;
  gint32 y;
  gint32 width;
  gint32 height;
};
</STRUCT>
<UNION>
<NAME>GimpParamData</NAME>
union GimpParamData
{
  gint32            d_int32;
  gint16            d_int16;
  gint8             d_int8;
  gdouble           d_float;
  gchar            *d_string;
  gint32           *d_int32array;
  gint16           *d_int16array;
  gint8            *d_int8array;
  gdouble          *d_floatarray;
  gchar           **d_stringarray;
  GimpParamColor    d_color;
  GimpParamRegion   d_region;
  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;
  gint32            d_unit;
  GimpParasite      d_parasite;
  gint32            d_tattoo;
  GimpPDBStatusType d_status;
};
</UNION>
<STRUCT>
<NAME>GimpParam</NAME>
struct GimpParam
{
  GimpPDBArgType type;
  GimpParamData  data;
};
</STRUCT>
<FUNCTION>
<NAME>set_gimp_PLUG_IN_INFO_PTR</NAME>
<RETURNS>void  </RETURNS>
GimpPlugInInfo *
</FUNCTION>
<MACRO>
<NAME>MAIN</NAME>
#  define MAIN()			\
   static int				\
   win32_gimp_main (int argc, char **argv)	\
   {					\
     set_gimp_PLUG_IN_INFO_PTR(&PLUG_IN_INFO);	\
     return gimp_main (argc, argv);	\
   }					\
					\
   struct HINSTANCE__;			\
   int _stdcall				\
   WinMain (struct HINSTANCE__ *hInstance, \
	    struct HINSTANCE__ *hPrevInstance,	\
	    char *lpszCmdLine,		\
	    int   nCmdShow)		\
   {					\
     return win32_gimp_main (__argc, __argv);	\
   }					\
					\
   int					\
   main (int argc, char *argv[])	\
   {					\
     return win32_gimp_main (argc, argv);	\
   }
</MACRO>
<MACRO>
<NAME>MAIN</NAME>
#  define MAIN()			\
   int					\
   main (int argc, char *argv[])	\
   {					\
     return gimp_main (argc, argv);	\
   }
</MACRO>
<MACRO>
<NAME>MAIN</NAME>
#  define MAIN()				\
   int						\
   main (int argc, char *argv[])		\
   {						\
     set_gimp_PLUG_IN_INFO(&PLUG_IN_INFO);	\
     return gimp_main (argc, argv);		\
   }
</MACRO>
<FUNCTION>
<NAME>gimp_main</NAME>
<RETURNS>gint  </RETURNS>
gint      argc,gchar    *argv[]
</FUNCTION>
<FUNCTION>
<NAME>gimp_default_display</NAME>
<RETURNS>gint32  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_install_procedure</NAME>
<RETURNS>void  </RETURNS>
gchar        *name,gchar        *blurb,gchar        *help,gchar        *author,gchar        *copyright,gchar        *date,gchar        *menu_path,gchar        *image_types,gint          type,gint          nparams,gint          nreturn_vals,GimpParamDef *params,GimpParamDef *return_vals
</FUNCTION>
<FUNCTION>
<NAME>gimp_install_temp_proc</NAME>
<RETURNS>void  </RETURNS>
gchar        *name,gchar        *blurb,gchar        *help,gchar        *author,gchar        *copyright,gchar        *date,gchar        *menu_path,gchar        *image_types,gint          type,gint          nparams,gint          nreturn_vals,GimpParamDef *params,GimpParamDef *return_vals,GimpRunProc   run_proc
</FUNCTION>
<FUNCTION>
<NAME>gimp_uninstall_temp_proc</NAME>
<RETURNS>void  </RETURNS>
gchar        *name
</FUNCTION>
<FUNCTION>
<NAME>gimp_run_procedure</NAME>
<RETURNS>GimpParam  *</RETURNS>
gchar     *name,gint      *nreturn_vals,...
</FUNCTION>
<FUNCTION>
<NAME>gimp_run_procedure2</NAME>
<RETURNS>GimpParam  *</RETURNS>
gchar     *name,gint      *nreturn_vals,gint       nparams,GimpParam *params
</FUNCTION>
<FUNCTION>
<NAME>gimp_destroy_params</NAME>
<RETURNS>void  </RETURNS>
GimpParam    *params,gint          nparams
</FUNCTION>
<FUNCTION>
<NAME>gimp_destroy_paramdefs</NAME>
<RETURNS>void  </RETURNS>
GimpParamDef *paramdefs,gint          nparams
</FUNCTION>
<FUNCTION>
<NAME>gimp_gamma</NAME>
<RETURNS>gdouble  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_install_cmap</NAME>
<RETURNS>gboolean  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_use_xshm</NAME>
<RETURNS>gboolean  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_color_cube</NAME>
<RETURNS>guchar     *</RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_min_colors</NAME>
<RETURNS>gint  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_get_progname</NAME>
<RETURNS>gchar      *</RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_brushes_get_brush_data</NAME>
<RETURNS>gchar *</RETURNS>
gchar                 *name,gdouble               *opacity,gint                  *spacing,GimpLayerModeEffects  *paint_mode,gint                  *width,gint                  *height,gint                  *length,guint8               **mask_data
</FUNCTION>
<FUNCTION>
<NAME>gimp_brushes_popup</NAME>
<RETURNS>gboolean  </RETURNS>
gchar                *brush_callback,gchar                *popup_title,gchar                *initial_brush,gdouble               opacity,gint                  spacing,GimpLayerModeEffects  paint_mode
</FUNCTION>
<FUNCTION>
<NAME>gimp_brushes_close_popup</NAME>
<RETURNS>gboolean  </RETURNS>
gchar                *brush_callback
</FUNCTION>
<FUNCTION>
<NAME>gimp_brushes_set_popup</NAME>
<RETURNS>gboolean  </RETURNS>
gchar                *brush_callback,gchar                *brush_name,gdouble               opacity,gint                  spacing,GimpLayerModeEffects  paint_mode
</FUNCTION>
<MACRO>
<NAME>GIMP_TYPE_CHAIN_BUTTON</NAME>
#define GIMP_TYPE_CHAIN_BUTTON            (gimp_chain_button_get_type ())
</MACRO>
<MACRO>
<NAME>GIMP_CHAIN_BUTTON</NAME>
#define GIMP_CHAIN_BUTTON(obj)            (GTK_CHECK_CAST ((obj), GIMP_TYPE_CHAIN_BUTTON, GimpChainButton))
</MACRO>
<MACRO>
<NAME>GIMP_CHAIN_BUTTON_CLASS</NAME>
#define GIMP_CHAIN_BUTTON_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_CHAIN_BUTTON, GimpChainButtonClass))
</MACRO>
<MACRO>
<NAME>GIMP_IS_CHAIN_BUTTON</NAME>
#define GIMP_IS_CHAIN_BUTTON(obj)         (GTK_CHECK_TYPE ((obj), GIMP_TYPE_CHAIN_BUTTON))
</MACRO>
<MACRO>
<NAME>GIMP_IS_CHAIN_BUTTON_CLASS</NAME>
#define GIMP_IS_CHAIN_BUTTON_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_CHAIN_BUTTON))
</MACRO>
<STRUCT>
<NAME>GimpChainButton</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpChainButtonClass</NAME>
</STRUCT>
<ENUM>
<NAME>GimpChainPosition</NAME>
typedef enum
{
  GIMP_CHAIN_TOP,
  GIMP_CHAIN_LEFT,
  GIMP_CHAIN_BOTTOM,
  GIMP_CHAIN_RIGHT
} GimpChainPosition;
</ENUM>
<STRUCT>
<NAME>GimpChainButton</NAME>
struct GimpChainButton
{
  GtkTable           table;

  GimpChainPosition  position;
  GtkWidget         *button;
  GtkWidget         *line1;
  GtkWidget         *line2;
  GtkWidget         *pixmap;
  GdkPixmap         *broken;
  GdkBitmap         *broken_mask;
  GdkPixmap         *chain;
  GdkBitmap         *chain_mask;
  gboolean           active;
};
</STRUCT>
<FUNCTION>
<NAME>gimp_chain_button_get_type</NAME>
<RETURNS>GtkType  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_chain_button_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
GimpChainPosition  position
</FUNCTION>
<FUNCTION>
<NAME>gimp_chain_button_set_active</NAME>
<RETURNS>void  </RETURNS>
GimpChainButton   *gcb,gboolean           is_active
</FUNCTION>
<FUNCTION>
<NAME>gimp_chain_button_get_active</NAME>
<RETURNS>gboolean  </RETURNS>
GimpChainButton   *gcb
</FUNCTION>
<MACRO>
<NAME>gimp_channel_get_image_id</NAME>
#define gimp_channel_get_image_id  gimp_drawable_image
</MACRO>
<FUNCTION>
<NAME>gimp_channel_new</NAME>
<RETURNS>gint32  </RETURNS>
gint32    image_ID,gchar    *name,guint     width,guint     height,gdouble   opacity,guchar   *color
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_copy</NAME>
<RETURNS>gint32  </RETURNS>
gint32    channel_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_delete</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    channel_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_get_name</NAME>
<RETURNS>gchar *</RETURNS>
gint32    channel_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_set_name</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    channel_ID,gchar    *name
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_get_visible</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    channel_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_set_visible</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    channel_ID,gboolean  visible
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_get_show_masked</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    channel_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_set_show_masked</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    channel_ID,gboolean  show_masked
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_get_opacity</NAME>
<RETURNS>gdouble  </RETURNS>
gint32    channel_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_set_opacity</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    channel_ID,gdouble   opacity
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_get_color</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    channel_ID,guchar   *red,guchar   *green,guchar   *blue
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_set_color</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    channel_ID,guchar    red,guchar    green,guchar    blue
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_get_tattoo</NAME>
<RETURNS>gint  </RETURNS>
gint32    channel_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_set_tattoo</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    channel_ID,gint      tattoo
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_ops_offset</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                drawable_ID,gboolean              wrap_around,GimpChannelOffsetType fill_type,gint                  offset_x,gint                  offset_y
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_ops_duplicate</NAME>
<RETURNS>gint32  </RETURNS>
gint32                image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_brightness_contrast</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              drawable_ID,gint                brightness,gint                contrast
</FUNCTION>
<FUNCTION>
<NAME>gimp_levels</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              drawable_ID,GimpChannelLutType  channel,gint                low_input,gint                high_input,gdouble             gamma,gint                low_output,gint                high_output
</FUNCTION>
<FUNCTION>
<NAME>gimp_posterize</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              drawable_ID,gint                levels
</FUNCTION>
<FUNCTION>
<NAME>gimp_desaturate</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_equalize</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              drawable_ID,gboolean            mask_only
</FUNCTION>
<FUNCTION>
<NAME>gimp_invert</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_curves_spline</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              drawable_ID,GimpChannelLutType  channel,gint                num_points,guint8             *control_pts
</FUNCTION>
<FUNCTION>
<NAME>gimp_curves_explicit</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              drawable_ID,GimpChannelLutType  channel,gint                num_bytes,guint8             *curve
</FUNCTION>
<FUNCTION>
<NAME>gimp_color_balance</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              drawable_ID,GimpTransferMode    transfer_mode,gboolean            preserve_lum,gdouble             cyan_red,gdouble             magenta_green,gdouble             yellow_blue
</FUNCTION>
<FUNCTION>
<NAME>gimp_histogram</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              drawable_ID,GimpChannelLutType  channel,gint                start_range,gint                end_range,gdouble            *mean,gdouble            *std_dev,gdouble            *median,gdouble            *pixels,gdouble            *count,gdouble            *percentile
</FUNCTION>
<FUNCTION>
<NAME>gimp_hue_saturation</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              drawable_ID,GimpHueRange        hue_range,gdouble             hue_offset,gdouble             lightness,gdouble             saturation
</FUNCTION>
<FUNCTION>
<NAME>gimp_threshold</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              drawable_ID,gint                low_threshold,gint                high_threshold
</FUNCTION>
<MACRO>
<NAME>GIMP_MAJOR_VERSION</NAME>
#define GIMP_MAJOR_VERSION				(1)
</MACRO>
<MACRO>
<NAME>GIMP_MINOR_VERSION</NAME>
#define GIMP_MINOR_VERSION				(2)
</MACRO>
<MACRO>
<NAME>GIMP_MICRO_VERSION</NAME>
#define GIMP_MICRO_VERSION				(2)
</MACRO>
<MACRO>
<NAME>GIMP_VERSION</NAME>
#define GIMP_VERSION					"1.2.2"
</MACRO>
<MACRO>
<NAME>GIMP_CHECK_VERSION</NAME>
#define GIMP_CHECK_VERSION(major, minor, micro)	\
    (GIMP_MAJOR_VERSION > (major) || \
     (GIMP_MAJOR_VERSION == (major) && GIMP_MINOR_VERSION > (minor)) || \
     (GIMP_MAJOR_VERSION == (major) && GIMP_MINOR_VERSION == (minor) && \
      GIMP_MICRO_VERSION >= (micro)))
</MACRO>
<MACRO>
<NAME>GIMP_HAVE_PROCEDURAL_DB_GET_DATA_SIZE</NAME>
#define GIMP_HAVE_PROCEDURAL_DB_GET_DATA_SIZE		1-1-0
</MACRO>
<MACRO>
<NAME>GIMP_HAVE_PARASITES</NAME>
#define GIMP_HAVE_PARASITES				1-1-0
</MACRO>
<MACRO>
<NAME>GIMP_HAVE_RESOLUTION_INFO</NAME>
#define GIMP_HAVE_RESOLUTION_INFO			1-1-0
</MACRO>
<MACRO>
<NAME>GIMP_HAVE_DESTROY_PARAMDEFS</NAME>
#define GIMP_HAVE_DESTROY_PARAMDEFS			1-1-0
</MACRO>
<MACRO>
<NAME>GIMP_HAVE_FEATURES_1_1_5</NAME>
#define GIMP_HAVE_FEATURES_1_1_5			1-1-5
</MACRO>
<MACRO>
<NAME>GIMP_HAVE_DEFAULT_DISPLAY</NAME>
#define GIMP_HAVE_DEFAULT_DISPLAY			1-1-5
</MACRO>
<MACRO>
<NAME>GIMP_HAVE_PIXEL_RGNS_REGISTER2</NAME>
#define GIMP_HAVE_PIXEL_RGNS_REGISTER2			1-1-5
</MACRO>
<MACRO>
<NAME>GIMP_HAVE_NEW_ENUMS</NAME>
#define GIMP_HAVE_NEW_ENUMS				1-1-10
</MACRO>
<MACRO>
<NAME>GIMP_HAVE_EXPORT</NAME>
#define GIMP_HAVE_EXPORT                                1-1-10
</MACRO>
<MACRO>
<NAME>GIMP_HAVE_SYSCONFDIR</NAME>
#define GIMP_HAVE_SYSCONFDIR                            1-1-28
</MACRO>
<MACRO>
<NAME>GIMP_TYPE_COLOR_BUTTON</NAME>
#define GIMP_TYPE_COLOR_BUTTON            (gimp_color_button_get_type ())
</MACRO>
<MACRO>
<NAME>GIMP_COLOR_BUTTON</NAME>
#define GIMP_COLOR_BUTTON(obj)            (GTK_CHECK_CAST ((obj), GIMP_TYPE_COLOR_BUTTON, GimpColorButton))
</MACRO>
<MACRO>
<NAME>GIMP_COLOR_BUTTON_CLASS</NAME>
#define GIMP_COLOR_BUTTON_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_COLOR_BUTTON, GimpColorButtonClass))
</MACRO>
<MACRO>
<NAME>GIMP_IS_COLOR_BUTTON</NAME>
#define GIMP_IS_COLOR_BUTTON(obj)         (GTK_CHECK_TYPE ((obj), GIMP_TYPE_COLOR_BUTTON))
</MACRO>
<MACRO>
<NAME>GIMP_IS_COLOR_BUTTON_CLASS</NAME>
#define GIMP_IS_COLOR_BUTTON_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_COLOR_BUTTON))
</MACRO>
<STRUCT>
<NAME>GimpColorButton</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpColorButtonClass</NAME>
</STRUCT>
<FUNCTION>
<NAME>gimp_color_button_get_type</NAME>
<RETURNS>GtkType  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_color_button_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
const gchar     *title,gint             width,gint             height,guchar          *color,gint             bpp
</FUNCTION>
<FUNCTION>
<NAME>gimp_color_button_double_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
const gchar     *title,gint             width,gint             height,gdouble         *color,gint             bpp
</FUNCTION>
<FUNCTION>
<NAME>gimp_color_button_update</NAME>
<RETURNS>void  </RETURNS>
GimpColorButton *gcb
</FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorDisplayInit</NAME>
<RETURNS>void </RETURNS>
void
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorDisplayNew</NAME>
<RETURNS>gpointer </RETURNS>
gint          type
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorDisplayClone</NAME>
<RETURNS>gpointer </RETURNS>
gpointer      cd_ID
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorDisplayConvert</NAME>
<RETURNS>void </RETURNS>
gpointer      cd_ID,
						      guchar       *buf,
						      gint          width,
						      gint          height,
						      gint          bpp,
						      gint          bpl
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorDisplayDestroy</NAME>
<RETURNS>void </RETURNS>
gpointer      cd_ID
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorDisplayFinalize</NAME>
<RETURNS>void </RETURNS>
void
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorDisplayLoadState</NAME>
<RETURNS>void </RETURNS>
gpointer      cd_ID,
						      GimpParasite *state
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorDisplaySaveState</NAME>
<RETURNS>GimpParasite *</RETURNS>
gpointer      cd_ID
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorDisplayConfigure</NAME>
<RETURNS>void </RETURNS>
gpointer      cd_ID,
						      GFunc         ok_func,
						      gpointer      ok_data,
						      GFunc         cancel_func,
						      gpointer      cancel_data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorDisplayConfigureCancel</NAME>
<RETURNS>void </RETURNS>
gpointer      cd_ID
</USER_FUNCTION>
<STRUCT>
<NAME>GimpColorDisplayMethods</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpColorDisplayMethods</NAME>
struct GimpColorDisplayMethods
{
  GimpColorDisplayInit            init;
  GimpColorDisplayNew             new;
  GimpColorDisplayClone           clone;
  GimpColorDisplayConvert         convert;
  GimpColorDisplayDestroy         destroy;
  GimpColorDisplayFinalize        finalize;
  GimpColorDisplayLoadState       load;
  GimpColorDisplaySaveState       save;
  GimpColorDisplayConfigure       configure;
  GimpColorDisplayConfigureCancel cancel;
};
</STRUCT>
<FUNCTION>
<NAME>gimp_color_display_register</NAME>
<RETURNS>gboolean  </RETURNS>
const gchar             *name,GimpColorDisplayMethods *methods
</FUNCTION>
<FUNCTION>
<NAME>gimp_color_display_unregister</NAME>
<RETURNS>gboolean  </RETURNS>
const gchar             *name
</FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorSelector_Callback</NAME>
<RETURNS>void </RETURNS>
gpointer   data,
						    gint       r,
						    gint       g,
						    gint       b
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorSelector_NewFunc</NAME>
<RETURNS>GtkWidget *</RETURNS>
gint       r,
						    gint       g,
						    gint       b,
						    GimpColorSelector_Callback cb,
						    gpointer   data,
						    gpointer  *selector_data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorSelector_FreeFunc</NAME>
<RETURNS>void </RETURNS>
gpointer   selector_data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorSelector_SetColorFunc</NAME>
<RETURNS>void </RETURNS>
gpointer   selector_data,
						    gint       r,
						    gint       g,
						    gint       b,
						    gboolean   set_current
</USER_FUNCTION>
<STRUCT>
<NAME>GimpColorSelectorMethods</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpColorSelectorMethods</NAME>
struct GimpColorSelectorMethods
{
  GimpColorSelector_NewFunc      new;
  GimpColorSelector_FreeFunc     free;
  GimpColorSelector_SetColorFunc setcolor;
};
</STRUCT>
<TYPEDEF>
<NAME>GimpColorSelectorID</NAME>
typedef gpointer GimpColorSelectorID;
</TYPEDEF>
<FUNCTION>
<NAME>gimp_color_selector_register</NAME>
<RETURNS>GimpColorSelectorID  </RETURNS>
const gchar *name,const gchar *help_page,GimpColorSelectorMethods *methods
</FUNCTION>
<USER_FUNCTION>
<NAME>GimpColorSelectorFinishedCB</NAME>
<RETURNS>void </RETURNS>
gpointer           finished_data
</USER_FUNCTION>
<FUNCTION>
<NAME>gimp_color_selector_unregister</NAME>
<RETURNS>gboolean  </RETURNS>
GimpColorSelectorID  id,GimpColorSelectorFinishedCB  finished_cb,gpointer             finished_data
</FUNCTION>
<FUNCTION>
<NAME>gimp_rgb_to_hsv</NAME>
<RETURNS>void  </RETURNS>
gint    *red         ,gint    *green       ,gint    *blue
</FUNCTION>
<FUNCTION>
<NAME>gimp_hsv_to_rgb</NAME>
<RETURNS>void  </RETURNS>
gint    *hue         ,gint    *saturation  ,gint    *value
</FUNCTION>
<FUNCTION>
<NAME>gimp_rgb_to_hls</NAME>
<RETURNS>void  </RETURNS>
gint    *red         ,gint    *green       ,gint    *blue
</FUNCTION>
<FUNCTION>
<NAME>gimp_rgb_to_l</NAME>
<RETURNS>gint  </RETURNS>
gint     red,gint     green,gint     blue
</FUNCTION>
<FUNCTION>
<NAME>gimp_hls_to_rgb</NAME>
<RETURNS>void  </RETURNS>
gint    *hue         ,gint    *lightness   ,gint    *saturation
</FUNCTION>
<FUNCTION>
<NAME>gimp_rgb_to_hsv_double</NAME>
<RETURNS>void  </RETURNS>
gdouble *red         ,gdouble *green       ,gdouble *blue
</FUNCTION>
<FUNCTION>
<NAME>gimp_hsv_to_rgb_double</NAME>
<RETURNS>void  </RETURNS>
gdouble *hue         ,gdouble *saturation,gdouble *value
</FUNCTION>
<FUNCTION>
<NAME>gimp_rgb_to_hsv4</NAME>
<RETURNS>void  </RETURNS>
guchar  *hsv,gdouble *red,gdouble *green,gdouble *blue
</FUNCTION>
<FUNCTION>
<NAME>gimp_hsv_to_rgb4</NAME>
<RETURNS>void  </RETURNS>
guchar  *rgb,gdouble  hue,gdouble  saturation,gdouble  value
</FUNCTION>
<MACRO>
<NAME>INTENSITY_RED</NAME>
#define INTENSITY_RED   0.30
</MACRO>
<MACRO>
<NAME>INTENSITY_GREEN</NAME>
#define INTENSITY_GREEN 0.59
</MACRO>
<MACRO>
<NAME>INTENSITY_BLUE</NAME>
#define INTENSITY_BLUE  0.11
</MACRO>
<MACRO>
<NAME>INTENSITY</NAME>
#define INTENSITY(r,g,b) ((r) * INTENSITY_RED   + \
			  (g) * INTENSITY_GREEN + \
			  (b) * INTENSITY_BLUE  + 0.001)
</MACRO>
<MACRO>
<NAME>gimp_attach_parasite</NAME>
#define gimp_attach_parasite		gimp_parasite_attach
</MACRO>
<MACRO>
<NAME>gimp_detach_parasite</NAME>
#define gimp_detach_parasite		gimp_parasite_detach
</MACRO>
<MACRO>
<NAME>gimp_find_parasite</NAME>
#define gimp_find_parasite		gimp_parasite_find
</MACRO>
<MACRO>
<NAME>gimp_image_attach_parasite</NAME>
#define gimp_image_attach_parasite	gimp_image_parasite_attach
</MACRO>
<MACRO>
<NAME>gimp_image_detach_parasite</NAME>
#define gimp_image_detach_parasite	gimp_image_parasite_detach
</MACRO>
<MACRO>
<NAME>gimp_image_find_parasite</NAME>
#define gimp_image_find_parasite	gimp_image_parasite_find
</MACRO>
<MACRO>
<NAME>gimp_drawable_attach_parasite</NAME>
#define gimp_drawable_attach_parasite	gimp_drawable_parasite_attach
</MACRO>
<MACRO>
<NAME>gimp_drawable_detach_parasite</NAME>
#define gimp_drawable_detach_parasite	gimp_drawable_parasite_detach
</MACRO>
<MACRO>
<NAME>gimp_drawable_find_parasite</NAME>
#define gimp_drawable_find_parasite	gimp_drawable_parasite_find
</MACRO>
<MACRO>
<NAME>gimp_drawable_channel</NAME>
#define gimp_drawable_channel		gimp_drawable_is_channel
</MACRO>
<MACRO>
<NAME>gimp_drawable_gray</NAME>
#define gimp_drawable_gray		gimp_drawable_is_gray
</MACRO>
<MACRO>
<NAME>gimp_drawable_color</NAME>
#define gimp_drawable_color		gimp_drawable_is_rgb
</MACRO>
<MACRO>
<NAME>gimp_drawable_indexed</NAME>
#define gimp_drawable_indexed		gimp_drawable_is_indexed
</MACRO>
<MACRO>
<NAME>gimp_drawable_layer</NAME>
#define gimp_drawable_layer		gimp_drawable_is_layer
</MACRO>
<MACRO>
<NAME>gimp_drawable_layer_mask</NAME>
#define gimp_drawable_layer_mask	gimp_drawable_is_layer_mask
</MACRO>
<MACRO>
<NAME>gimp_image_disable_undo</NAME>
#define gimp_image_disable_undo		gimp_image_undo_disable
</MACRO>
<MACRO>
<NAME>gimp_image_enable_undo</NAME>
#define gimp_image_enable_undo		gimp_image_undo_enable
</MACRO>
<MACRO>
<NAME>gimp_image_freeze_undo</NAME>
#define gimp_image_freeze_undo		gimp_image_undo_freeze
</MACRO>
<MACRO>
<NAME>gimp_image_thaw_undo</NAME>
#define gimp_image_thaw_undo		gimp_image_undo_thaw
</MACRO>
<MACRO>
<NAME>gimp_channel_width</NAME>
#define gimp_channel_width              gimp_drawable_width
</MACRO>
<MACRO>
<NAME>gimp_channel_height</NAME>
#define gimp_channel_height             gimp_drawable_height
</MACRO>
<MACRO>
<NAME>gimp_channel_get_image_ID</NAME>
#define gimp_channel_get_image_ID       gimp_drawable_image
</MACRO>
<MACRO>
<NAME>gimp_channel_get_layer_ID</NAME>
#define gimp_channel_get_layer_ID       -1
</MACRO>
<MACRO>
<NAME>gimp_layer_width</NAME>
#define gimp_layer_width                gimp_drawable_width
</MACRO>
<MACRO>
<NAME>gimp_layer_height</NAME>
#define gimp_layer_height               gimp_drawable_height
</MACRO>
<MACRO>
<NAME>gimp_layer_bpp</NAME>
#define gimp_layer_bpp                  gimp_drawable_bpp
</MACRO>
<MACRO>
<NAME>gimp_layer_type</NAME>
#define gimp_layer_type                 gimp_drawable_type
</MACRO>
<MACRO>
<NAME>gimp_gradient_get_gradient_data</NAME>
#define gimp_gradient_get_gradient_data gimp_gradients_get_gradient_data
</MACRO>
<MACRO>
<NAME>gimp_plugin_help_func</NAME>
#define gimp_plugin_help_func           gimp_standard_help_func
</MACRO>
<MACRO>
<NAME>gimp_query_database</NAME>
#define gimp_query_database             gimp_procedural_db_query
</MACRO>
<MACRO>
<NAME>gimp_query_procedure</NAME>
#define gimp_query_procedure            gimp_procedural_db_proc_info
</MACRO>
<MACRO>
<NAME>gimp_query_images</NAME>
#define gimp_query_images               gimp_image_list
</MACRO>
<MACRO>
<NAME>Parasite</NAME>
#define Parasite                        GimpParasite
</MACRO>
<MACRO>
<NAME>PARASITE_PERSISTENT</NAME>
#define PARASITE_PERSISTENT             GIMP_PARASITE_PERSISTENT
</MACRO>
<MACRO>
<NAME>PARASITE_UNDOABLE</NAME>
#define PARASITE_UNDOABLE               GIMP_PARASITE_UNDOABLE
</MACRO>
<MACRO>
<NAME>PARASITE_ATTACH_PARENT</NAME>
#define PARASITE_ATTACH_PARENT          GIMP_PARASITE_ATTACH_PARENT
</MACRO>
<MACRO>
<NAME>PARASITE_PARENT_PERSISTENT</NAME>
#define PARASITE_PARENT_PERSISTENT      GIMP_PARASITE_PARENT_PERSISTENT
</MACRO>
<MACRO>
<NAME>PARASITE_PARENT_UNDOABLE</NAME>
#define PARASITE_PARENT_UNDOABLE        GIMP_PARASITE_PARENT_UNDOABLE
</MACRO>
<MACRO>
<NAME>PARASITE_ATTACH_GRANDPARENT</NAME>
#define PARASITE_ATTACH_GRANDPARENT     GIMP_PARASITE_ATTACH_GRANDPARENT
</MACRO>
<MACRO>
<NAME>PARASITE_GRANDPARENT_PERSISTENT</NAME>
#define PARASITE_GRANDPARENT_PERSISTENT GIMP_PARASITE_GRANDPARENT_PERSISTENT
</MACRO>
<MACRO>
<NAME>PARASITE_GRANDPARENT_UNDOABLE</NAME>
#define PARASITE_GRANDPARENT_UNDOABLE   GIMP_PARASITE_GRANDPARENT_UNDOABLE
</MACRO>
<MACRO>
<NAME>parasite_new</NAME>
#define parasite_new                    gimp_parasite_new
</MACRO>
<MACRO>
<NAME>parasite_free</NAME>
#define parasite_free                   gimp_parasite_free
</MACRO>
<MACRO>
<NAME>parasite_copy</NAME>
#define parasite_copy                   gimp_parasite_copy
</MACRO>
<MACRO>
<NAME>parasite_compare</NAME>
#define parasite_compare                gimp_parasite_compare
</MACRO>
<MACRO>
<NAME>parasite_is_type</NAME>
#define parasite_is_type                gimp_parasite_is_type
</MACRO>
<MACRO>
<NAME>parasite_is_persistent</NAME>
#define parasite_is_persistent          gimp_parasite_is_persistent
</MACRO>
<MACRO>
<NAME>parasite_is_undoable</NAME>
#define parasite_is_undoable            gimp_parasite_is_undoable
</MACRO>
<MACRO>
<NAME>parasite_has_flag</NAME>
#define parasite_has_flag               gimp_parasite_has_flag
</MACRO>
<MACRO>
<NAME>parasite_flags</NAME>
#define parasite_flags                  gimp_parasite_flags
</MACRO>
<MACRO>
<NAME>parasite_name</NAME>
#define parasite_name                   gimp_parasite_name
</MACRO>
<MACRO>
<NAME>parasite_data</NAME>
#define parasite_data                   gimp_parasite_data
</MACRO>
<MACRO>
<NAME>parasite_data_size</NAME>
#define parasite_data_size              gimp_parasite_data_size
</MACRO>
<MACRO>
<NAME>PIXPIPE_MAXDIM</NAME>
#define PIXPIPE_MAXDIM                  GIMP_PIXPIPE_MAXDIM
</MACRO>
<MACRO>
<NAME>PixPipeParams</NAME>
#define PixPipeParams                   GimpPixPipeParams
</MACRO>
<MACRO>
<NAME>pixpipeparams_init</NAME>
#define pixpipeparams_init              gimp_pixpipe_params_init
</MACRO>
<MACRO>
<NAME>pixpipeparams_parse</NAME>
#define pixpipeparams_parse             gimp_pixpipe_params_parse
</MACRO>
<MACRO>
<NAME>pixpipeparams_build</NAME>
#define pixpipeparams_build             gimp_pixpipe_params_build
</MACRO>
<MACRO>
<NAME>GPlugInInfo</NAME>
#define GPlugInInfo                     GimpPlugInInfo
</MACRO>
<MACRO>
<NAME>GTile</NAME>
#define GTile                           GimpTile
</MACRO>
<MACRO>
<NAME>GDrawable</NAME>
#define GDrawable                       GimpDrawable
</MACRO>
<MACRO>
<NAME>GPixelRgn</NAME>
#define GPixelRgn                       GimpPixelRgn
</MACRO>
<MACRO>
<NAME>GParamColor</NAME>
#define GParamColor                     GimpParamColor
</MACRO>
<MACRO>
<NAME>GParamRegion</NAME>
#define GParamRegion                    GimpParamRegion
</MACRO>
<MACRO>
<NAME>GParamData</NAME>
#define GParamData                      GimpParamData
</MACRO>
<MACRO>
<NAME>GParamDef</NAME>
#define GParamDef                       GimpParamDef
</MACRO>
<MACRO>
<NAME>GParam</NAME>
#define GParam                          GimpParam
</MACRO>
<MACRO>
<NAME>CAN_HANDLE_RGB</NAME>
#define CAN_HANDLE_RGB                  GIMP_EXPORT_CAN_HANDLE_RGB
</MACRO>
<MACRO>
<NAME>CAN_HANDLE_GRAY</NAME>
#define CAN_HANDLE_GRAY                 GIMP_EXPORT_CAN_HANDLE_GRAY
</MACRO>
<MACRO>
<NAME>CAN_HANDLE_INDEXED</NAME>
#define CAN_HANDLE_INDEXED              GIMP_EXPORT_CAN_HANDLE_INDEXED
</MACRO>
<MACRO>
<NAME>CAN_HANDLE_ALPHA</NAME>
#define CAN_HANDLE_ALPHA                GIMP_EXPORT_CAN_HANDLE_ALPHA 
</MACRO>
<MACRO>
<NAME>CAN_HANDLE_LAYERS</NAME>
#define CAN_HANDLE_LAYERS               GIMP_EXPORT_CAN_HANDLE_LAYERS
</MACRO>
<MACRO>
<NAME>CAN_HANDLE_LAYERS_AS_ANIMATION</NAME>
#define CAN_HANDLE_LAYERS_AS_ANIMATION  GIMP_EXPORT_CAN_HANDLE_LAYERS_AS_ANIMATION
</MACRO>
<MACRO>
<NAME>NEEDS_ALPHA</NAME>
#define NEEDS_ALPHA                     GIMP_EXPORT_NEEDS_ALPHA
</MACRO>
<MACRO>
<NAME>EXPORT_CANCEL</NAME>
#define EXPORT_CANCEL                   GIMP_EXPORT_CANCEL
</MACRO>
<MACRO>
<NAME>EXPORT_IGNORE</NAME>
#define EXPORT_IGNORE                   GIMP_EXPORT_IGNORE
</MACRO>
<MACRO>
<NAME>EXPORT_EXPORT</NAME>
#define EXPORT_EXPORT                   GIMP_EXPORT_EXPORT
</MACRO>
<FUNCTION>
<NAME>gimp_convert_rgb</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                  image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_convert_grayscale</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                  image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_convert_indexed</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                  image_ID,GimpConvertDitherType   dither_type,GimpConvertPaletteType  palette_type,gint                    num_cols,gboolean                alpha_dither,gboolean                remove_unused,gchar                  *palette
</FUNCTION>
<FUNCTION>
<NAME>gimp_dialog_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
const gchar        *title,const gchar        *wmclass_name,GimpHelpFunc        help_func,const gchar        *help_data,GtkWindowPosition   position,gint                allow_shrink,gint                allow_grow,gint                auto_shrink,...
</FUNCTION>
<FUNCTION>
<NAME>gimp_dialog_newv</NAME>
<RETURNS>GtkWidget  *</RETURNS>
const gchar        *title,const gchar        *wmclass_name,GimpHelpFunc        help_func,const gchar        *help_data,GtkWindowPosition   position,gint                allow_shrink,gint                allow_grow,gint                auto_shrink,va_list             args
</FUNCTION>
<FUNCTION>
<NAME>gimp_dialog_set_icon</NAME>
<RETURNS>void  </RETURNS>
GtkWindow          *dialog
</FUNCTION>
<FUNCTION>
<NAME>gimp_dialog_create_action_area</NAME>
<RETURNS>void  </RETURNS>
GtkDialog          *dialog,...
</FUNCTION>
<FUNCTION>
<NAME>gimp_dialog_create_action_areav</NAME>
<RETURNS>void  </RETURNS>
GtkDialog          *dialog,va_list             args
</FUNCTION>
<FUNCTION>
<NAME>gimp_display_new</NAME>
<RETURNS>gint32  </RETURNS>
gint32 image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_display_delete</NAME>
<RETURNS>gboolean  </RETURNS>
gint32 display_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_displays_flush</NAME>
<RETURNS>gboolean  </RETURNS>
void
</FUNCTION>
<MACRO>
<NAME>gimp_drawable_offset</NAME>
#define gimp_drawable_offset    gimp_channel_ops_offset
</MACRO>
<MACRO>
<NAME>gimp_drawable_image_id</NAME>
#define gimp_drawable_image_id  gimp_drawable_image
</MACRO>
<MACRO>
<NAME>gimp_drawable_bpp</NAME>
#define gimp_drawable_bpp       gimp_drawable_bytes
</MACRO>
<STRUCT>
<NAME>GimpDrawable</NAME>
struct GimpDrawable
{
  gint32    id;            /* drawable ID */
  guint     width;         /* width of drawble */
  guint     height;        /* height of drawble */
  guint     bpp;           /* bytes per pixel of drawable */
  guint     ntile_rows;    /* # of tile rows */
  guint     ntile_cols;    /* # of tile columns */
  GimpTile *tiles;         /* the normal tiles */
  GimpTile *shadow_tiles;  /* the shadow tiles */
};
</STRUCT>
<FUNCTION>
<NAME>gimp_drawable_get</NAME>
<RETURNS>GimpDrawable  *</RETURNS>
gint32        drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_detach</NAME>
<RETURNS>void  </RETURNS>
GimpDrawable *drawable
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_flush</NAME>
<RETURNS>void  </RETURNS>
GimpDrawable *drawable
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_delete</NAME>
<RETURNS>void  </RETURNS>
GimpDrawable *drawable
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_name</NAME>
<RETURNS>gchar         *</RETURNS>
gint32        drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_visible</NAME>
<RETURNS>gboolean  </RETURNS>
gint32        drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_set_name</NAME>
<RETURNS>void  </RETURNS>
gint32        drawable_ID,gchar        *name
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_set_visible</NAME>
<RETURNS>void  </RETURNS>
gint32        drawable_ID,gboolean      visible
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_get_tile</NAME>
<RETURNS>GimpTile      *</RETURNS>
GimpDrawable *drawable,gint          shadow,gint          row,gint          col
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_get_tile2</NAME>
<RETURNS>GimpTile      *</RETURNS>
GimpDrawable *drawable,gint          shadow,gint          x,gint          y
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_get_thumbnail_data</NAME>
<RETURNS>guchar        *</RETURNS>
gint32        drawable_ID,gint         *width,gint         *height,gint         *bpp
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_merge_shadow</NAME>
<RETURNS>gboolean  </RETURNS>
gint32         drawable_ID,gboolean       undo
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_fill</NAME>
<RETURNS>gboolean  </RETURNS>
gint32         drawable_ID,GimpFillType   fill_type
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_update</NAME>
<RETURNS>gboolean  </RETURNS>
gint32         drawable_ID,gint           x,gint           y,gint           width,gint           height
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_mask_bounds</NAME>
<RETURNS>gboolean  </RETURNS>
gint32         drawable_ID,gint          *x1,gint          *y1,gint          *x2,gint          *y2
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_image</NAME>
<RETURNS>gint32  </RETURNS>
gint32         drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_type</NAME>
<RETURNS>GimpImageType  </RETURNS>
gint32         drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_has_alpha</NAME>
<RETURNS>gboolean  </RETURNS>
gint32         drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_type_with_alpha</NAME>
<RETURNS>GimpImageType  </RETURNS>
gint32         drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_is_rgb</NAME>
<RETURNS>gboolean  </RETURNS>
gint32         drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_is_gray</NAME>
<RETURNS>gboolean  </RETURNS>
gint32         drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_is_indexed</NAME>
<RETURNS>gboolean  </RETURNS>
gint32         drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_bytes</NAME>
<RETURNS>gint  </RETURNS>
gint32         drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_width</NAME>
<RETURNS>gint  </RETURNS>
gint32         drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_height</NAME>
<RETURNS>gint  </RETURNS>
gint32         drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_offsets</NAME>
<RETURNS>gboolean  </RETURNS>
gint32         drawable_ID,gint          *offset_x,gint          *offset_y
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_is_layer</NAME>
<RETURNS>gboolean  </RETURNS>
gint32         drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_is_layer_mask</NAME>
<RETURNS>gboolean  </RETURNS>
gint32         drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_is_channel</NAME>
<RETURNS>gboolean  </RETURNS>
gint32         drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_edit_cut</NAME>
<RETURNS>gboolean  </RETURNS>
gint32       drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_edit_copy</NAME>
<RETURNS>gboolean  </RETURNS>
gint32       drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_edit_paste</NAME>
<RETURNS>gint32  </RETURNS>
gint32       drawable_ID,gboolean     paste_into
</FUNCTION>
<FUNCTION>
<NAME>gimp_edit_clear</NAME>
<RETURNS>gboolean  </RETURNS>
gint32       drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_edit_fill</NAME>
<RETURNS>gboolean  </RETURNS>
gint32       drawable_ID,GimpFillType fill_type
</FUNCTION>
<FUNCTION>
<NAME>gimp_edit_stroke</NAME>
<RETURNS>gboolean  </RETURNS>
gint32       drawable_ID
</FUNCTION>
<ENUM>
<NAME>GimpAddMaskType</NAME>
typedef enum
{
  GIMP_WHITE_MASK,
  GIMP_BLACK_MASK,
  GIMP_ALPHA_MASK
} GimpAddMaskType;
</ENUM>
<ENUM>
<NAME>GimpBlendMode</NAME>
typedef enum
{
  GIMP_FG_BG_RGB,
  GIMP_FG_BG_HSV,
  GIMP_FG_TRANS,
  GIMP_CUSTOM
} GimpBlendMode;
</ENUM>
<ENUM>
<NAME>GimpBrushApplicationMode</NAME>
typedef enum
{
  GIMP_HARD,
  GIMP_SOFT,
  GIMP_PRESSURE
} GimpBrushApplicationMode;
</ENUM>
<ENUM>
<NAME>GimpBucketFillMode</NAME>
typedef enum
{
  GIMP_FG_BUCKET_FILL,
  GIMP_BG_BUCKET_FILL,
  GIMP_PATTERN_BUCKET_FILL
} GimpBucketFillMode;
</ENUM>
<ENUM>
<NAME>GimpChannelLutType</NAME>
typedef enum
{
  GIMP_VALUE_LUT,
  GIMP_RED_LUT,
  GIMP_GREEN_LUT,
  GIMP_BLUE_LUT,
  GIMP_ALPHA_LUT
} GimpChannelLutType;
</ENUM>
<ENUM>
<NAME>GimpChannelOffsetType</NAME>
typedef enum
{
  GIMP_OFFSET_BACKGROUND,
  GIMP_OFFSET_TRANSPARENT
} GimpChannelOffsetType;
</ENUM>
<ENUM>
<NAME>GimpChannelOps</NAME>
typedef enum
{
  GIMP_ADD,
  GIMP_SUB,
  GIMP_REPLACE,
  GIMP_INTERSECT
} GimpChannelOps;
</ENUM>
<ENUM>
<NAME>GimpChannelType</NAME>
typedef enum
{
  GIMP_RED_CHANNEL,
  GIMP_GREEN_CHANNEL,
  GIMP_BLUE_CHANNEL,
  GIMP_GRAY_CHANNEL,
  GIMP_INDEXED_CHANNEL,
  GIMP_AUXILLARY_CHANNEL
} GimpChannelType;
</ENUM>
<ENUM>
<NAME>GimpCloneType</NAME>
typedef enum
{
  GIMP_IMAGE_CLONE,
  GIMP_PATTERN_CLONE
} GimpCloneType;
</ENUM>
<ENUM>
<NAME>GimpConvertDitherType</NAME>
typedef enum
{
  GIMP_NO_DITHER,
  GIMP_FS_DITHER,
  GIMP_FSLOWBLEED_DITHER,
  GIMP_FIXED_DITHER,
  GIMP_NODESTRUCT_DITHER
} GimpConvertDitherType;
</ENUM>
<ENUM>
<NAME>GimpConvertPaletteType</NAME>
typedef enum
{
  GIMP_MAKE_PALETTE,
  GIMP_REUSE_PALETTE,
  GIMP_WEB_PALETTE,
  GIMP_MONO_PALETTE,
  GIMP_CUSTOM_PALETTE
} GimpConvertPaletteType;
</ENUM>
<ENUM>
<NAME>GimpConvolutionType</NAME>
typedef enum
{
  GIMP_NORMAL_CONVOL,
  GIMP_ABSOLUTE_CONVOL,
  GIMP_NEGATIVE_CONVOL
} GimpConvolutionType;
</ENUM>
<ENUM>
<NAME>GimpConvolveType</NAME>
typedef enum
{
  GIMP_BLUR_CONVOLVE,
  GIMP_SHARPEN_CONVOLVE,
  GIMP_CUSTOM_CONVOLVE
} GimpConvolveType;
</ENUM>
<ENUM>
<NAME>GimpDodgeBurnMode</NAME>
typedef enum
{
  GIMP_DODGEBURN_HIGHLIGHTS,
  GIMP_DODGEBURN_MIDTONES,
  GIMP_DODGEBURN_SHADOWS
} GimpDodgeBurnMode;
</ENUM>
<ENUM>
<NAME>GimpDodgeBurnType</NAME>
typedef enum
{
  GIMP_DODGE,
  GIMP_BURN
} GimpDodgeBurnType;
</ENUM>
<ENUM>
<NAME>GimpFillType</NAME>
typedef enum
{
  GIMP_FG_IMAGE_FILL,
  GIMP_BG_IMAGE_FILL,
  GIMP_WHITE_IMAGE_FILL,
  GIMP_TRANS_IMAGE_FILL,
  GIMP_NO_IMAGE_FILL
} GimpFillType;
</ENUM>
<ENUM>
<NAME>GimpImageBaseType</NAME>
typedef enum
{
  GIMP_RGB,
  GIMP_GRAY,
  GIMP_INDEXED
} GimpImageBaseType;
</ENUM>
<ENUM>
<NAME>GimpImageType</NAME>
typedef enum
{
  GIMP_RGB_IMAGE,
  GIMP_RGBA_IMAGE,
  GIMP_GRAY_IMAGE,
  GIMP_GRAYA_IMAGE,
  GIMP_INDEXED_IMAGE,
  GIMP_INDEXEDA_IMAGE
} GimpImageType;
</ENUM>
<ENUM>
<NAME>GimpGradientPaintMode</NAME>
typedef enum
{
  GIMP_ONCE_FORWARD,
  GIMP_ONCE_BACKWARDS,
  GIMP_LOOP_SAWTOOTH,
  GIMP_LOOP_TRIANGLE,
  GIMP_ONCE_END_COLOR
} GimpGradientPaintMode;
</ENUM>
<ENUM>
<NAME>GimpGradientType</NAME>
typedef enum
{
  GIMP_LINEAR,
  GIMP_BILINEAR,
  GIMP_RADIAL,
  GIMP_SQUARE,
  GIMP_CONICAL_SYMMETRIC,
  GIMP_CONICAL_ASYMMETRIC,
  GIMP_SHAPEBURST_ANGULAR,
  GIMP_SHAPEBURST_SPHERICAL,
  GIMP_SHAPEBURST_DIMPLED,
  GIMP_SPIRAL_CLOCKWISE,
  GIMP_SPIRAL_ANTICLOCKWISE
} GimpGradientType;
</ENUM>
<ENUM>
<NAME>GimpHueRange</NAME>
typedef enum
{
  GIMP_ALL_HUES,
  GIMP_RED_HUES,
  GIMP_YELLOW_HUES,
  GIMP_GREEN_HUES,
  GIMP_CYAN_HUES,
  GIMP_BLUE_HUES,
  GIMP_MAGENTA_HUES
} GimpHueRange;
</ENUM>
<ENUM>
<NAME>GimpInterpolationType</NAME>
typedef enum
{
  GIMP_LINEAR_INTERPOLATION,
  GIMP_CUBIC_INTERPOLATION,
  GIMP_NEAREST_NEIGHBOR_INTERPOLATION
} GimpInterpolationType;
</ENUM>
<ENUM>
<NAME>GimpLayerModeEffects</NAME>
typedef enum
{
  GIMP_NORMAL_MODE,
  GIMP_DISSOLVE_MODE,
  GIMP_BEHIND_MODE,
  GIMP_MULTIPLY_MODE,
  GIMP_SCREEN_MODE,
  GIMP_OVERLAY_MODE,
  GIMP_DIFFERENCE_MODE,
  GIMP_ADDITION_MODE,
  GIMP_SUBTRACT_MODE,
  GIMP_DARKEN_ONLY_MODE,
  GIMP_LIGHTEN_ONLY_MODE,
  GIMP_HUE_MODE,
  GIMP_SATURATION_MODE,
  GIMP_COLOR_MODE,
  GIMP_VALUE_MODE,
  GIMP_DIVIDE_MODE
} GimpLayerModeEffects;
</ENUM>
<ENUM>
<NAME>GimpMaskApplyMode</NAME>
typedef enum
{
  GIMP_APPLY,
  GIMP_DISCARD
} GimpMaskApplyMode;
</ENUM>
<ENUM>
<NAME>GimpMergeType</NAME>
typedef enum
{
  GIMP_EXPAND_AS_NECESSARY,
  GIMP_CLIP_TO_IMAGE,
  GIMP_CLIP_TO_BOTTOM_LAYER,
  GIMP_FLATTEN_IMAGE
} GimpMergeType;
</ENUM>
<ENUM>
<NAME>GimpMessageHandlerType</NAME>
typedef enum
{
  GIMP_MESSAGE_BOX,
  GIMP_CONSOLE,
  GIMP_ERROR_CONSOLE
} GimpMessageHandlerType;
</ENUM>
<ENUM>
<NAME>GimpOrientationType</NAME>
typedef enum
{
  GIMP_HORIZONTAL,
  GIMP_VERTICAL,
  GIMP_UNKNOWN
} GimpOrientationType;
</ENUM>
<ENUM>
<NAME>GimpPDBArgType</NAME>
typedef enum
{
  GIMP_PDB_INT32,
  GIMP_PDB_INT16,
  GIMP_PDB_INT8,
  GIMP_PDB_FLOAT,
  GIMP_PDB_STRING,
  GIMP_PDB_INT32ARRAY,
  GIMP_PDB_INT16ARRAY,
  GIMP_PDB_INT8ARRAY,
  GIMP_PDB_FLOATARRAY,
  GIMP_PDB_STRINGARRAY,
  GIMP_PDB_COLOR,
  GIMP_PDB_REGION,
  GIMP_PDB_DISPLAY,
  GIMP_PDB_IMAGE,
  GIMP_PDB_LAYER,
  GIMP_PDB_CHANNEL,
  GIMP_PDB_DRAWABLE,
  GIMP_PDB_SELECTION,
  GIMP_PDB_BOUNDARY,
  GIMP_PDB_PATH,
  GIMP_PDB_PARASITE,
  GIMP_PDB_STATUS,
  GIMP_PDB_END
} GimpPDBArgType;
</ENUM>
<ENUM>
<NAME>GimpPDBProcType</NAME>
typedef enum
{
  GIMP_INTERNAL,
  GIMP_PLUGIN,
  GIMP_EXTENSION,
  GIMP_TEMPORARY
} GimpPDBProcType;
</ENUM>
<ENUM>
<NAME>GimpPDBStatusType</NAME>
typedef enum
{
  GIMP_PDB_EXECUTION_ERROR,
  GIMP_PDB_CALLING_ERROR,
  GIMP_PDB_PASS_THROUGH,
  GIMP_PDB_SUCCESS,
  GIMP_PDB_CANCEL
} GimpPDBStatusType;
</ENUM>
<ENUM>
<NAME>GimpPaintApplicationMode</NAME>
typedef enum
{
  GIMP_CONTINUOUS,
  GIMP_INCREMENTAL
} GimpPaintApplicationMode;
</ENUM>
<ENUM>
<NAME>GimpRepeatMode</NAME>
typedef enum
{
  GIMP_REPEAT_NONE,
  GIMP_REPEAT_SAWTOOTH,
  GIMP_REPEAT_TRIANGULAR
} GimpRepeatMode;
</ENUM>
<ENUM>
<NAME>GimpRunModeType</NAME>
typedef enum
{
  GIMP_RUN_INTERACTIVE,
  GIMP_RUN_NONINTERACTIVE,
  GIMP_RUN_WITH_LAST_VALS
} GimpRunModeType;
</ENUM>
<ENUM>
<NAME>GimpSizeType</NAME>
typedef enum
{
  GIMP_PIXELS,
  GIMP_POINTS
} GimpSizeType;
</ENUM>
<ENUM>
<NAME>GimpStackTraceMode</NAME>
typedef enum
{
  GIMP_STACK_TRACE_NEVER,
  GIMP_STACK_TRACE_QUERY,
  GIMP_STACK_TRACE_ALWAYS
} GimpStackTraceMode;
</ENUM>
<ENUM>
<NAME>GimpTransferMode</NAME>
typedef enum
{
  GIMP_SHADOWS,
  GIMP_MIDTONES,
  GIMP_HIGHLIGHTS
} GimpTransferMode;
</ENUM>
<TYPEDEF>
<NAME>GFillType</NAME>
typedef GimpFillType GFillType;
</TYPEDEF>
<TYPEDEF>
<NAME>GImageType</NAME>
typedef GimpImageBaseType GImageType;
</TYPEDEF>
<TYPEDEF>
<NAME>GDrawableType</NAME>
typedef GimpImageType GDrawableType;
</TYPEDEF>
<TYPEDEF>
<NAME>GLayerMode</NAME>
typedef GimpLayerModeEffects GLayerMode;
</TYPEDEF>
<TYPEDEF>
<NAME>GRunModeType</NAME>
typedef GimpRunModeType GRunModeType;
</TYPEDEF>
<TYPEDEF>
<NAME>GOrientation</NAME>
typedef GimpOrientationType GOrientation;
</TYPEDEF>
<TYPEDEF>
<NAME>GParamType</NAME>
typedef GimpPDBArgType GParamType;
</TYPEDEF>
<TYPEDEF>
<NAME>GProcedureType</NAME>
typedef GimpPDBProcType GProcedureType;
</TYPEDEF>
<TYPEDEF>
<NAME>GStatusType</NAME>
typedef GimpPDBStatusType GStatusType;
</TYPEDEF>
<MACRO>
<NAME>PARAM_INT32</NAME>
#define PARAM_INT32 GIMP_PDB_INT32
</MACRO>
<MACRO>
<NAME>PARAM_INT16</NAME>
#define PARAM_INT16 GIMP_PDB_INT16
</MACRO>
<MACRO>
<NAME>PARAM_INT8</NAME>
#define PARAM_INT8 GIMP_PDB_INT8
</MACRO>
<MACRO>
<NAME>PARAM_FLOAT</NAME>
#define PARAM_FLOAT GIMP_PDB_FLOAT
</MACRO>
<MACRO>
<NAME>PARAM_STRING</NAME>
#define PARAM_STRING GIMP_PDB_STRING
</MACRO>
<MACRO>
<NAME>PARAM_INT32ARRAY</NAME>
#define PARAM_INT32ARRAY GIMP_PDB_INT32ARRAY
</MACRO>
<MACRO>
<NAME>PARAM_INT16ARRAY</NAME>
#define PARAM_INT16ARRAY GIMP_PDB_INT16ARRAY
</MACRO>
<MACRO>
<NAME>PARAM_INT8ARRAY</NAME>
#define PARAM_INT8ARRAY GIMP_PDB_INT8ARRAY
</MACRO>
<MACRO>
<NAME>PARAM_FLOATARRAY</NAME>
#define PARAM_FLOATARRAY GIMP_PDB_FLOATARRAY
</MACRO>
<MACRO>
<NAME>PARAM_STRINGARRAY</NAME>
#define PARAM_STRINGARRAY GIMP_PDB_STRINGARRAY
</MACRO>
<MACRO>
<NAME>PARAM_COLOR</NAME>
#define PARAM_COLOR GIMP_PDB_COLOR
</MACRO>
<MACRO>
<NAME>PARAM_REGION</NAME>
#define PARAM_REGION GIMP_PDB_REGION
</MACRO>
<MACRO>
<NAME>PARAM_DISPLAY</NAME>
#define PARAM_DISPLAY GIMP_PDB_DISPLAY
</MACRO>
<MACRO>
<NAME>PARAM_IMAGE</NAME>
#define PARAM_IMAGE GIMP_PDB_IMAGE
</MACRO>
<MACRO>
<NAME>PARAM_LAYER</NAME>
#define PARAM_LAYER GIMP_PDB_LAYER
</MACRO>
<MACRO>
<NAME>PARAM_CHANNEL</NAME>
#define PARAM_CHANNEL GIMP_PDB_CHANNEL
</MACRO>
<MACRO>
<NAME>PARAM_DRAWABLE</NAME>
#define PARAM_DRAWABLE GIMP_PDB_DRAWABLE
</MACRO>
<MACRO>
<NAME>PARAM_SELECTION</NAME>
#define PARAM_SELECTION GIMP_PDB_SELECTION
</MACRO>
<MACRO>
<NAME>PARAM_BOUNDARY</NAME>
#define PARAM_BOUNDARY GIMP_PDB_BOUNDARY
</MACRO>
<MACRO>
<NAME>PARAM_PATH</NAME>
#define PARAM_PATH GIMP_PDB_PATH
</MACRO>
<MACRO>
<NAME>PARAM_PARASITE</NAME>
#define PARAM_PARASITE GIMP_PDB_PARASITE
</MACRO>
<MACRO>
<NAME>PARAM_STATUS</NAME>
#define PARAM_STATUS GIMP_PDB_STATUS
</MACRO>
<MACRO>
<NAME>PARAM_END</NAME>
#define PARAM_END GIMP_PDB_END
</MACRO>
<MACRO>
<NAME>STATUS_EXECUTION_ERROR</NAME>
#define STATUS_EXECUTION_ERROR GIMP_PDB_EXECUTION_ERROR
</MACRO>
<MACRO>
<NAME>STATUS_CALLING_ERROR</NAME>
#define STATUS_CALLING_ERROR GIMP_PDB_CALLING_ERROR
</MACRO>
<MACRO>
<NAME>STATUS_PASS_THROUGH</NAME>
#define STATUS_PASS_THROUGH GIMP_PDB_PASS_THROUGH
</MACRO>
<MACRO>
<NAME>STATUS_SUCCESS</NAME>
#define STATUS_SUCCESS GIMP_PDB_SUCCESS
</MACRO>
<MACRO>
<NAME>STATUS_CANCEL</NAME>
#define STATUS_CANCEL GIMP_PDB_CANCEL
</MACRO>
<MACRO>
<NAME>PROC_INTERNAL</NAME>
#define PROC_INTERNAL GIMP_INTERNAL
</MACRO>
<MACRO>
<NAME>PROC_PLUG_IN</NAME>
#define PROC_PLUG_IN GIMP_PLUGIN
</MACRO>
<MACRO>
<NAME>PROC_EXTENSION</NAME>
#define PROC_EXTENSION GIMP_EXTENSION
</MACRO>
<MACRO>
<NAME>PROC_TEMPORARY</NAME>
#define PROC_TEMPORARY GIMP_TEMPORARY
</MACRO>
<MACRO>
<NAME>ORIENTATION_HORIZONTAL</NAME>
#define ORIENTATION_HORIZONTAL GIMP_HORIZONTAL
</MACRO>
<MACRO>
<NAME>ORIENTATION_VERTICAL</NAME>
#define ORIENTATION_VERTICAL GIMP_VERTICAL
</MACRO>
<MACRO>
<NAME>ORIENTATION_UNKNOWN</NAME>
#define ORIENTATION_UNKNOWN GIMP_UNKNOWN
</MACRO>
<MACRO>
<NAME>FG_IMAGE_FILL</NAME>
#define FG_IMAGE_FILL GIMP_FG_IMAGE_FILL
</MACRO>
<MACRO>
<NAME>BG_IMAGE_FILL</NAME>
#define BG_IMAGE_FILL GIMP_BG_IMAGE_FILL
</MACRO>
<MACRO>
<NAME>WHITE_IMAGE_FILL</NAME>
#define WHITE_IMAGE_FILL GIMP_WHITE_IMAGE_FILL
</MACRO>
<MACRO>
<NAME>TRANS_IMAGE_FILL</NAME>
#define TRANS_IMAGE_FILL GIMP_TRANS_IMAGE_FILL
</MACRO>
<MACRO>
<NAME>NO_IMAGE_FILL</NAME>
#define NO_IMAGE_FILL GIMP_NO_IMAGE_FILL
</MACRO>
<MACRO>
<NAME>RGB</NAME>
#define RGB GIMP_RGB
</MACRO>
<MACRO>
<NAME>GRAY</NAME>
#define GRAY GIMP_GRAY
</MACRO>
<MACRO>
<NAME>INDEXED</NAME>
#define INDEXED GIMP_INDEXED
</MACRO>
<MACRO>
<NAME>RGB_IMAGE</NAME>
#define RGB_IMAGE GIMP_RGB_IMAGE
</MACRO>
<MACRO>
<NAME>RGBA_IMAGE</NAME>
#define RGBA_IMAGE GIMP_RGBA_IMAGE
</MACRO>
<MACRO>
<NAME>GRAY_IMAGE</NAME>
#define GRAY_IMAGE GIMP_GRAY_IMAGE
</MACRO>
<MACRO>
<NAME>GRAYA_IMAGE</NAME>
#define GRAYA_IMAGE GIMP_GRAYA_IMAGE
</MACRO>
<MACRO>
<NAME>INDEXED_IMAGE</NAME>
#define INDEXED_IMAGE GIMP_INDEXED_IMAGE
</MACRO>
<MACRO>
<NAME>INDEXEDA_IMAGE</NAME>
#define INDEXEDA_IMAGE GIMP_INDEXEDA_IMAGE
</MACRO>
<MACRO>
<NAME>NORMAL_MODE</NAME>
#define NORMAL_MODE GIMP_NORMAL_MODE
</MACRO>
<MACRO>
<NAME>DISSOLVE_MODE</NAME>
#define DISSOLVE_MODE GIMP_DISSOLVE_MODE
</MACRO>
<MACRO>
<NAME>BEHIND_MODE</NAME>
#define BEHIND_MODE GIMP_BEHIND_MODE
</MACRO>
<MACRO>
<NAME>MULTIPLY_MODE</NAME>
#define MULTIPLY_MODE GIMP_MULTIPLY_MODE
</MACRO>
<MACRO>
<NAME>SCREEN_MODE</NAME>
#define SCREEN_MODE GIMP_SCREEN_MODE
</MACRO>
<MACRO>
<NAME>OVERLAY_MODE</NAME>
#define OVERLAY_MODE GIMP_OVERLAY_MODE
</MACRO>
<MACRO>
<NAME>DIFFERENCE_MODE</NAME>
#define DIFFERENCE_MODE GIMP_DIFFERENCE_MODE
</MACRO>
<MACRO>
<NAME>ADDITION_MODE</NAME>
#define ADDITION_MODE GIMP_ADDITION_MODE
</MACRO>
<MACRO>
<NAME>SUBTRACT_MODE</NAME>
#define SUBTRACT_MODE GIMP_SUBTRACT_MODE
</MACRO>
<MACRO>
<NAME>DARKEN_ONLY_MODE</NAME>
#define DARKEN_ONLY_MODE GIMP_DARKEN_ONLY_MODE
</MACRO>
<MACRO>
<NAME>LIGHTEN_ONLY_MODE</NAME>
#define LIGHTEN_ONLY_MODE GIMP_LIGHTEN_ONLY_MODE
</MACRO>
<MACRO>
<NAME>HUE_MODE</NAME>
#define HUE_MODE GIMP_HUE_MODE
</MACRO>
<MACRO>
<NAME>SATURATION_MODE</NAME>
#define SATURATION_MODE GIMP_SATURATION_MODE
</MACRO>
<MACRO>
<NAME>COLOR_MODE</NAME>
#define COLOR_MODE GIMP_COLOR_MODE
</MACRO>
<MACRO>
<NAME>VALUE_MODE</NAME>
#define VALUE_MODE GIMP_VALUE_MODE
</MACRO>
<MACRO>
<NAME>DIVIDE_MODE</NAME>
#define DIVIDE_MODE GIMP_DIVIDE_MODE
</MACRO>
<MACRO>
<NAME>RUN_INTERACTIVE</NAME>
#define RUN_INTERACTIVE GIMP_RUN_INTERACTIVE
</MACRO>
<MACRO>
<NAME>RUN_NONINTERACTIVE</NAME>
#define RUN_NONINTERACTIVE GIMP_RUN_NONINTERACTIVE
</MACRO>
<MACRO>
<NAME>RUN_WITH_LAST_VALS</NAME>
#define RUN_WITH_LAST_VALS GIMP_RUN_WITH_LAST_VALS
</MACRO>
<FUNCTION>
<NAME>gimp_directory</NAME>
<RETURNS>gchar  *</RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_personal_rc_file</NAME>
<RETURNS>gchar  *</RETURNS>
gchar     *basename
</FUNCTION>
<FUNCTION>
<NAME>gimp_data_directory</NAME>
<RETURNS>gchar  *</RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_sysconf_directory</NAME>
<RETURNS>gchar  *</RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_gtkrc</NAME>
<RETURNS>gchar  *</RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_parse</NAME>
<RETURNS>GList  *</RETURNS>
gchar     *path,gint       max_paths,gboolean   check,GList    **check_failed
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_to_str</NAME>
<RETURNS>gchar  *</RETURNS>
GList     *path
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_free</NAME>
<RETURNS>void  </RETURNS>
GList     *path
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_get_user_writable_dir</NAME>
<RETURNS>gchar  *</RETURNS>
GList     *path
</FUNCTION>
<ENUM>
<NAME>GimpExportCapabilities</NAME>
typedef enum
{
  GIMP_EXPORT_CAN_HANDLE_RGB                 = 1 << 0,
  GIMP_EXPORT_CAN_HANDLE_GRAY                = 1 << 1,
  GIMP_EXPORT_CAN_HANDLE_INDEXED             = 1 << 2,
  GIMP_EXPORT_CAN_HANDLE_ALPHA               = 1 << 3,
  GIMP_EXPORT_CAN_HANDLE_LAYERS              = 1 << 4,
  GIMP_EXPORT_CAN_HANDLE_LAYERS_AS_ANIMATION = 1 << 5,
  GIMP_EXPORT_NEEDS_ALPHA                    = 1 << 6
} GimpExportCapabilities;
</ENUM>
<ENUM>
<NAME>GimpExportReturnType</NAME>
typedef enum
{
  GIMP_EXPORT_CANCEL,
  GIMP_EXPORT_IGNORE,
  GIMP_EXPORT_EXPORT
} GimpExportReturnType;
</ENUM>
<FUNCTION>
<NAME>gimp_export_image</NAME>
<RETURNS>GimpExportReturnType  </RETURNS>
gint32                 *image_ID,gint32                 *drawable_ID,const gchar            *format_name,GimpExportCapabilities  capabilities
</FUNCTION>
<FUNCTION>
<NAME>gimp_file_load</NAME>
<RETURNS>gint32  </RETURNS>
GimpRunModeType  run_mode,gchar           *filename,gchar           *raw_filename
</FUNCTION>
<FUNCTION>
<NAME>gimp_file_save</NAME>
<RETURNS>gboolean  </RETURNS>
GimpRunModeType  run_mode,gint32           image_ID,gint32           drawable_ID,gchar           *filename,gchar           *raw_filename
</FUNCTION>
<FUNCTION>
<NAME>gimp_temp_name</NAME>
<RETURNS>gchar *</RETURNS>
gchar           *extension
</FUNCTION>
<FUNCTION>
<NAME>gimp_register_magic_load_handler</NAME>
<RETURNS>gboolean  </RETURNS>
gchar           *procedure_name,gchar           *extensions,gchar           *prefixes,gchar           *magics
</FUNCTION>
<FUNCTION>
<NAME>gimp_register_load_handler</NAME>
<RETURNS>gboolean  </RETURNS>
gchar           *procedure_name,gchar           *extensions,gchar           *prefixes
</FUNCTION>
<FUNCTION>
<NAME>gimp_register_save_handler</NAME>
<RETURNS>gboolean  </RETURNS>
gchar           *procedure_name,gchar           *extensions,gchar           *prefixes
</FUNCTION>
<MACRO>
<NAME>GIMP_TYPE_FILE_SELECTION</NAME>
#define GIMP_TYPE_FILE_SELECTION            (gimp_file_selection_get_type ())
</MACRO>
<MACRO>
<NAME>GIMP_FILE_SELECTION</NAME>
#define GIMP_FILE_SELECTION(obj)            (GTK_CHECK_CAST ((obj), GIMP_TYPE_FILE_SELECTION, GimpFileSelection))
</MACRO>
<MACRO>
<NAME>GIMP_FILE_SELECTION_CLASS</NAME>
#define GIMP_FILE_SELECTION_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_FILE_SELECTION, GimpFileSelectionClass))
</MACRO>
<MACRO>
<NAME>GIMP_IS_FILE_SELECTION</NAME>
#define GIMP_IS_FILE_SELECTION(obj)         (GTK_CHECK_TYPE (obj, GIMP_TYPE_FILE_SELECTION))
</MACRO>
<MACRO>
<NAME>GIMP_IS_FILE_SELECTION_CLASS</NAME>
#define GIMP_IS_FILE_SELECTION_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_FILE_SELECTION))
</MACRO>
<STRUCT>
<NAME>GimpFileSelection</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpFileSelectionClass</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpFileSelection</NAME>
struct GimpFileSelection
{
  GtkHBox    hbox;

  GtkWidget *file_exists;
  GtkWidget *entry;
  GtkWidget *browse_button;

  GtkWidget *file_selection;

  GdkPixmap *yes_pixmap;
  GdkBitmap *yes_mask;
  GdkPixmap *no_pixmap;
  GdkBitmap *no_mask;

  gchar     *title;
  gboolean   dir_only;
  gboolean   check_valid;
};
</STRUCT>
<FUNCTION>
<NAME>gimp_file_selection_get_type</NAME>
<RETURNS>GtkType  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_file_selection_new</NAME>
<RETURNS>GtkWidget *</RETURNS>
const gchar        *title,const gchar        *filename,gboolean            dir_only,gboolean            check_valid
</FUNCTION>
<FUNCTION>
<NAME>gimp_file_selection_get_filename</NAME>
<RETURNS>gchar *</RETURNS>
GimpFileSelection *gfs
</FUNCTION>
<FUNCTION>
<NAME>gimp_file_selection_set_filename</NAME>
<RETURNS>void  </RETURNS>
GimpFileSelection *gfs,const gchar       *filename
</FUNCTION>
<FUNCTION>
<NAME>gimp_floating_sel_remove</NAME>
<RETURNS>gboolean  </RETURNS>
gint32   floating_sel_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_floating_sel_anchor</NAME>
<RETURNS>gboolean  </RETURNS>
gint32   floating_sel_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_floating_sel_to_layer</NAME>
<RETURNS>gboolean  </RETURNS>
gint32   floating_sel_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_floating_sel_attach</NAME>
<RETURNS>gboolean  </RETURNS>
gint32   layer_ID,gint32   drawable_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_floating_sel_rigor</NAME>
<RETURNS>gboolean  </RETURNS>
gint32   floating_sel_ID,gboolean undo
</FUNCTION>
<FUNCTION>
<NAME>gimp_floating_sel_relax</NAME>
<RETURNS>gboolean  </RETURNS>
gint32   floating_sel_ID,gboolean undo
</FUNCTION>
<FUNCTION>
<NAME>gimp_gimprc_query</NAME>
<RETURNS>gchar *</RETURNS>
gchar   *token
</FUNCTION>
<FUNCTION>
<NAME>gimp_gimprc_set</NAME>
<RETURNS>gboolean  </RETURNS>
gchar   *token,gchar   *value
</FUNCTION>
<FUNCTION>
<NAME>gimp_get_monitor_resolution</NAME>
<RETURNS>gboolean  </RETURNS>
gdouble *xres,gdouble *yres
</FUNCTION>
<FUNCTION>
<NAME>gimp_gradients_get_list</NAME>
<RETURNS>gchar **</RETURNS>
gint    *num_gradients
</FUNCTION>
<FUNCTION>
<NAME>gimp_gradients_get_active</NAME>
<RETURNS>gchar *</RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_gradients_set_active</NAME>
<RETURNS>gboolean  </RETURNS>
gchar   *name
</FUNCTION>
<FUNCTION>
<NAME>gimp_gradients_sample_uniform</NAME>
<RETURNS>gdouble *</RETURNS>
gint     num_samples
</FUNCTION>
<FUNCTION>
<NAME>gimp_gradients_sample_custom</NAME>
<RETURNS>gdouble *</RETURNS>
gint     num_samples,gdouble *positions
</FUNCTION>
<FUNCTION>
<NAME>gimp_gradients_get_gradient_data</NAME>
<RETURNS>gchar  *</RETURNS>
gchar    *name,gint     *width,gint      sample_size,gdouble **grad_data
</FUNCTION>
<FUNCTION>
<NAME>gimp_gradients_popup</NAME>
<RETURNS>gboolean  </RETURNS>
gchar    *gradients_callback,gchar    *popup_title,gchar    *initial_gradient,gint      sample_size
</FUNCTION>
<FUNCTION>
<NAME>gimp_gradients_close_popup</NAME>
<RETURNS>gboolean  </RETURNS>
gchar    *gradients_callback
</FUNCTION>
<FUNCTION>
<NAME>gimp_gradients_set_popup</NAME>
<RETURNS>gboolean  </RETURNS>
gchar    *gradients_callback,gchar    *gradient_name
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_add_hguide</NAME>
<RETURNS>gint32  </RETURNS>
gint32 image_ID,gint   yposition
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_add_vguide</NAME>
<RETURNS>gint32  </RETURNS>
gint32 image_ID,gint   xposition
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_delete_guide</NAME>
<RETURNS>gboolean  </RETURNS>
gint32 image_ID,gint32 guide_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_find_next_guide</NAME>
<RETURNS>gint32  </RETURNS>
gint32 image_ID,gint32 guide_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_guide_orientation</NAME>
<RETURNS>GimpOrientationType  </RETURNS>
gint32 image_ID,gint32 guide_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_guide_position</NAME>
<RETURNS>gint  </RETURNS>
gint32 image_ID,gint32 guide_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_help</NAME>
<RETURNS>gboolean  </RETURNS>
gchar *prog_name,gchar *help_page
</FUNCTION>
<USER_FUNCTION>
<NAME>GimpHelpFunc</NAME>
<RETURNS>void </RETURNS>
const gchar *help_data
</USER_FUNCTION>
<FUNCTION>
<NAME>gimp_help_init</NAME>
<RETURNS>void  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_help_free</NAME>
<RETURNS>void  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_help_enable_tooltips</NAME>
<RETURNS>void  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_help_disable_tooltips</NAME>
<RETURNS>void  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_standard_help_func</NAME>
<RETURNS>void  </RETURNS>
const gchar  *help_data
</FUNCTION>
<FUNCTION>
<NAME>gimp_help_connect_help_accel</NAME>
<RETURNS>void  </RETURNS>
GtkWidget    *widget,GimpHelpFunc  help_func,const gchar  *help_data
</FUNCTION>
<FUNCTION>
<NAME>gimp_help_set_help_data</NAME>
<RETURNS>void  </RETURNS>
GtkWidget    *widget,const gchar  *tooltip,const gchar  *help_data
</FUNCTION>
<FUNCTION>
<NAME>gimp_context_help</NAME>
<RETURNS>void  </RETURNS>
void
</FUNCTION>
<MACRO>
<NAME>gimp_image_convert_rgb</NAME>
#define gimp_image_convert_rgb        gimp_convert_rgb
</MACRO>
<MACRO>
<NAME>gimp_image_convert_grayscale</NAME>
#define gimp_image_convert_grayscale  gimp_convert_grayscale
</MACRO>
<MACRO>
<NAME>gimp_image_convert_indexed</NAME>
#define gimp_image_convert_indexed    gimp_convert_indexed
</MACRO>
<MACRO>
<NAME>gimp_image_duplicate</NAME>
#define gimp_image_duplicate          gimp_channel_ops_duplicate
</MACRO>
<FUNCTION>
<NAME>gimp_image_get_cmap</NAME>
<RETURNS>guchar    *</RETURNS>
gint32  image_ID,gint   *num_colors
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_set_cmap</NAME>
<RETURNS>gboolean  </RETURNS>
gint32  image_ID,guchar *cmap,gint    num_colors
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_thumbnail_data</NAME>
<RETURNS>guchar    *</RETURNS>
gint32  image_ID,gint   *width,gint   *height,gint   *bpp
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_list</NAME>
<RETURNS>gint *</RETURNS>
gint               *num_images
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_new</NAME>
<RETURNS>gint32  </RETURNS>
gint                width,gint                height,GimpImageBaseType   type
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_resize</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint                new_width,gint                new_height,gint                offx,gint                offy
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_scale</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint                new_width,gint                new_height
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_delete</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_free_shadow</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_layers</NAME>
<RETURNS>gint *</RETURNS>
gint32              image_ID,gint               *num_layers
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_channels</NAME>
<RETURNS>gint *</RETURNS>
gint32              image_ID,gint               *num_channels
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_unset_active_channel</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_pick_correlate_layer</NAME>
<RETURNS>gint32  </RETURNS>
gint32              image_ID,gint                x,gint                y
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_raise_layer</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint32              layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_lower_layer</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint32              layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_raise_layer_to_top</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint32              layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_lower_layer_to_bottom</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint32              layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_merge_visible_layers</NAME>
<RETURNS>gint32  </RETURNS>
gint32              image_ID,GimpMergeType       merge_type
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_merge_down</NAME>
<RETURNS>gint32  </RETURNS>
gint32              image_ID,gint32              merge_layer_ID,GimpMergeType       merge_type
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_flatten</NAME>
<RETURNS>gint32  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_add_layer</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint32              layer_ID,gint                position
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_remove_layer</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint32              layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_add_layer_mask</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint32              layer_ID,gint32              mask_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_remove_layer_mask</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint32              layer_ID,GimpMaskApplyMode   mode
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_raise_channel</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint32              channel_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_lower_channel</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint32              layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_add_channel</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint32              channel_ID,gint                position
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_remove_channel</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint32              channel_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_active_drawable</NAME>
<RETURNS>gint32  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_base_type</NAME>
<RETURNS>GimpImageBaseType  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_undo_is_enabled</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_undo_enable</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_undo_disable</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_undo_freeze</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_undo_thaw</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_clean_all</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_floating_selection</NAME>
<RETURNS>gint32  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_floating_sel_attached_to</NAME>
<RETURNS>gint32  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_set_tattoo_state</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint                tattoo
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_tattoo_state</NAME>
<RETURNS>gint  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_width</NAME>
<RETURNS>gint  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_height</NAME>
<RETURNS>gint  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_active_layer</NAME>
<RETURNS>gint32  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_set_active_layer</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint32              active_layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_active_channel</NAME>
<RETURNS>gint32  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_set_active_channel</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gint32              active_channel_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_selection</NAME>
<RETURNS>gint32  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_component_active</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,GimpChannelType     component
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_set_component_active</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,GimpChannelType     component,gboolean            active
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_component_visible</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,GimpChannelType     component
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_set_component_visible</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,GimpChannelType     component,gboolean            visible
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_filename</NAME>
<RETURNS>gchar *</RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_set_filename</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gchar              *filename
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_resolution</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gdouble            *xresolution,gdouble            *yresolution
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_set_resolution</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,gdouble             xresolution,gdouble             yresolution
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_unit</NAME>
<RETURNS>GimpUnit  </RETURNS>
gint32              image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_set_unit</NAME>
<RETURNS>gboolean  </RETURNS>
gint32              image_ID,GimpUnit            unit
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_layer_by_tattoo</NAME>
<RETURNS>gint32  </RETURNS>
gint32              image_ID,gint                tattoo
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_get_channel_by_tattoo</NAME>
<RETURNS>gint32  </RETURNS>
gint32              image_ID,gint                tattoo
</FUNCTION>
<MACRO>
<NAME>gimp_layer_get_mask_id</NAME>
#define gimp_layer_get_mask_id               gimp_layer_mask
</MACRO>
<MACRO>
<NAME>gimp_layer_get_image_id</NAME>
#define gimp_layer_get_image_id              gimp_drawable_image
</MACRO>
<MACRO>
<NAME>gimp_layer_is_floating_selection</NAME>
#define gimp_layer_is_floating_selection     gimp_layer_is_floating_sel
</MACRO>
<MACRO>
<NAME>gimp_layer_get_preserve_transparency</NAME>
#define gimp_layer_get_preserve_transparency gimp_layer_get_preserve_trans
</MACRO>
<MACRO>
<NAME>gimp_layer_set_preserve_transparency</NAME>
#define gimp_layer_set_preserve_transparency gimp_layer_set_preserve_trans
</MACRO>
<FUNCTION>
<NAME>gimp_layer_new</NAME>
<RETURNS>gint32  </RETURNS>
gint32                image_ID,gchar                *name,gint                  width,gint                  height,GimpImageType         type,gdouble               opacity,GimpLayerModeEffects  mode
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_copy</NAME>
<RETURNS>gint32  </RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_create_mask</NAME>
<RETURNS>gint32  </RETURNS>
gint32                layer_ID,GimpAddMaskType       mask_type
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_scale</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID,gint                  new_width,gint                  new_height,gboolean              local_origin
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_resize</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID,gint                  new_width,gint                  new_height,gint                  offx,gint                  offy
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_delete</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_translate</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID,gint                  offx,gint                  offy
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_add_alpha</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_set_offsets</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID,gint                  offx,gint                  offy
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_mask</NAME>
<RETURNS>gint32  </RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_is_floating_sel</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_get_name</NAME>
<RETURNS>gchar *</RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_set_name</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID,gchar                *name
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_get_visible</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_set_visible</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID,gboolean              visible
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_get_preserve_trans</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_set_preserve_trans</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID,gboolean              preserve_trans
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_get_apply_mask</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_set_apply_mask</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID,gboolean              apply_mask
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_get_show_mask</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_set_show_mask</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID,gboolean              show_mask
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_get_edit_mask</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_set_edit_mask</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID,gboolean              edit_mask
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_get_opacity</NAME>
<RETURNS>gdouble  </RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_set_opacity</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID,gdouble               opacity
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_get_mode</NAME>
<RETURNS>GimpLayerModeEffects  </RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_set_mode</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID,GimpLayerModeEffects  mode
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_get_linked</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_set_linked</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID,gboolean              linked
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_get_tattoo</NAME>
<RETURNS>gint  </RETURNS>
gint32                layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_set_tattoo</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                layer_ID,gint                  tattoo
</FUNCTION>
<MACRO>
<NAME>GIMP_MIN_IMAGE_SIZE</NAME>
#define GIMP_MIN_IMAGE_SIZE  1
</MACRO>
<MACRO>
<NAME>GIMP_MAX_IMAGE_SIZE</NAME>
#define GIMP_MAX_IMAGE_SIZE  16777216  /*  2^24  */
</MACRO>
<MACRO>
<NAME>GIMP_MIN_RESOLUTION</NAME>
#define GIMP_MIN_RESOLUTION  5e-3      /*  shouldn't display as 0.000  */
</MACRO>
<MACRO>
<NAME>GIMP_MAX_RESOLUTION</NAME>
#define GIMP_MAX_RESOLUTION  65536.0
</MACRO>
<MACRO>
<NAME>GIMP_CHECK_SIZE</NAME>
#define GIMP_CHECK_SIZE    8
</MACRO>
<MACRO>
<NAME>GIMP_CHECK_SIZE_SM</NAME>
#define GIMP_CHECK_SIZE_SM 4
</MACRO>
<MACRO>
<NAME>GIMP_CHECK_DARK</NAME>
#define GIMP_CHECK_DARK   0.4          /*  corresponds to GRAY_CHECKS as  */
</MACRO>
<MACRO>
<NAME>GIMP_CHECK_LIGHT</NAME>
#define GIMP_CHECK_LIGHT  0.6          /*  defined in app/image_render.c  */
</MACRO>
<MACRO>
<NAME>G_PI</NAME>
#define G_PI    3.14159265358979323846
</MACRO>
<MACRO>
<NAME>G_PI_2</NAME>
#define G_PI_2  1.57079632679489661923
</MACRO>
<MACRO>
<NAME>G_PI_4</NAME>
#define G_PI_4  0.78539816339744830962
</MACRO>
<MACRO>
<NAME>G_SQRT2</NAME>
#define G_SQRT2 1.4142135623730951
</MACRO>
<MACRO>
<NAME>G_MAXRAND</NAME>
#define G_MAXRAND G_MAXINT
</MACRO>
<MACRO>
<NAME>G_MAXRAND</NAME>
#define G_MAXRAND RAND_MAX
</MACRO>
<MACRO>
<NAME>RINT</NAME>
#define RINT(x) rint(x)
</MACRO>
<MACRO>
<NAME>RINT</NAME>
#define RINT(x) floor ((x) + 0.5)
</MACRO>
<MACRO>
<NAME>ROUND</NAME>
#define ROUND(x) ((int) ((x) + 0.5))
</MACRO>
<MACRO>
<NAME>SQR</NAME>
#define SQR(x) ((x) * (x))
</MACRO>
<MACRO>
<NAME>MAX255</NAME>
#define MAX255(a)  ((a) | (((a) & 256) - (((a) & 256) >> 8)))
</MACRO>
<MACRO>
<NAME>CLAMP0255</NAME>
#define CLAMP0255(a)  CLAMP(a,0,255)
</MACRO>
<MACRO>
<NAME>gimp_deg_to_rad</NAME>
#define gimp_deg_to_rad(angle) ((angle) * (2.0 * G_PI) / 360.0)
</MACRO>
<MACRO>
<NAME>gimp_rad_to_deg</NAME>
#define gimp_rad_to_deg(angle) ((angle) * 360.0 / (2.0 * G_PI))
</MACRO>
<MACRO>
<NAME>FINITE</NAME>
#define FINITE(x) finite(x)
</MACRO>
<MACRO>
<NAME>FINITE</NAME>
#define FINITE(x) isfinite(x)
</MACRO>
<MACRO>
<NAME>FINITE</NAME>
#define FINITE(x) _finite(x)
</MACRO>
<MACRO>
<NAME>FINITE</NAME>
#define FINITE(x) isfinite(x)
</MACRO>
<TYPEDEF>
<NAME>GimpMatrix3[3][3]</NAME>
typedef gdouble GimpMatrix3[3][3];
</TYPEDEF>
<TYPEDEF>
<NAME>GimpMatrix4[4][4]</NAME>
typedef gdouble GimpMatrix4[4][4];
</TYPEDEF>
<FUNCTION>
<NAME>gimp_matrix3_transform_point</NAME>
<RETURNS>void  </RETURNS>
GimpMatrix3  matrix,gdouble      x,gdouble      y,gdouble     *newx,gdouble     *newy
</FUNCTION>
<FUNCTION>
<NAME>gimp_matrix3_mult</NAME>
<RETURNS>void  </RETURNS>
GimpMatrix3  matrix1,GimpMatrix3  matrix2
</FUNCTION>
<FUNCTION>
<NAME>gimp_matrix3_identity</NAME>
<RETURNS>void  </RETURNS>
GimpMatrix3  matrix
</FUNCTION>
<FUNCTION>
<NAME>gimp_matrix3_translate</NAME>
<RETURNS>void  </RETURNS>
GimpMatrix3  matrix,gdouble      x,gdouble      y
</FUNCTION>
<FUNCTION>
<NAME>gimp_matrix3_scale</NAME>
<RETURNS>void  </RETURNS>
GimpMatrix3  matrix,gdouble      x,gdouble      y
</FUNCTION>
<FUNCTION>
<NAME>gimp_matrix3_rotate</NAME>
<RETURNS>void  </RETURNS>
GimpMatrix3  matrix,gdouble      theta
</FUNCTION>
<FUNCTION>
<NAME>gimp_matrix3_xshear</NAME>
<RETURNS>void  </RETURNS>
GimpMatrix3  matrix,gdouble      amount
</FUNCTION>
<FUNCTION>
<NAME>gimp_matrix3_yshear</NAME>
<RETURNS>void  </RETURNS>
GimpMatrix3  matrix,gdouble      amount
</FUNCTION>
<FUNCTION>
<NAME>gimp_matrix3_determinant</NAME>
<RETURNS>gdouble  </RETURNS>
GimpMatrix3  matrix
</FUNCTION>
<FUNCTION>
<NAME>gimp_matrix3_invert</NAME>
<RETURNS>void  </RETURNS>
GimpMatrix3  matrix,GimpMatrix3  matrix_inv
</FUNCTION>
<FUNCTION>
<NAME>gimp_matrix3_duplicate</NAME>
<RETURNS>void  </RETURNS>
GimpMatrix3  src,GimpMatrix3  target
</FUNCTION>
<FUNCTION>
<NAME>gimp_matrix3_is_diagonal</NAME>
<RETURNS>gboolean  </RETURNS>
GimpMatrix3  matrix
</FUNCTION>
<FUNCTION>
<NAME>gimp_matrix3_is_identity</NAME>
<RETURNS>gboolean  </RETURNS>
GimpMatrix3  matrix
</FUNCTION>
<FUNCTION>
<NAME>gimp_matrix3_is_simple</NAME>
<RETURNS>gboolean  </RETURNS>
GimpMatrix3  matrix
</FUNCTION>
<FUNCTION>
<NAME>gimp_matrix4_to_deg</NAME>
<RETURNS>void  </RETURNS>
GimpMatrix4  matrix,gdouble     *a,gdouble     *b,gdouble     *c
</FUNCTION>
<USER_FUNCTION>
<NAME>GimpConstraintFunc</NAME>
<RETURNS>gint </RETURNS>
gint32    image_id,
				       gint32    drawable_id,
				       gpointer  data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpMenuCallback</NAME>
<RETURNS>void </RETURNS>
gint32    id,
				       gpointer  data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpRunBrushCallback</NAME>
<RETURNS>void </RETURNS>
gchar    *name,
					  gdouble   opacity,
					  gint      spacing,
					  gint      paint_mode,
					  gint      width,
					  gint      height,
					  gchar    *mask_data,
					  gboolean  dialog_closing,
					  gpointer  user_data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpRunPatternCallback</NAME>
<RETURNS>void </RETURNS>
gchar    *name,
					  gint      width,
					  gint      height,
					  gint      bpp,
					  gchar    *mask_data,
					  gboolean  dialog_closing,
					  gpointer  user_data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpRunGradientCallback</NAME>
<RETURNS>void </RETURNS>
gchar    *name,
					  gint      width,
					  gdouble  *grad_data,
					  gboolean  dialog_closing,
					  gpointer  user_data
</USER_FUNCTION>
<FUNCTION>
<NAME>gimp_image_menu_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
GimpConstraintFunc constraint,GimpMenuCallback   callback,gpointer           data,gint32             active_image
</FUNCTION>
<FUNCTION>
<NAME>gimp_layer_menu_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
GimpConstraintFunc constraint,GimpMenuCallback   callback,gpointer           data,gint32             active_layer
</FUNCTION>
<FUNCTION>
<NAME>gimp_channel_menu_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
GimpConstraintFunc constraint,GimpMenuCallback   callback,gpointer           data,gint32             active_channel
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_menu_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
GimpConstraintFunc constraint,GimpMenuCallback   callback,gpointer           data,gint32             active_drawable
</FUNCTION>
<FUNCTION>
<NAME>gimp_interactive_selection_brush</NAME>
<RETURNS>gchar     *</RETURNS>
gchar     *dialogname,gchar     *brush_name,gdouble    opacity,gint       spacing,gint       paint_mode,GimpRunBrushCallback  callback,gpointer   data
</FUNCTION>
<FUNCTION>
<NAME>gimp_brush_select_widget</NAME>
<RETURNS>GtkWidget  *</RETURNS>
gchar     *dname,gchar     *ibrush,gdouble    opacity,gint       spacing,gint       paint_mode,GimpRunBrushCallback  cback,gpointer   data
</FUNCTION>
<FUNCTION>
<NAME>gimp_brush_select_widget_set_popup</NAME>
<RETURNS>void  </RETURNS>
GtkWidget *widget,gchar     *pname,gdouble    opacity,gint       spacing,gint       paint_mode
</FUNCTION>
<FUNCTION>
<NAME>gimp_brush_select_widget_close_popup</NAME>
<RETURNS>void  </RETURNS>
GtkWidget *widget
</FUNCTION>
<FUNCTION>
<NAME>gimp_interactive_selection_pattern</NAME>
<RETURNS>gchar    *</RETURNS>
gchar     *dialogtitle,gchar     *pattern_name,GimpRunPatternCallback  callback,gpointer   data
</FUNCTION>
<FUNCTION>
<NAME>gimp_pattern_select_widget</NAME>
<RETURNS>GtkWidget  *</RETURNS>
gchar     *dname,gchar     *ipattern,GimpRunPatternCallback  cback,gpointer    data
</FUNCTION>
<FUNCTION>
<NAME>gimp_pattern_select_widget_close_popup</NAME>
<RETURNS>void  </RETURNS>
GtkWidget *widget
</FUNCTION>
<FUNCTION>
<NAME>gimp_pattern_select_widget_set_popup</NAME>
<RETURNS>void  </RETURNS>
GtkWidget *widget,gchar     *pname
</FUNCTION>
<FUNCTION>
<NAME>gimp_interactive_selection_gradient</NAME>
<RETURNS>gchar    *</RETURNS>
gchar      *dialogtitle,gchar      *gradient_name,gint        sample_sz,GimpRunGradientCallback  callback,gpointer    data
</FUNCTION>
<FUNCTION>
<NAME>gimp_gradient_select_widget</NAME>
<RETURNS>GtkWidget  *</RETURNS>
gchar      *gname,gchar      *igradient,GimpRunGradientCallback  cback,gpointer    data
</FUNCTION>
<FUNCTION>
<NAME>gimp_gradient_select_widget_close_popup</NAME>
<RETURNS>void  </RETURNS>
GtkWidget  *widget
</FUNCTION>
<FUNCTION>
<NAME>gimp_gradient_select_widget_set_popup</NAME>
<RETURNS>void  </RETURNS>
GtkWidget  *widget,gchar      *gname
</FUNCTION>
<FUNCTION>
<NAME>gimp_message</NAME>
<RETURNS>gboolean  </RETURNS>
gchar                  *message
</FUNCTION>
<FUNCTION>
<NAME>gimp_message_get_handler</NAME>
<RETURNS>GimpMessageHandlerType  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_message_set_handler</NAME>
<RETURNS>gboolean  </RETURNS>
GimpMessageHandlerType  handler
</FUNCTION>
<FUNCTION>
<NAME>gimp_version</NAME>
<RETURNS>gchar *</RETURNS>
void
</FUNCTION>
<ENUM>
<NAME>GimpModuleStatus</NAME>
typedef enum
{
  GIMP_MODULE_OK,
  GIMP_MODULE_UNLOAD
} GimpModuleStatus;
</ENUM>
<STRUCT>
<NAME>GimpModuleInfo</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpModuleInfo</NAME>
struct GimpModuleInfo
{
  gpointer     shutdown_data;

  const gchar *purpose;
  const gchar *author;
  const gchar *version;
  const gchar *copyright;
  const gchar *date;
};
</STRUCT>
<USER_FUNCTION>
<NAME>GimpModuleInitFunc</NAME>
<RETURNS>GimpModuleStatus </RETURNS>
GimpModuleInfo **module_info
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpModuleCompletedCB</NAME>
<RETURNS>void </RETURNS>
gpointer               completed_data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpModuleUnloadFunc</NAME>
<RETURNS>void </RETURNS>
gpointer               shutdown_data,
					GimpModuleCompletedCB  completed_cb,
					gpointer               completed_data
</USER_FUNCTION>
<FUNCTION>
<NAME>gimp_palette_get_foreground</NAME>
<RETURNS>gboolean  </RETURNS>
guchar *red,guchar *green,guchar *blue
</FUNCTION>
<FUNCTION>
<NAME>gimp_palette_get_background</NAME>
<RETURNS>gboolean  </RETURNS>
guchar *red,guchar *green,guchar *blue
</FUNCTION>
<FUNCTION>
<NAME>gimp_palette_set_foreground</NAME>
<RETURNS>gboolean  </RETURNS>
guchar  red,guchar  green,guchar  blue
</FUNCTION>
<FUNCTION>
<NAME>gimp_palette_set_background</NAME>
<RETURNS>gboolean  </RETURNS>
guchar  red,guchar  green,guchar  blue
</FUNCTION>
<FUNCTION>
<NAME>gimp_palette_set_default_colors</NAME>
<RETURNS>gboolean  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_palette_swap_colors</NAME>
<RETURNS>gboolean  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_palette_refresh</NAME>
<RETURNS>gboolean  </RETURNS>
void
</FUNCTION>
<MACRO>
<NAME>GIMP_PARASITE_PERSISTENT</NAME>
#define GIMP_PARASITE_PERSISTENT 1
</MACRO>
<MACRO>
<NAME>GIMP_PARASITE_UNDOABLE</NAME>
#define GIMP_PARASITE_UNDOABLE   2
</MACRO>
<MACRO>
<NAME>GIMP_PARASITE_ATTACH_PARENT</NAME>
#define GIMP_PARASITE_ATTACH_PARENT     (0x80 << 8)
</MACRO>
<MACRO>
<NAME>GIMP_PARASITE_PARENT_PERSISTENT</NAME>
#define GIMP_PARASITE_PARENT_PERSISTENT (GIMP_PARASITE_PERSISTENT << 8)
</MACRO>
<MACRO>
<NAME>GIMP_PARASITE_PARENT_UNDOABLE</NAME>
#define GIMP_PARASITE_PARENT_UNDOABLE   (GIMP_PARASITE_UNDOABLE << 8)
</MACRO>
<MACRO>
<NAME>GIMP_PARASITE_ATTACH_GRANDPARENT</NAME>
#define GIMP_PARASITE_ATTACH_GRANDPARENT     (0x80 << 16)
</MACRO>
<MACRO>
<NAME>GIMP_PARASITE_GRANDPARENT_PERSISTENT</NAME>
#define GIMP_PARASITE_GRANDPARENT_PERSISTENT (GIMP_PARASITE_PERSISTENT << 16)
</MACRO>
<MACRO>
<NAME>GIMP_PARASITE_GRANDPARENT_UNDOABLE</NAME>
#define GIMP_PARASITE_GRANDPARENT_UNDOABLE   (GIMP_PARASITE_UNDOABLE << 16)
</MACRO>
<STRUCT>
<NAME>GimpParasite</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpParasite</NAME>
struct GimpParasite
{
  gchar    *name;   /* The name of the parasite. USE A UNIQUE PREFIX! */
  guint32   flags;  /* save Parasite in XCF file, etc.                */
  guint32   size;   /* amount of data                                 */
  gpointer  data;   /* a pointer to the data.  plugin is              *
		     * responsible for tracking byte order            */
};
</STRUCT>
<FUNCTION>
<NAME>gimp_parasite_new</NAME>
<RETURNS>GimpParasite  *</RETURNS>
const gchar        *name,guint32             flags,guint32             size,const gpointer      data
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_free</NAME>
<RETURNS>void  </RETURNS>
GimpParasite       *parasite
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_copy</NAME>
<RETURNS>GimpParasite  *</RETURNS>
const GimpParasite *parasite
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_compare</NAME>
<RETURNS>gboolean  </RETURNS>
const GimpParasite *a,const GimpParasite *b
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_is_type</NAME>
<RETURNS>gboolean  </RETURNS>
const GimpParasite *parasite,const gchar        *name
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_is_persistent</NAME>
<RETURNS>gboolean  </RETURNS>
const GimpParasite *parasite
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_is_undoable</NAME>
<RETURNS>gboolean  </RETURNS>
const GimpParasite *parasite
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_has_flag</NAME>
<RETURNS>gboolean  </RETURNS>
const GimpParasite *parasite,gulong              flag
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_flags</NAME>
<RETURNS>gulong  </RETURNS>
const GimpParasite *parasite
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_name</NAME>
<RETURNS>const gchar   *</RETURNS>
const GimpParasite *parasite
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_data</NAME>
<RETURNS>gpointer  </RETURNS>
const GimpParasite *parasite
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_data_size</NAME>
<RETURNS>glong  </RETURNS>
const GimpParasite *parasite
</FUNCTION>
<FUNCTION>
<NAME>gimp_attach_new_parasite</NAME>
<RETURNS>void  </RETURNS>
const gchar        *name,gint                flags,gint                size,const gpointer      data
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_attach_new_parasite</NAME>
<RETURNS>void  </RETURNS>
gint32              drawable_ID,const gchar        *name,gint                flags,gint                size,const gpointer      data
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_attach_new_parasite</NAME>
<RETURNS>void  </RETURNS>
gint32              image_ID,const gchar        *name,gint                flags,gint                size,const gpointer      data
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_find</NAME>
<RETURNS>GimpParasite *</RETURNS>
gchar          *name
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_attach</NAME>
<RETURNS>gboolean  </RETURNS>
GimpParasite   *parasite
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_detach</NAME>
<RETURNS>gboolean  </RETURNS>
gchar          *name
</FUNCTION>
<FUNCTION>
<NAME>gimp_parasite_list</NAME>
<RETURNS>gboolean  </RETURNS>
gint           *num_parasites,gchar        ***parasites
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_parasite_find</NAME>
<RETURNS>GimpParasite *</RETURNS>
gint32          drawable_ID,gchar          *name
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_parasite_attach</NAME>
<RETURNS>gboolean  </RETURNS>
gint32          drawable_ID,GimpParasite   *parasite
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_parasite_detach</NAME>
<RETURNS>gboolean  </RETURNS>
gint32          drawable_ID,gchar          *name
</FUNCTION>
<FUNCTION>
<NAME>gimp_drawable_parasite_list</NAME>
<RETURNS>gboolean  </RETURNS>
gint32          drawable_ID,gint           *num_parasites,gchar        ***parasites
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_parasite_find</NAME>
<RETURNS>GimpParasite *</RETURNS>
gint32          image_ID,gchar          *name
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_parasite_attach</NAME>
<RETURNS>gboolean  </RETURNS>
gint32          image_ID,GimpParasite   *parasite
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_parasite_detach</NAME>
<RETURNS>gboolean  </RETURNS>
gint32          image_ID,gchar          *name
</FUNCTION>
<FUNCTION>
<NAME>gimp_image_parasite_list</NAME>
<RETURNS>gboolean  </RETURNS>
gint32          image_ID,gint           *num_parasites,gchar        ***parasites
</FUNCTION>
<MACRO>
<NAME>GIMP_PIXPIPE_MAXDIM</NAME>
#define GIMP_PIXPIPE_MAXDIM 4
</MACRO>
<FUNCTION>
<NAME>gimp_pixpipe_params_init</NAME>
<RETURNS>void  </RETURNS>
GimpPixPipeParams *params
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixpipe_params_parse</NAME>
<RETURNS>void  </RETURNS>
gchar             *parameters,GimpPixPipeParams *params
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixpipe_params_build</NAME>
<RETURNS>gchar  *</RETURNS>
GimpPixPipeParams *params
</FUNCTION>
<MACRO>
<NAME>GIMP_TYPE_PATH_EDITOR</NAME>
#define GIMP_TYPE_PATH_EDITOR            (gimp_path_editor_get_type ())
</MACRO>
<MACRO>
<NAME>GIMP_PATH_EDITOR</NAME>
#define GIMP_PATH_EDITOR(obj)            (GTK_CHECK_CAST ((obj), GIMP_TYPE_PATH_EDITOR, GimpPathEditor))
</MACRO>
<MACRO>
<NAME>GIMP_PATH_EDITOR_CLASS</NAME>
#define GIMP_PATH_EDITOR_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_PATH_EDITOR, GimpPathEditorClass))
</MACRO>
<MACRO>
<NAME>GIMP_IS_PATH_EDITOR</NAME>
#define GIMP_IS_PATH_EDITOR(obj)         (GTK_CHECK_TYPE (obj, GIMP_TYPE_PATH_EDITOR))
</MACRO>
<MACRO>
<NAME>GIMP_IS_PATH_EDITOR_CLASS</NAME>
#define GIMP_IS_PATH_EDITOR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_PATH_EDITOR))
</MACRO>
<STRUCT>
<NAME>GimpPathEditor</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpPathEditorClass</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpPathEditor</NAME>
struct GimpPathEditor
{
  GtkVBox    vbox;

  GtkWidget *upper_hbox;

  GtkWidget *new_button;
  GtkWidget *up_button;
  GtkWidget *down_button;
  GtkWidget *delete_button;

  GtkWidget *file_selection;

  GtkWidget *dir_list;

  GtkWidget *selected_item;
  gint       number_of_items;
};
</STRUCT>
<FUNCTION>
<NAME>gimp_path_editor_get_type</NAME>
<RETURNS>GtkType  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_editor_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
const gchar    *filesel_title,const gchar    *path
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_editor_get_path</NAME>
<RETURNS>gchar      *</RETURNS>
GimpPathEditor *gpe
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_list</NAME>
<RETURNS>gchar **</RETURNS>
gint32    image_ID,gint     *num_paths
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_get_points</NAME>
<RETURNS>gint  </RETURNS>
gint32    image_ID,gchar    *pathname,gint     *path_closed,gint     *num_path_point_details,gdouble **points_pairs
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_get_current</NAME>
<RETURNS>gchar *</RETURNS>
gint32    image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_set_current</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID,gchar    *set_current_path_name
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_set_points</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID,gchar    *pathname,gint      ptype,gint      num_path_points,gdouble  *points_pairs
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_stroke_current</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_get_point_at_dist</NAME>
<RETURNS>gint  </RETURNS>
gint32    image_ID,gdouble   distance,gint     *y_point,gdouble  *gradient
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_get_tattoo</NAME>
<RETURNS>gint  </RETURNS>
gint32    image_ID,gchar    *pathname
</FUNCTION>
<FUNCTION>
<NAME>gimp_get_path_by_tattoo</NAME>
<RETURNS>gchar *</RETURNS>
gint32    image_ID,gint      tattoo
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_delete</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID,gchar    *path_name_to_del
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_get_locked</NAME>
<RETURNS>gint  </RETURNS>
gint32    image_ID,gchar    *pathname
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_set_locked</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID,gchar    *pathname,gint      lockstatus
</FUNCTION>
<FUNCTION>
<NAME>gimp_path_set_tattoo</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID,gchar    *pathname,gint      tattovalue
</FUNCTION>
<FUNCTION>
<NAME>gimp_patterns_get_pattern_data</NAME>
<RETURNS>gchar *</RETURNS>
gchar   *name,gint    *width,gint    *height,gint    *mask_bpp,gint    *length,guint8 **mask_data
</FUNCTION>
<FUNCTION>
<NAME>gimp_patterns_popup</NAME>
<RETURNS>gboolean  </RETURNS>
gchar *pattern_callback,gchar *popup_title,gchar *initial_pattern
</FUNCTION>
<FUNCTION>
<NAME>gimp_patterns_close_popup</NAME>
<RETURNS>gboolean  </RETURNS>
gchar *pattern_callback
</FUNCTION>
<FUNCTION>
<NAME>gimp_patterns_set_popup</NAME>
<RETURNS>gboolean  </RETURNS>
gchar *pattern_callback,gchar *pattern_name
</FUNCTION>
<STRUCT>
<NAME>GimpPixelRgn</NAME>
struct GimpPixelRgn
{
  guchar       *data;          /* pointer to region data */
  GimpDrawable *drawable;      /* pointer to drawable */
  guint         bpp;           /* bytes per pixel */
  guint         rowstride;     /* bytes per pixel row */
  guint         x, y;          /* origin */
  guint         w, h;          /* width and height of region */
  guint         dirty : 1;     /* will this region be dirtied? */
  guint         shadow : 1;    /* will this region use the shadow or normal tiles */
  guint         process_count; /* used internally */
};
</STRUCT>
<FUNCTION>
<NAME>gimp_pixel_rgn_init</NAME>
<RETURNS>void  </RETURNS>
GimpPixelRgn  *pr,GimpDrawable  *drawable,gint           x,gint           y,gint           width,gint           height,gint           dirty,gint           shadow
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixel_rgn_resize</NAME>
<RETURNS>void  </RETURNS>
GimpPixelRgn  *pr,gint           x,gint           y,gint           width,gint           height
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixel_rgn_get_pixel</NAME>
<RETURNS>void  </RETURNS>
GimpPixelRgn  *pr,guchar        *buf,gint           x,gint           y
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixel_rgn_get_row</NAME>
<RETURNS>void  </RETURNS>
GimpPixelRgn  *pr,guchar        *buf,gint           x,gint           y,gint           width
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixel_rgn_get_col</NAME>
<RETURNS>void  </RETURNS>
GimpPixelRgn  *pr,guchar        *buf,gint           x,gint           y,gint           height
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixel_rgn_get_rect</NAME>
<RETURNS>void  </RETURNS>
GimpPixelRgn  *pr,guchar        *buf,gint           x,gint           y,gint           width,gint           height
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixel_rgn_set_pixel</NAME>
<RETURNS>void  </RETURNS>
GimpPixelRgn  *pr,guchar        *buf,gint           x,gint           y
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixel_rgn_set_row</NAME>
<RETURNS>void  </RETURNS>
GimpPixelRgn  *pr,guchar        *buf,gint           x,gint           y,gint           width
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixel_rgn_set_col</NAME>
<RETURNS>void  </RETURNS>
GimpPixelRgn  *pr,guchar        *buf,gint           x,gint           y,gint           height
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixel_rgn_set_rect</NAME>
<RETURNS>void  </RETURNS>
GimpPixelRgn  *pr,guchar        *buf,gint           x,gint           y,gint           width,gint           height
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixel_rgns_register</NAME>
<RETURNS>gpointer  </RETURNS>
gint           nrgns,...
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixel_rgns_register2</NAME>
<RETURNS>gpointer  </RETURNS>
gint           nrgns,GimpPixelRgn **prs
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixel_rgns_process</NAME>
<RETURNS>gpointer  </RETURNS>
gpointer       pri_ptr
</FUNCTION>
<MACRO>
<NAME>GIMP_TYPE_PIXMAP</NAME>
#define GIMP_TYPE_PIXMAP            (gimp_pixmap_get_type ())
</MACRO>
<MACRO>
<NAME>GIMP_PIXMAP</NAME>
#define GIMP_PIXMAP(obj)            (GTK_CHECK_CAST ((obj), GIMP_TYPE_PIXMAP, GimpPixmap))
</MACRO>
<MACRO>
<NAME>GIMP_PIXMAP_CLASS</NAME>
#define GIMP_PIXMAP_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_PIXMAP, GimpPixmapClass))
</MACRO>
<MACRO>
<NAME>GIMP_IS_PIXMAP</NAME>
#define GIMP_IS_PIXMAP(obj)         (GTK_CHECK_TYPE ((obj), GIMP_TYPE_PIXMAP))
</MACRO>
<MACRO>
<NAME>GIMP_IS_PIXMAP_CLASS</NAME>
#define GIMP_IS_PIXMAP_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_PIXMAP))
</MACRO>
<STRUCT>
<NAME>GimpPixmap</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpPixmapClass</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpPixmap</NAME>
struct GimpPixmap
{
  GtkPixmap   pixmap;

  gchar **xpm_data;
};
</STRUCT>
<FUNCTION>
<NAME>gimp_pixmap_get_type</NAME>
<RETURNS>GtkType  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixmap_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
gchar      **xpm_data
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixmap_set</NAME>
<RETURNS>void  </RETURNS>
GimpPixmap  *pixmap,gchar      **xpm_data
</FUNCTION>
<FUNCTION>
<NAME>gimp_progress_init</NAME>
<RETURNS>gboolean  </RETURNS>
gchar   *message
</FUNCTION>
<FUNCTION>
<NAME>gimp_progress_update</NAME>
<RETURNS>gboolean  </RETURNS>
gdouble  percentage
</FUNCTION>
<FUNCTION>
<NAME>gimp_temp_PDB_name</NAME>
<RETURNS>gchar *</RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_plugin_domain_register</NAME>
<RETURNS>gboolean  </RETURNS>
gchar   *domain_name,gchar   *domain_path
</FUNCTION>
<FUNCTION>
<NAME>gimp_plugin_help_register</NAME>
<RETURNS>gboolean  </RETURNS>
gchar   *help_path
</FUNCTION>
<FUNCTION>
<NAME>gimp_procedural_db_proc_info</NAME>
<RETURNS>gboolean  </RETURNS>
gchar            *procedure,gchar           **blurb,gchar           **help,gchar           **author,gchar           **copyright,gchar           **date,GimpPDBProcType  *proc_type,gint             *num_args,gint             *num_values,GimpParamDef    **args,GimpParamDef    **return_vals
</FUNCTION>
<FUNCTION>
<NAME>gimp_procedural_db_get_data</NAME>
<RETURNS>gboolean  </RETURNS>
gchar            *identifier,gpointer          data
</FUNCTION>
<FUNCTION>
<NAME>gimp_procedural_db_set_data</NAME>
<RETURNS>gboolean  </RETURNS>
gchar            *identifier,gpointer          data,guint32           bytes
</FUNCTION>
<FUNCTION>
<NAME>gimp_procedural_db_dump</NAME>
<RETURNS>gboolean  </RETURNS>
gchar             *filename
</FUNCTION>
<FUNCTION>
<NAME>gimp_procedural_db_query</NAME>
<RETURNS>gboolean  </RETURNS>
gchar             *name,gchar             *blurb,gchar             *help,gchar             *author,gchar             *copyright,gchar             *date,gchar             *proc_type,gint              *num_matches,gchar           ***procedure_names
</FUNCTION>
<FUNCTION>
<NAME>gimp_procedural_db_proc_arg</NAME>
<RETURNS>gboolean  </RETURNS>
gchar             *procedure,gint               arg_num,GimpPDBArgType    *arg_type,gchar            **arg_name,gchar            **arg_desc
</FUNCTION>
<FUNCTION>
<NAME>gimp_procedural_db_proc_val</NAME>
<RETURNS>gboolean  </RETURNS>
gchar             *procedure,gint               val_num,GimpPDBArgType    *val_type,gchar            **val_name,gchar            **val_desc
</FUNCTION>
<FUNCTION>
<NAME>gimp_procedural_db_get_data_size</NAME>
<RETURNS>gint  </RETURNS>
gchar             *identifier
</FUNCTION>
<MACRO>
<NAME>GP_VERSION</NAME>
#define GP_VERSION 0x0004
</MACRO>
<STRUCT>
<NAME>GPConfig</NAME>
</STRUCT>
<STRUCT>
<NAME>GPTileReq</NAME>
</STRUCT>
<STRUCT>
<NAME>GPTileAck</NAME>
</STRUCT>
<STRUCT>
<NAME>GPTileData</NAME>
</STRUCT>
<STRUCT>
<NAME>GPParam</NAME>
</STRUCT>
<STRUCT>
<NAME>GPParamDef</NAME>
</STRUCT>
<STRUCT>
<NAME>GPProcRun</NAME>
</STRUCT>
<STRUCT>
<NAME>GPProcReturn</NAME>
</STRUCT>
<STRUCT>
<NAME>GPProcInstall</NAME>
</STRUCT>
<STRUCT>
<NAME>GPProcUninstall</NAME>
</STRUCT>
<STRUCT>
<NAME>GPConfig</NAME>
struct GPConfig
{
  guint32 version;
  guint32 tile_width;
  guint32 tile_height;
  gint32  shm_ID;
  gdouble gamma;
  gint8   install_cmap;
  gint8   use_xshm;
  gint32  min_colors;
  gint32  gdisp_ID;
};
</STRUCT>
<STRUCT>
<NAME>GPTileReq</NAME>
struct GPTileReq
{
  gint32  drawable_ID;
  guint32 tile_num;
  guint32 shadow;
};
</STRUCT>
<STRUCT>
<NAME>GPTileData</NAME>
struct GPTileData
{
  gint32   drawable_ID;
  guint32  tile_num;
  guint32  shadow;
  guint32  bpp;
  guint32  width;
  guint32  height;
  guint32  use_shm;
  guchar  *data;
};
</STRUCT>
<STRUCT>
<NAME>GPParam</NAME>
struct GPParam
{
  guint32 type;

  union
  {
    gint32    d_int32;
    gint16    d_int16;
    gint8     d_int8;
    gdouble   d_float;
    gchar    *d_string;
    gint32   *d_int32array;
    gint16   *d_int16array;
    gint8    *d_int8array;
    gdouble  *d_floatarray;
    gchar   **d_stringarray;
    struct
    {
      guint8 red;
      guint8 green;
      guint8 blue;
    } d_color;
    struct
    {
      gint32 x;
      gint32 y;
      gint32 width;
      gint32 height;
    } d_region;
    gint32 d_display;
    gint32 d_image;
    gint32 d_layer;
    gint32 d_channel;
    gint32 d_drawable;
    gint32 d_selection;
    gint32 d_boundary;
    gint32 d_path;
    struct
    {
      gchar    *name;
      guint32   flags;
      guint32   size;
      gpointer  data;
    } d_parasite;
    gint32 d_status;
  } data;
};
</STRUCT>
<STRUCT>
<NAME>GPParamDef</NAME>
struct GPParamDef
{
  guint32  type;
  gchar   *name;
  gchar   *description;
};
</STRUCT>
<STRUCT>
<NAME>GPProcRun</NAME>
struct GPProcRun
{
  gchar   *name;
  guint32  nparams;
  GPParam *params;
};
</STRUCT>
<STRUCT>
<NAME>GPProcReturn</NAME>
struct GPProcReturn
{
  gchar   *name;
  guint32  nparams;
  GPParam *params;
};
</STRUCT>
<STRUCT>
<NAME>GPProcInstall</NAME>
struct GPProcInstall
{
  gchar      *name;
  gchar      *blurb;
  gchar      *help;
  gchar      *author;
  gchar      *copyright;
  gchar      *date;
  gchar      *menu_path;
  gchar      *image_types;
  guint32     type;
  guint32     nparams;
  guint32     nreturn_vals;
  GPParamDef *params;
  GPParamDef *return_vals;
};
</STRUCT>
<STRUCT>
<NAME>GPProcUninstall</NAME>
struct GPProcUninstall
{
  gchar *name;
};
</STRUCT>
<FUNCTION>
<NAME>gp_init</NAME>
<RETURNS>void  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gp_quit_write</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel
</FUNCTION>
<FUNCTION>
<NAME>gp_config_write</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,GPConfig        *config
</FUNCTION>
<FUNCTION>
<NAME>gp_tile_req_write</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,GPTileReq       *tile_req
</FUNCTION>
<FUNCTION>
<NAME>gp_tile_ack_write</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel
</FUNCTION>
<FUNCTION>
<NAME>gp_tile_data_write</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,GPTileData      *tile_data
</FUNCTION>
<FUNCTION>
<NAME>gp_proc_run_write</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,GPProcRun       *proc_run
</FUNCTION>
<FUNCTION>
<NAME>gp_proc_return_write</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,GPProcReturn    *proc_return
</FUNCTION>
<FUNCTION>
<NAME>gp_temp_proc_run_write</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,GPProcRun       *proc_run
</FUNCTION>
<FUNCTION>
<NAME>gp_temp_proc_return_write</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,GPProcReturn    *proc_return
</FUNCTION>
<FUNCTION>
<NAME>gp_proc_install_write</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,GPProcInstall   *proc_install
</FUNCTION>
<FUNCTION>
<NAME>gp_proc_uninstall_write</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,GPProcUninstall *proc_uninstall
</FUNCTION>
<FUNCTION>
<NAME>gp_extension_ack_write</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel
</FUNCTION>
<USER_FUNCTION>
<NAME>GimpQueryStringCallback</NAME>
<RETURNS>void </RETURNS>
GtkWidget *query_box,
					   gchar     *string,
					   gpointer   data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpQueryIntCallback</NAME>
<RETURNS>void </RETURNS>
GtkWidget *query_box,
					   gint       value,
					   gpointer   data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpQueryDoubleCallback</NAME>
<RETURNS>void </RETURNS>
GtkWidget *query_box,
					   gdouble    value,
					   gpointer   data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpQuerySizeCallback</NAME>
<RETURNS>void </RETURNS>
GtkWidget *query_box,
					   gdouble    size,
					   GimpUnit   unit,
					   gpointer   data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GimpQueryBooleanCallback</NAME>
<RETURNS>void </RETURNS>
GtkWidget *query_box,
					   gboolean   value,
					   gpointer   data
</USER_FUNCTION>
<FUNCTION>
<NAME>gimp_query_string_box</NAME>
<RETURNS>GtkWidget  *</RETURNS>
const gchar              *title,GimpHelpFunc              help_func,const gchar              *help_data,const gchar              *message,const gchar              *initial,GtkObject                *object,const gchar              *signal,GimpQueryStringCallback   callback,gpointer                  data
</FUNCTION>
<FUNCTION>
<NAME>gimp_query_int_box</NAME>
<RETURNS>GtkWidget  *</RETURNS>
const gchar              *title,GimpHelpFunc              help_func,const gchar              *help_data,const gchar              *message,gint                      initial,gint                      lower,gint                      upper,GtkObject                *object,const gchar              *signal,GimpQueryIntCallback      callback,gpointer                  data
</FUNCTION>
<FUNCTION>
<NAME>gimp_query_double_box</NAME>
<RETURNS>GtkWidget  *</RETURNS>
const gchar              *title,GimpHelpFunc              help_func,const gchar              *help_data,const gchar              *message,gdouble                   initial,gdouble                   lower,gdouble                   upper,gint                      digits,GtkObject                *object,const gchar              *signal,GimpQueryDoubleCallback   callback,gpointer                  data
</FUNCTION>
<FUNCTION>
<NAME>gimp_query_size_box</NAME>
<RETURNS>GtkWidget  *</RETURNS>
const gchar              *title,GimpHelpFunc              help_func,const gchar              *help_data,const gchar              *message,gdouble                   initial,gdouble                   lower,gdouble                   upper,gint                      digits,GimpUnit                  unit,gdouble                   resolution,gboolean                  dot_for_dot,GtkObject                *object,const gchar              *signal,GimpQuerySizeCallback     callback,gpointer                  data
</FUNCTION>
<FUNCTION>
<NAME>gimp_query_boolean_box</NAME>
<RETURNS>GtkWidget  *</RETURNS>
const gchar              *title,GimpHelpFunc              help_func,const gchar              *help_data,gboolean                  eek,const gchar              *message,const gchar              *true_button,const gchar              *false_button,GtkObject                *object,const gchar              *signal,GimpQueryBooleanCallback  callback,gpointer                  data
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_float</NAME>
<RETURNS>gint32  </RETURNS>
gint32 image_ID,gint32 drawable_ID,gint   offx,gint   offy
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_bounds</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID,gboolean *non_empty,gint     *x1,gint     *y1,gint     *x2,gint     *y2
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_value</NAME>
<RETURNS>gint  </RETURNS>
gint32    image_ID,gint      x,gint      y
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_is_empty</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_translate</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID,gint      offx,gint      offy
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_clear</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_invert</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_sharpen</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_all</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_none</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_feather</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID,gdouble   radius
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_border</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID,gint      radius
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_grow</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID,gint      steps
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_shrink</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    image_ID,gint      radius
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_layer_alpha</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    layer_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_load</NAME>
<RETURNS>gboolean  </RETURNS>
gint32    channel_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_selection_save</NAME>
<RETURNS>gint32  </RETURNS>
gint32    image_ID
</FUNCTION>
<MACRO>
<NAME>SA_RESTART</NAME>
#define SA_RESTART SA_SYSV
</MACRO>
<USER_FUNCTION>
<NAME>GimpSignalHandlerFunc</NAME>
<RETURNS>void </RETURNS>
gint signum
</USER_FUNCTION>
<FUNCTION>
<NAME>gimp_signal_private</NAME>
<RETURNS>GimpSignalHandlerFunc  </RETURNS>
gint                   signum,GimpSignalHandlerFunc  handler,gint                   flags
</FUNCTION>
<MACRO>
<NAME>gimp_signal_syscallrestart</NAME>
#define gimp_signal_syscallrestart(signum,handler) gimp_signal_private ((signum), (handler), SA_RESTART)
</MACRO>
<MACRO>
<NAME>GIMP_TYPE_SIZE_ENTRY</NAME>
#define GIMP_TYPE_SIZE_ENTRY            (gimp_size_entry_get_type ())
</MACRO>
<MACRO>
<NAME>GIMP_SIZE_ENTRY</NAME>
#define GIMP_SIZE_ENTRY(obj)            (GTK_CHECK_CAST ((obj), GIMP_TYPE_SIZE_ENTRY, GimpSizeEntry))
</MACRO>
<MACRO>
<NAME>GIMP_SIZE_ENTRY_CLASS</NAME>
#define GIMP_SIZE_ENTRY_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_SIZE_ENTRY, GimpSizeEntryClass))
</MACRO>
<MACRO>
<NAME>GIMP_IS_SIZE_ENTRY</NAME>
#define GIMP_IS_SIZE_ENTRY(obj)         (GTK_CHECK_TYPE (obj, GIMP_TYPE_SIZE_ENTRY))
</MACRO>
<MACRO>
<NAME>GIMP_IS_SIZE_ENTRY_CLASS</NAME>
#define GIMP_IS_SIZE_ENTRY_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_SIZE_ENTRY))
</MACRO>
<STRUCT>
<NAME>GimpSizeEntry</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpSizeEntryClass</NAME>
</STRUCT>
<ENUM>
<NAME>GimpSizeEntryUpdatePolicy</NAME>
typedef enum
{
  GIMP_SIZE_ENTRY_UPDATE_NONE       = 0,
  GIMP_SIZE_ENTRY_UPDATE_SIZE       = 1,
  GIMP_SIZE_ENTRY_UPDATE_RESOLUTION = 2
} GimpSizeEntryUpdatePolicy;
</ENUM>
<STRUCT>
<NAME>GimpSizeEntryField</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpSizeEntry</NAME>
struct GimpSizeEntry
{
  GtkTable   table;

  GSList    *fields;
  gint       number_of_fields;

  GtkWidget *unitmenu;
  GimpUnit   unit;
  gboolean   menu_show_pixels;
  gboolean   menu_show_percent;

  gboolean                   show_refval;
  GimpSizeEntryUpdatePolicy  update_policy;
};
</STRUCT>
<FUNCTION>
<NAME>gimp_size_entry_get_type</NAME>
<RETURNS>GtkType  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
gint                       number_of_fields,GimpUnit                   unit,const gchar               *unit_format,gboolean                   menu_show_pixels,gboolean                   menu_show_percent,gboolean                   show_refval,gint                       spinbutton_usize,GimpSizeEntryUpdatePolicy  update_policy
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_add_field</NAME>
<RETURNS>void  </RETURNS>
GimpSizeEntry   *gse,GtkSpinButton   *value_spinbutton,GtkSpinButton   *refval_spinbutton
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_attach_label</NAME>
<RETURNS>void  </RETURNS>
GimpSizeEntry *gse,const gchar   *text,gint           row,gint           column,gfloat         alignment
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_set_resolution</NAME>
<RETURNS>void  </RETURNS>
GimpSizeEntry *gse,gint           field,gdouble        resolution,gboolean       keep_size
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_set_size</NAME>
<RETURNS>void  </RETURNS>
GimpSizeEntry *gse,gint           field,gdouble        lower,gdouble        upper
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_set_value_boundaries</NAME>
<RETURNS>void  </RETURNS>
GimpSizeEntry *gse,gint           field,gdouble        lower,gdouble        upper
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_get_value</NAME>
<RETURNS>gdouble  </RETURNS>
GimpSizeEntry *gse,gint           field
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_set_value</NAME>
<RETURNS>void  </RETURNS>
GimpSizeEntry *gse,gint           field,gdouble        value
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_set_refval_boundaries</NAME>
<RETURNS>void  </RETURNS>
GimpSizeEntry *gse,gint           field,gdouble        lower,gdouble        upper
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_set_refval_digits</NAME>
<RETURNS>void  </RETURNS>
GimpSizeEntry *gse,gint           field,gint           digits
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_get_refval</NAME>
<RETURNS>gdouble  </RETURNS>
GimpSizeEntry *gse,gint           field
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_set_refval</NAME>
<RETURNS>void  </RETURNS>
GimpSizeEntry *gse,gint           field,gdouble        refval
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_get_unit</NAME>
<RETURNS>GimpUnit  </RETURNS>
GimpSizeEntry *gse
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_set_unit</NAME>
<RETURNS>void  </RETURNS>
GimpSizeEntry *gse,GimpUnit       unit
</FUNCTION>
<FUNCTION>
<NAME>gimp_size_entry_grab_focus</NAME>
<RETURNS>void  </RETURNS>
GimpSizeEntry *gse
</FUNCTION>
<FUNCTION>
<NAME>gimp_text_fontname</NAME>
<RETURNS>gint32  </RETURNS>
gint32        image_ID,gint32        drawable_ID,gdouble       x,gdouble       y,gchar        *text,gint          border,gboolean      antialias,gdouble       size,GimpSizeType  size_type,gchar        *fontname
</FUNCTION>
<FUNCTION>
<NAME>gimp_text_get_extents_fontname</NAME>
<RETURNS>gboolean  </RETURNS>
gchar        *text,gdouble       size,GimpSizeType  size_type,gchar        *fontname,gint         *width,gint         *height,gint         *ascent,gint         *descent
</FUNCTION>
<FUNCTION>
<NAME>gimp_text</NAME>
<RETURNS>gint32  </RETURNS>
gint32        image_ID,gint32        drawable_ID,gdouble       x,gdouble       y,gchar        *text,gint          border,gboolean      antialias,gdouble       size,GimpSizeType  size_type,gchar        *foundry,gchar        *family,gchar        *weight,gchar        *slant,gchar        *set_width,gchar        *spacing,gchar        *registry,gchar        *encoding
</FUNCTION>
<FUNCTION>
<NAME>gimp_text_get_extents</NAME>
<RETURNS>gboolean  </RETURNS>
gchar        *text,gdouble       size,GimpSizeType  size_type,gchar        *foundry,gchar        *family,gchar        *weight,gchar        *slant,gchar        *set_width,gchar        *spacing,gchar        *registry,gchar        *encoding,gint         *width,gint         *height,gint         *ascent,gint         *descent
</FUNCTION>
<STRUCT>
<NAME>GimpTile</NAME>
struct GimpTile
{
  guint         ewidth;     /* the effective width of the tile */
  guint         eheight;    /* the effective height of the tile */
  guint         bpp;        /* the bytes per pixel (1, 2, 3 or 4 ) */
  guint         tile_num;   /* the number of this tile within the drawable */
  guint16       ref_count;  /* reference count for the tile */
  guint         dirty : 1;  /* is the tile dirty? has it been modified? */
  guint         shadow: 1;  /* is this a shadow tile */
  guchar       *data;       /* the pixel data for the tile */
  GimpDrawable *drawable;   /* the drawable this tile came from */
};
</STRUCT>
<FUNCTION>
<NAME>gimp_tile_ref</NAME>
<RETURNS>void  </RETURNS>
GimpTile  *tile
</FUNCTION>
<FUNCTION>
<NAME>gimp_tile_ref_zero</NAME>
<RETURNS>void  </RETURNS>
GimpTile  *tile
</FUNCTION>
<FUNCTION>
<NAME>gimp_tile_unref</NAME>
<RETURNS>void  </RETURNS>
GimpTile  *tile,gboolean   dirty
</FUNCTION>
<FUNCTION>
<NAME>gimp_tile_flush</NAME>
<RETURNS>void  </RETURNS>
GimpTile  *tile
</FUNCTION>
<FUNCTION>
<NAME>gimp_tile_cache_size</NAME>
<RETURNS>void  </RETURNS>
gulong     kilobytes
</FUNCTION>
<FUNCTION>
<NAME>gimp_tile_cache_ntiles</NAME>
<RETURNS>void  </RETURNS>
gulong     ntiles
</FUNCTION>
<FUNCTION>
<NAME>gimp_tile_width</NAME>
<RETURNS>guint  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_tile_height</NAME>
<RETURNS>guint  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_airbrush</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gdouble                   pressure,gint                      num_strokes,gdouble                  *strokes
</FUNCTION>
<FUNCTION>
<NAME>gimp_airbrush_default</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gint                      num_strokes,gdouble                  *strokes
</FUNCTION>
<FUNCTION>
<NAME>gimp_blend</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,GimpBlendMode             blend_mode,GimpLayerModeEffects      paint_mode,GimpGradientType          gradient_type,gdouble                   opacity,gdouble                   offset,GimpRepeatMode            repeat,gboolean                  supersample,gint                      max_depth,gdouble                   threshold,gdouble                   x1,gdouble                   y1,gdouble                   x2,gdouble                   y2
</FUNCTION>
<FUNCTION>
<NAME>gimp_bucket_fill</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,GimpBucketFillMode        fill_mode,GimpLayerModeEffects      paint_mode,gdouble                   opacity,gdouble                   threshold,gboolean                  sample_merged,gdouble                   x,gdouble                   y
</FUNCTION>
<FUNCTION>
<NAME>gimp_by_color_select</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,guchar                    red,guchar                    green,guchar                    blue,gint                      threshold,GimpChannelOps            operation,gboolean                  antialias,gboolean                  feather,gdouble                   feather_radius,gboolean                  sample_merged
</FUNCTION>
<FUNCTION>
<NAME>gimp_clone</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gint32                    src_drawable_ID,GimpCloneType             clone_type,gdouble                   src_x,gdouble                   src_y,gint                      num_strokes,gdouble                  *strokes
</FUNCTION>
<FUNCTION>
<NAME>gimp_clone_default</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gint                      num_strokes,gdouble                  *strokes
</FUNCTION>
<FUNCTION>
<NAME>gimp_color_picker</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    image_ID,gint32                    drawable_ID,gdouble                   x,gdouble                   y,gboolean                  sample_merged,gboolean                  sample_average,gdouble                   average_radius,gboolean                  save_color,guchar                   *red,guchar                   *green,guchar                   *blue
</FUNCTION>
<FUNCTION>
<NAME>gimp_convolve</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gdouble                   pressure,GimpConvolveType          convolve_type,gint                      num_strokes,gdouble                  *strokes
</FUNCTION>
<FUNCTION>
<NAME>gimp_convolve_default</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gint                      num_strokes,gdouble                  *strokes
</FUNCTION>
<FUNCTION>
<NAME>gimp_crop</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    image_ID,gint                      new_width,gint                      new_height,gint                      offx,gint                      offy
</FUNCTION>
<FUNCTION>
<NAME>gimp_dodgeburn</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gdouble                   exposure,GimpDodgeBurnType         dodgeburn_type,GimpDodgeBurnMode         dodgeburn_mode,gint                      num_strokes,gdouble                  *strokes
</FUNCTION>
<FUNCTION>
<NAME>gimp_dodgeburn_default</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gint                      num_strokes,gdouble                  *strokes
</FUNCTION>
<FUNCTION>
<NAME>gimp_ellipse_select</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    image_ID,gdouble                   x,gdouble                   y,gdouble                   width,gdouble                   height,GimpChannelOps            operation,gboolean                  antialias,gboolean                  feather,gdouble                   feather_radius
</FUNCTION>
<FUNCTION>
<NAME>gimp_eraser</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gint                      num_strokes,gdouble                  *strokes,GimpBrushApplicationMode  hardness,GimpPaintApplicationMode  method
</FUNCTION>
<FUNCTION>
<NAME>gimp_eraser_default</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gint                      num_strokes,gdouble                  *strokes
</FUNCTION>
<FUNCTION>
<NAME>gimp_flip</NAME>
<RETURNS>gint32  </RETURNS>
gint32                    drawable_ID,GimpOrientationType       flip_type
</FUNCTION>
<FUNCTION>
<NAME>gimp_free_select</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    image_ID,gint                      num_segs,gdouble                  *segs,GimpChannelOps            operation,gboolean                  antialias,gboolean                  feather,gdouble                   feather_radius
</FUNCTION>
<FUNCTION>
<NAME>gimp_fuzzy_select</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gdouble                   x,gdouble                   y,gint                      threshold,GimpChannelOps            operation,gboolean                  antialias,gboolean                  feather,gdouble                   feather_radius,gboolean                  sample_merged
</FUNCTION>
<FUNCTION>
<NAME>gimp_paintbrush</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gdouble                   fade_out,gint                      num_strokes,gdouble                  *strokes,GimpPaintApplicationMode  method,gdouble                   gradient_length
</FUNCTION>
<FUNCTION>
<NAME>gimp_paintbrush_default</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gint                      num_strokes,gdouble                  *strokes
</FUNCTION>
<FUNCTION>
<NAME>gimp_pencil</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gint                      num_strokes,gdouble                  *strokes
</FUNCTION>
<FUNCTION>
<NAME>gimp_perspective</NAME>
<RETURNS>gint32  </RETURNS>
gint32                    drawable_ID,gboolean                  interpolation,gdouble                   x0,gdouble                   y0,gdouble                   x1,gdouble                   y1,gdouble                   x2,gdouble                   y2,gdouble                   x3,gdouble                   y3
</FUNCTION>
<FUNCTION>
<NAME>gimp_rect_select</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    image_ID,gdouble                   x,gdouble                   y,gdouble                   width,gdouble                   height,GimpChannelOps            operation,gboolean                  feather,gdouble                   feather_radius
</FUNCTION>
<FUNCTION>
<NAME>gimp_rotate</NAME>
<RETURNS>gint32  </RETURNS>
gint32                    drawable_ID,gboolean                  interpolation,gdouble                   angle
</FUNCTION>
<FUNCTION>
<NAME>gimp_scale</NAME>
<RETURNS>gint32  </RETURNS>
gint32                    drawable_ID,gboolean                  interpolation,gdouble                   x0,gdouble                   y0,gdouble                   x1,gdouble                   y1
</FUNCTION>
<FUNCTION>
<NAME>gimp_shear</NAME>
<RETURNS>gint32  </RETURNS>
gint32                    drawable_ID,gboolean                  interpolation,GimpOrientationType       shear_type,gdouble                   magnitude
</FUNCTION>
<FUNCTION>
<NAME>gimp_smudge</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gdouble                   pressure,gint                      num_strokes,gdouble                  *strokes
</FUNCTION>
<FUNCTION>
<NAME>gimp_smudge_default</NAME>
<RETURNS>gboolean  </RETURNS>
gint32                    drawable_ID,gint                      num_strokes,gdouble                  *strokes
</FUNCTION>
<FUNCTION>
<NAME>gimp_transform_2d</NAME>
<RETURNS>gint32  </RETURNS>
gint32                    drawable_ID,gboolean                  interpolation,gdouble                   source_x,gdouble                   source_y,gdouble                   scale_x,gdouble                   scale_y,gdouble                   angle,gdouble                   dest_x,gdouble                   dest_y
</FUNCTION>
<STRUCT>
<NAME>GimpPlugInInfo</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpTile</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpDrawable</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpPixelRgn</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpParamDef</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpParamColor</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpParamRegion</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpParam</NAME>
</STRUCT>
<FUNCTION>
<NAME>gimp_ui_init</NAME>
<RETURNS>void  </RETURNS>
const gchar *prog_name,gboolean     preview
</FUNCTION>
<FUNCTION>
<NAME>gimp_undo_push_group_start</NAME>
<RETURNS>gboolean  </RETURNS>
gint32 image_ID
</FUNCTION>
<FUNCTION>
<NAME>gimp_undo_push_group_end</NAME>
<RETURNS>gboolean  </RETURNS>
gint32 image_ID
</FUNCTION>
<ENUM>
<NAME>GimpUnit</NAME>
typedef enum
{
  GIMP_UNIT_PIXEL   = 0,

  GIMP_UNIT_INCH    = 1,
  GIMP_UNIT_MM      = 2,
  GIMP_UNIT_POINT   = 3,
  GIMP_UNIT_PICA    = 4,

  GIMP_UNIT_END     = 5,

  GIMP_UNIT_PERCENT = 65536
} GimpUnit;
</ENUM>
<FUNCTION>
<NAME>gimp_unit_get_number_of_units</NAME>
<RETURNS>gint  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_get_number_of_built_in_units</NAME>
<RETURNS>gint  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_new</NAME>
<RETURNS>GimpUnit  </RETURNS>
gchar    *identifier,gdouble   factor,gint      digits,gchar    *symbol,gchar    *abbreviation,gchar    *singular,gchar    *plural
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_get_deletion_flag</NAME>
<RETURNS>gboolean  </RETURNS>
GimpUnit  unit
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_set_deletion_flag</NAME>
<RETURNS>void  </RETURNS>
GimpUnit  unit,gboolean  deletion_flag
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_get_factor</NAME>
<RETURNS>gdouble  </RETURNS>
GimpUnit  unit
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_get_digits</NAME>
<RETURNS>gint  </RETURNS>
GimpUnit  unit
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_get_identifier</NAME>
<RETURNS>gchar     *</RETURNS>
GimpUnit  unit
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_get_symbol</NAME>
<RETURNS>gchar     *</RETURNS>
GimpUnit  unit
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_get_abbreviation</NAME>
<RETURNS>gchar     *</RETURNS>
GimpUnit  unit
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_get_singular</NAME>
<RETURNS>gchar     *</RETURNS>
GimpUnit  unit
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_get_plural</NAME>
<RETURNS>gchar     *</RETURNS>
GimpUnit  unit
</FUNCTION>
<MACRO>
<NAME>GIMP_TYPE_UNIT_MENU</NAME>
#define GIMP_TYPE_UNIT_MENU            (gimp_unit_menu_get_type ())
</MACRO>
<MACRO>
<NAME>GIMP_UNIT_MENU</NAME>
#define GIMP_UNIT_MENU(obj)            (GTK_CHECK_CAST ((obj), GIMP_TYPE_UNIT_MENU, GimpUnitMenu))
</MACRO>
<MACRO>
<NAME>GIMP_UNIT_MENU_CLASS</NAME>
#define GIMP_UNIT_MENU_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), GIMP_TYPE_UNIT_MENU, GimpUnitMenuClass))
</MACRO>
<MACRO>
<NAME>GIMP_IS_UNIT_MENU</NAME>
#define GIMP_IS_UNIT_MENU(obj)         (GTK_CHECK_TYPE (obj, GIMP_TYPE_UNIT_MENU))
</MACRO>
<MACRO>
<NAME>GIMP_IS_UNIT_MENU_CLASS</NAME>
#define GIMP_IS_UNIT_MENU_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_UNIT_MENU))
</MACRO>
<STRUCT>
<NAME>GimpUnitMenu</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpUnitMenuClass</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpUnitMenu</NAME>
struct GimpUnitMenu
{
  GtkOptionMenu  optionmenu;

  /* public (read only) */
  gchar         *format;
  GimpUnit       unit;

  gboolean       show_pixels;
  gboolean       show_percent;

  /* private */
  GtkWidget     *selection;
  GtkWidget     *clist;
};
</STRUCT>
<FUNCTION>
<NAME>gimp_unit_menu_get_type</NAME>
<RETURNS>GtkType  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_menu_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
const gchar *format,GimpUnit     unit,gboolean     show_pixels,gboolean     show_percent,gboolean     show_custom
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_menu_set_unit</NAME>
<RETURNS>void  </RETURNS>
GimpUnitMenu *gum,GimpUnit      unit
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_menu_get_unit</NAME>
<RETURNS>GimpUnit  </RETURNS>
GimpUnitMenu *gum
</FUNCTION>
<MACRO>
<NAME>gimp_strescape</NAME>
#define gimp_strescape(string, exceptions) g_strescape (string, exceptions)
</MACRO>
<MACRO>
<NAME>gimp_strcompress</NAME>
#define gimp_strcompress(string)           g_strcompress (string)
</MACRO>
<FUNCTION>
<NAME>gimp_strescape</NAME>
<RETURNS>gchar  *</RETURNS>
const gchar *source,const gchar *exceptions
</FUNCTION>
<FUNCTION>
<NAME>gimp_strcompress</NAME>
<RETURNS>gchar  *</RETURNS>
const gchar *source
</FUNCTION>
<STRUCT>
<NAME>GimpVector2</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpVector3</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpVector4</NAME>
</STRUCT>
<STRUCT>
<NAME>GimpVector2</NAME>
struct GimpVector2
{
  gdouble x, y;
};
</STRUCT>
<STRUCT>
<NAME>GimpVector3</NAME>
struct GimpVector3
{
  gdouble x, y, z;
};
</STRUCT>
<STRUCT>
<NAME>GimpVector4</NAME>
struct GimpVector4
{
  gdouble x, y, z, w;
};
</STRUCT>
<FUNCTION>
<NAME>gimp_vector2_inner_product</NAME>
<RETURNS>gdouble  </RETURNS>
GimpVector2 *vector1,GimpVector2 *vector2
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector2_cross_product</NAME>
<RETURNS>GimpVector2  </RETURNS>
GimpVector2 *vector1,GimpVector2 *vector2
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector2_length</NAME>
<RETURNS>gdouble  </RETURNS>
GimpVector2 *vector
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector2_normalize</NAME>
<RETURNS>void  </RETURNS>
GimpVector2 *vector
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector2_mul</NAME>
<RETURNS>void  </RETURNS>
GimpVector2 *vector,gdouble      factor
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector2_sub</NAME>
<RETURNS>void  </RETURNS>
GimpVector2 *result,GimpVector2 *vector1,GimpVector2 *vector2
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector2_set</NAME>
<RETURNS>void  </RETURNS>
GimpVector2 *vector,gdouble      x,gdouble      y
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector2_add</NAME>
<RETURNS>void  </RETURNS>
GimpVector2 *result,GimpVector2 *vector1,GimpVector2 *vector2
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector2_neg</NAME>
<RETURNS>void  </RETURNS>
GimpVector2 *vector
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector2_rotate</NAME>
<RETURNS>void  </RETURNS>
GimpVector2 *vector,gdouble      alpha
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector3_inner_product</NAME>
<RETURNS>gdouble  </RETURNS>
GimpVector3 *vector1,GimpVector3 *vector2
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector3_cross_product</NAME>
<RETURNS>GimpVector3  </RETURNS>
GimpVector3 *vector1,GimpVector3 *vector2
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector3_length</NAME>
<RETURNS>gdouble  </RETURNS>
GimpVector3 *vector
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector3_normalize</NAME>
<RETURNS>void  </RETURNS>
GimpVector3 *vector
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector3_mul</NAME>
<RETURNS>void  </RETURNS>
GimpVector3 *vector,gdouble      factor
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector3_sub</NAME>
<RETURNS>void  </RETURNS>
GimpVector3 *result,GimpVector3 *vector1,GimpVector3 *vector2
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector3_set</NAME>
<RETURNS>void  </RETURNS>
GimpVector3 *vector,gdouble      x,gdouble      y,gdouble      z
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector3_add</NAME>
<RETURNS>void  </RETURNS>
GimpVector3 *result,GimpVector3 *vector1,GimpVector3 *vector2
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector3_neg</NAME>
<RETURNS>void  </RETURNS>
GimpVector3 *vector
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector3_rotate</NAME>
<RETURNS>void  </RETURNS>
GimpVector3 *vector,gdouble      alpha,gdouble      beta,gdouble      gamma
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector_2d_to_3d</NAME>
<RETURNS>void  </RETURNS>
gint         sx,gint         sy,gint         w,gint         h,gint         x,gint         y,GimpVector3 *vp,GimpVector3 *p
</FUNCTION>
<FUNCTION>
<NAME>gimp_vector_3d_to_2d</NAME>
<RETURNS>void  </RETURNS>
gint         sx,gint         sy,gint         w,gint         h,gdouble     *x,gdouble     *y,GimpVector3 *vp,GimpVector3 *p
</FUNCTION>
<FUNCTION>
<NAME>gimp_option_menu_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
gboolean            menu_only,...
</FUNCTION>
<FUNCTION>
<NAME>gimp_option_menu_new2</NAME>
<RETURNS>GtkWidget  *</RETURNS>
gboolean            menu_only,GtkSignalFunc       menu_item_callback,gpointer            data,gpointer            initial,...
</FUNCTION>
<FUNCTION>
<NAME>gimp_option_menu_set_history</NAME>
<RETURNS>void  </RETURNS>
GtkOptionMenu      *option_menu,gpointer            user_data
</FUNCTION>
<FUNCTION>
<NAME>gimp_radio_group_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
gboolean            in_frame,const gchar        *frame_title,...
</FUNCTION>
<FUNCTION>
<NAME>gimp_radio_group_new2</NAME>
<RETURNS>GtkWidget  *</RETURNS>
gboolean            in_frame,const gchar        *frame_title,GtkSignalFunc       radio_button_callback,gpointer            data,gpointer            initial,...
</FUNCTION>
<FUNCTION>
<NAME>gimp_spin_button_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
GtkObject         **adjustment,gfloat              value,gfloat              lower,gfloat              upper,gfloat              step_increment,gfloat              page_increment,gfloat              page_size,gfloat              climb_rate,guint               digits
</FUNCTION>
<MACRO>
<NAME>GIMP_SCALE_ENTRY_LABEL</NAME>
#define GIMP_SCALE_ENTRY_LABEL(adj) \
        GTK_LABEL (gtk_object_get_data (GTK_OBJECT(adj), "label"))
</MACRO>
<MACRO>
<NAME>GIMP_SCALE_ENTRY_SCALE</NAME>
#define GIMP_SCALE_ENTRY_SCALE(adj) \
        GTK_HSCALE (gtk_object_get_data (GTK_OBJECT(adj), "scale"))
</MACRO>
<MACRO>
<NAME>GIMP_SCALE_ENTRY_SCALE_ADJ</NAME>
#define GIMP_SCALE_ENTRY_SCALE_ADJ(adj) \
        gtk_range_get_adjustment \
        (GTK_RANGE (gtk_object_get_data (GTK_OBJECT (adj), "scale")))
</MACRO>
<MACRO>
<NAME>GIMP_SCALE_ENTRY_SPINBUTTON</NAME>
#define GIMP_SCALE_ENTRY_SPINBUTTON(adj) \
        GTK_SPIN_BUTTON (gtk_object_get_data (GTK_OBJECT (adj), "spinbutton"))
</MACRO>
<MACRO>
<NAME>GIMP_SCALE_ENTRY_SPINBUTTON_ADJ</NAME>
#define GIMP_SCALE_ENTRY_SPINBUTTON_ADJ(adj) \
        gtk_spin_button_get_adjustment \
        (GTK_SPIN_BUTTON (gtk_object_get_data (GTK_OBJECT (adj), "spinbutton")))
</MACRO>
<FUNCTION>
<NAME>gimp_scale_entry_new</NAME>
<RETURNS>GtkObject  *</RETURNS>
GtkTable           *table,gint                column,gint                row,const gchar        *text,gint                scale_usize,gint                spinbutton_usize,gfloat              value,gfloat              lower,gfloat              upper,gfloat              step_increment,gfloat              page_increment,guint               digits,gboolean            constrain,gfloat              unconstrained_lower,gfloat              unconstrained_upper,const gchar        *tooltip,const gchar        *help_data
</FUNCTION>
<MACRO>
<NAME>GIMP_RANDOM_SEED_SPINBUTTON</NAME>
#define GIMP_RANDOM_SEED_SPINBUTTON(hbox) \
        GTK_SPIN_BUTTON (gtk_object_get_data (GTK_OBJECT( hbox), "spinbutton"))
</MACRO>
<MACRO>
<NAME>GIMP_RANDOM_SEED_SPINBUTTON_ADJ</NAME>
#define GIMP_RANDOM_SEED_SPINBUTTON_ADJ(hbox) \
        gtk_spin_button_get_adjustment \
        (GTK_SPIN_BUTTON (gtk_object_get_data (GTK_OBJECT (hbox), "spinbutton")))
</MACRO>
<MACRO>
<NAME>GIMP_RANDOM_SEED_TOGGLEBUTTON</NAME>
#define GIMP_RANDOM_SEED_TOGGLEBUTTON(hbox) \
        GTK_TOGGLE_BUTTON (gtk_object_get_data (GTK_OBJECT (hbox), \
                                                "togglebutton"))
</MACRO>
<FUNCTION>
<NAME>gimp_random_seed_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
gint               *seed,gint               *use_time,gint                time_true,gint                time_false
</FUNCTION>
<MACRO>
<NAME>GIMP_COORDINATES_CHAINBUTTON</NAME>
#define GIMP_COORDINATES_CHAINBUTTON(sizeentry) \
        GIMP_CHAIN_BUTTON (gtk_object_get_data (GTK_OBJECT (sizeentry), \
                                                "chainbutton"))
</MACRO>
<FUNCTION>
<NAME>gimp_coordinates_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
GimpUnit            unit,const gchar        *unit_format,gboolean            menu_show_pixels,gboolean            menu_show_percent,gint                spinbutton_usize,GimpSizeEntryUpdatePolicy  update_policy,gboolean            chainbutton_active,gboolean            chain_constrains_ratio,const gchar        *xlabel,gdouble             x,gdouble             xres,gdouble             lower_boundary_x,gdouble             upper_boundary_x,gdouble             xsize_0,gdouble             xsize_100,const gchar        *ylabel,gdouble             y,gdouble             yres,gdouble             lower_boundary_y,gdouble             upper_boundary_y,gdouble             ysize_0,gdouble             ysize_100
</FUNCTION>
<MACRO>
<NAME>GIMP_MEM_SIZE_ENTRY_SPINBUTTON</NAME>
#define GIMP_MEM_SIZE_ENTRY_SPINBUTTON(memsize) \
        GTK_SPIN_BUTTON (gtk_object_get_data (GTK_OBJECT (memsize), \
                                              "spinbutton"))
</MACRO>
<MACRO>
<NAME>GIMP_MEM_SIZE_ENTRY_SPINBUTTON_ADJ</NAME>
#define GIMP_MEM_SIZE_ENTRY_SPINBUTTON_ADJ(memsize) \
        gtk_spin_button_get_adjustment \
        (GTK_SPIN_BUTTON (gtk_object_get_data (GTK_OBJECT (memsize), \
                                               "spinbutton")))
</MACRO>
<MACRO>
<NAME>GIMP_MEM_SIZE_ENTRY_OPTIONMENU</NAME>
#define GIMP_MEM_SIZE_ENTRY_OPTIONMENU(memsize) \
        GTK_OPTION_MENU (gtk_object_get_data (GTK_OBJECT (memsize), \
                                              "optionmenu"))
</MACRO>
<FUNCTION>
<NAME>gimp_mem_size_entry_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
GtkAdjustment      *adjustment
</FUNCTION>
<FUNCTION>
<NAME>gimp_pixmap_button_new</NAME>
<RETURNS>GtkWidget  *</RETURNS>
gchar             **xpm_data,const gchar        *text
</FUNCTION>
<FUNCTION>
<NAME>gimp_toggle_button_sensitive_update</NAME>
<RETURNS>void  </RETURNS>
GtkToggleButton *toggle_button
</FUNCTION>
<FUNCTION>
<NAME>gimp_toggle_button_update</NAME>
<RETURNS>void  </RETURNS>
GtkWidget       *widget,gpointer         data
</FUNCTION>
<FUNCTION>
<NAME>gimp_radio_button_update</NAME>
<RETURNS>void  </RETURNS>
GtkWidget       *widget,gpointer         data
</FUNCTION>
<FUNCTION>
<NAME>gimp_menu_item_update</NAME>
<RETURNS>void  </RETURNS>
GtkWidget       *widget,gpointer         data
</FUNCTION>
<FUNCTION>
<NAME>gimp_int_adjustment_update</NAME>
<RETURNS>void  </RETURNS>
GtkAdjustment   *adjustment,gpointer         data
</FUNCTION>
<FUNCTION>
<NAME>gimp_uint_adjustment_update</NAME>
<RETURNS>void  </RETURNS>
GtkAdjustment   *adjustment,gpointer         data
</FUNCTION>
<FUNCTION>
<NAME>gimp_float_adjustment_update</NAME>
<RETURNS>void  </RETURNS>
GtkAdjustment   *adjustment,gpointer         data
</FUNCTION>
<FUNCTION>
<NAME>gimp_double_adjustment_update</NAME>
<RETURNS>void  </RETURNS>
GtkAdjustment   *adjustment,gpointer         data
</FUNCTION>
<FUNCTION>
<NAME>gimp_unit_menu_update</NAME>
<RETURNS>void  </RETURNS>
GtkWidget       *widget,gpointer         data
</FUNCTION>
<FUNCTION>
<NAME>gimp_table_attach_aligned</NAME>
<RETURNS>void  </RETURNS>
GtkTable           *table,gint                column,gint                row,const gchar        *label_text,gfloat              xalign,gfloat              yalign,GtkWidget          *widget,gint                colspan,gboolean            left_align
</FUNCTION>
<STRUCT>
<NAME>WireMessage</NAME>
</STRUCT>
<USER_FUNCTION>
<NAME>WireReadFunc</NAME>
<RETURNS>void </RETURNS>
GIOChannel  *channel,
				      WireMessage *msg
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>WireWriteFunc</NAME>
<RETURNS>void </RETURNS>
GIOChannel  *channel,
				      WireMessage *msg
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>WireDestroyFunc</NAME>
<RETURNS>void </RETURNS>
WireMessage *msg
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>WireIOFunc</NAME>
<RETURNS>gboolean </RETURNS>
GIOChannel  *channel,
				      guint8      *buf,
				      gulong       count
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>WireFlushFunc</NAME>
<RETURNS>gboolean </RETURNS>
GIOChannel  *channel
</USER_FUNCTION>
<STRUCT>
<NAME>WireMessage</NAME>
struct WireMessage
{
  guint32  type;
  gpointer data;
};
</STRUCT>
<FUNCTION>
<NAME>wire_register</NAME>
<RETURNS>void  </RETURNS>
guint32          type,WireReadFunc     read_func,WireWriteFunc    write_func,WireDestroyFunc  destroy_func
</FUNCTION>
<FUNCTION>
<NAME>wire_set_reader</NAME>
<RETURNS>void  </RETURNS>
WireIOFunc       read_func
</FUNCTION>
<FUNCTION>
<NAME>wire_set_writer</NAME>
<RETURNS>void  </RETURNS>
WireIOFunc       write_func
</FUNCTION>
<FUNCTION>
<NAME>wire_set_flusher</NAME>
<RETURNS>void  </RETURNS>
WireFlushFunc    flush_func
</FUNCTION>
<FUNCTION>
<NAME>wire_read</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel	     *channel,guint8          *buf,gulong           count
</FUNCTION>
<FUNCTION>
<NAME>wire_write</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,guint8          *buf,gulong           count
</FUNCTION>
<FUNCTION>
<NAME>wire_flush</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel	     *channel
</FUNCTION>
<FUNCTION>
<NAME>wire_error</NAME>
<RETURNS>gboolean  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>wire_clear_error</NAME>
<RETURNS>void  </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>wire_read_msg</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel	     *channel,WireMessage     *msg
</FUNCTION>
<FUNCTION>
<NAME>wire_write_msg</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel	     *channel,WireMessage     *msg
</FUNCTION>
<FUNCTION>
<NAME>wire_destroy</NAME>
<RETURNS>void  </RETURNS>
WireMessage     *msg
</FUNCTION>
<FUNCTION>
<NAME>wire_read_int32</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,guint32         *data,gint             count
</FUNCTION>
<FUNCTION>
<NAME>wire_read_int16</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel	     *channel,guint16         *data,gint             count
</FUNCTION>
<FUNCTION>
<NAME>wire_read_int8</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,guint8          *data,gint             count
</FUNCTION>
<FUNCTION>
<NAME>wire_read_double</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,gdouble         *data,gint             count
</FUNCTION>
<FUNCTION>
<NAME>wire_read_string</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,gchar          **data,gint             count
</FUNCTION>
<FUNCTION>
<NAME>wire_write_int32</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,guint32         *data,gint             count
</FUNCTION>
<FUNCTION>
<NAME>wire_write_int16</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,guint16         *data,gint             count
</FUNCTION>
<FUNCTION>
<NAME>wire_write_int8</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,guint8          *data,gint             count
</FUNCTION>
<FUNCTION>
<NAME>wire_write_double</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,gdouble         *data,gint             count
</FUNCTION>
<FUNCTION>
<NAME>wire_write_string</NAME>
<RETURNS>gboolean  </RETURNS>
GIOChannel      *channel,gchar          **data,gint             count
</FUNCTION>
