Commit b0305309 authored by Michael Natterer's avatar Michael Natterer 😴 Committed by Michael Natterer

register some missing enums.

2004-10-25  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimpbaseenums.[ch]: register some missing enums.

	* tools/pdbgen/enumcode.pl: removed code to generate
	plug-ins/script-fu/script-fu-constants.c, generate code to
	explicitely initialize and query all of libgimp*'s enums
	and write it to libgimp/gimpenums.c.tail

	* libgimp/gimpenums.h: regenerated.

	* libgimp/Makefile.am: append gimpenums.c.tail to gimpenums.c

	* libgimp/gimp.c (gimp_main): call g_type_init() and
	_gimp_enums_init().

	* libgimp/gimp.def: added gimp_enums_get_type_names().

	* plug-ins/script-fu/Makefile.am
	* plug-ins/script-fu/script-fu-constants.[ch]: removed these files.

	* plug-ins/script-fu/siod-wrapper.c: dynamically register all
	constants using gimp_enums_get_type_names() and introspection.
	Also register the built-in unit types.

	* plug-ins/script-fu/script-fu.c: changed accordingly.
parent 76d874e2
2004-10-25 Michael Natterer <mitch@gimp.org>
* libgimpbase/gimpbaseenums.[ch]: register some missing enums.
* tools/pdbgen/enumcode.pl: removed code to generate
plug-ins/script-fu/script-fu-constants.c, generate code to
explicitely initialize and query all of libgimp*'s enums
and write it to libgimp/gimpenums.c.tail
* libgimp/gimpenums.h: regenerated.
* libgimp/Makefile.am: append gimpenums.c.tail to gimpenums.c
* libgimp/gimp.c (gimp_main): call g_type_init() and
_gimp_enums_init().
* libgimp/gimp.def: added gimp_enums_get_type_names().
* plug-ins/script-fu/Makefile.am
* plug-ins/script-fu/script-fu-constants.[ch]: removed these files.
* plug-ins/script-fu/siod-wrapper.c: dynamically register all
constants using gimp_enums_get_type_names() and introspection.
Also register the built-in unit types.
* plug-ins/script-fu/script-fu.c: changed accordingly.
2004-10-25 Michael Natterer <mitch@gimp.org>
Don't store human readable and translatable enum/flag strings in
......
......@@ -7,3 +7,4 @@ _libs
.deps
*.la
gimpenums.c
gimpenums.c.tail
......@@ -332,7 +332,7 @@ uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
gen_sources = xgen-cec
CLEANFILES = $(gen_sources)
$(srcdir)/gimpenums.c: $(srcdir)/gimpenums.h $(GIMP_MKENUMS)
$(srcdir)/gimpenums.c: $(srcdir)/gimpenums.h $(srcdir)/gimpenums.c.tail $(GIMP_MKENUMS)
$(GIMP_MKENUMS) \
--fhead "#include \"config.h\"\n#include <glib-object.h>\n#include \"libgimpbase/gimpbase.h\"\n#include \"gimpenums.h\"" \
--fprod "\n/* enumerations from \"@filename@\" */" \
......@@ -343,5 +343,6 @@ $(srcdir)/gimpenums.c: $(srcdir)/gimpenums.h $(GIMP_MKENUMS)
--dprod " { @VALUENAME@, @valuedesc@, @valuehelp@ }," \
--dtail " { 0, NULL, NULL }\n };\n\n static GType type = 0;\n\n if (! type)\n {\n type = g_@type@_register_static (\"@EnumName@\", values);\n gimp_type_set_translation_domain (type, GETTEXT_PACKAGE \"-libgimp\");\n gimp_@type@_set_value_descriptions (type, descs);\n }\n\n return type;\n}\n" \
$(srcdir)/gimpenums.h > xgen-cec \
&& cat $(srcdir)/gimpenums.c.tail >> xgen-cec \
&& cp xgen-cec $(@F) \
&& rm -f xgen-cec
......@@ -359,6 +359,8 @@ gimp_main (const GimpPlugInInfo *info,
wire_set_writer (gimp_write);
wire_set_flusher (gimp_flush);
g_type_init ();
_gimp_enums_init ();
/* initialize units */
{
......
......@@ -144,6 +144,7 @@ EXPORTS
gimp_edit_paste
gimp_edit_stroke
gimp_ellipse_select
gimp_enums_get_type_names
gimp_equalize
gimp_eraser
gimp_eraser_default
......
......@@ -427,6 +427,11 @@ typedef enum
} GimpTransferMode;
void _gimp_enums_init (void);
const gchar ** gimp_enums_get_type_names (gint *n_type_names);
G_END_DECLS
#endif /* __GIMP_ENUMS_H__ */
......@@ -143,6 +143,240 @@ gimp_image_type_get_type (void)
return type;
}
GType
gimp_pdb_arg_type_get_type (void)
{
static const GEnumValue values[] =
{
{ GIMP_PDB_INT32, "GIMP_PDB_INT32", "int32" },
{ GIMP_PDB_INT16, "GIMP_PDB_INT16", "int16" },
{ GIMP_PDB_INT8, "GIMP_PDB_INT8", "int8" },
{ GIMP_PDB_FLOAT, "GIMP_PDB_FLOAT", "float" },
{ GIMP_PDB_STRING, "GIMP_PDB_STRING", "string" },
{ GIMP_PDB_INT32ARRAY, "GIMP_PDB_INT32ARRAY", "int32array" },
{ GIMP_PDB_INT16ARRAY, "GIMP_PDB_INT16ARRAY", "int16array" },
{ GIMP_PDB_INT8ARRAY, "GIMP_PDB_INT8ARRAY", "int8array" },
{ GIMP_PDB_FLOATARRAY, "GIMP_PDB_FLOATARRAY", "floatarray" },
{ GIMP_PDB_STRINGARRAY, "GIMP_PDB_STRINGARRAY", "stringarray" },
{ GIMP_PDB_COLOR, "GIMP_PDB_COLOR", "color" },
{ GIMP_PDB_REGION, "GIMP_PDB_REGION", "region" },
{ GIMP_PDB_DISPLAY, "GIMP_PDB_DISPLAY", "display" },
{ GIMP_PDB_IMAGE, "GIMP_PDB_IMAGE", "image" },
{ GIMP_PDB_LAYER, "GIMP_PDB_LAYER", "layer" },
{ GIMP_PDB_CHANNEL, "GIMP_PDB_CHANNEL", "channel" },
{ GIMP_PDB_DRAWABLE, "GIMP_PDB_DRAWABLE", "drawable" },
{ GIMP_PDB_SELECTION, "GIMP_PDB_SELECTION", "selection" },
{ GIMP_PDB_BOUNDARY, "GIMP_PDB_BOUNDARY", "boundary" },
{ GIMP_PDB_PATH, "GIMP_PDB_PATH", "path" },
{ GIMP_PDB_PARASITE, "GIMP_PDB_PARASITE", "parasite" },
{ GIMP_PDB_STATUS, "GIMP_PDB_STATUS", "status" },
{ GIMP_PDB_END, "GIMP_PDB_END", "end" },
{ 0, NULL, NULL }
};
static const GimpEnumDesc descs[] =
{
{ GIMP_PDB_INT32, "GIMP_PDB_INT32", NULL },
{ GIMP_PDB_INT16, "GIMP_PDB_INT16", NULL },
{ GIMP_PDB_INT8, "GIMP_PDB_INT8", NULL },
{ GIMP_PDB_FLOAT, "GIMP_PDB_FLOAT", NULL },
{ GIMP_PDB_STRING, "GIMP_PDB_STRING", NULL },
{ GIMP_PDB_INT32ARRAY, "GIMP_PDB_INT32ARRAY", NULL },
{ GIMP_PDB_INT16ARRAY, "GIMP_PDB_INT16ARRAY", NULL },
{ GIMP_PDB_INT8ARRAY, "GIMP_PDB_INT8ARRAY", NULL },
{ GIMP_PDB_FLOATARRAY, "GIMP_PDB_FLOATARRAY", NULL },
{ GIMP_PDB_STRINGARRAY, "GIMP_PDB_STRINGARRAY", NULL },
{ GIMP_PDB_COLOR, "GIMP_PDB_COLOR", NULL },
{ GIMP_PDB_REGION, "GIMP_PDB_REGION", NULL },
{ GIMP_PDB_DISPLAY, "GIMP_PDB_DISPLAY", NULL },
{ GIMP_PDB_IMAGE, "GIMP_PDB_IMAGE", NULL },
{ GIMP_PDB_LAYER, "GIMP_PDB_LAYER", NULL },
{ GIMP_PDB_CHANNEL, "GIMP_PDB_CHANNEL", NULL },
{ GIMP_PDB_DRAWABLE, "GIMP_PDB_DRAWABLE", NULL },
{ GIMP_PDB_SELECTION, "GIMP_PDB_SELECTION", NULL },
{ GIMP_PDB_BOUNDARY, "GIMP_PDB_BOUNDARY", NULL },
{ GIMP_PDB_PATH, "GIMP_PDB_PATH", NULL },
{ GIMP_PDB_PARASITE, "GIMP_PDB_PARASITE", NULL },
{ GIMP_PDB_STATUS, "GIMP_PDB_STATUS", NULL },
{ GIMP_PDB_END, "GIMP_PDB_END", NULL },
{ 0, NULL, NULL }
};
static GType type = 0;
if (! type)
{
type = g_enum_register_static ("GimpPDBArgType", values);
gimp_type_set_translation_domain (type, GETTEXT_PACKAGE "-libgimp");
gimp_enum_set_value_descriptions (type, descs);
}
return type;
}
GType
gimp_pdb_proc_type_get_type (void)
{
static const GEnumValue values[] =
{
{ GIMP_INTERNAL, "GIMP_INTERNAL", "internal" },
{ GIMP_PLUGIN, "GIMP_PLUGIN", "plugin" },
{ GIMP_EXTENSION, "GIMP_EXTENSION", "extension" },
{ GIMP_TEMPORARY, "GIMP_TEMPORARY", "temporary" },
{ 0, NULL, NULL }
};
static const GimpEnumDesc descs[] =
{
{ GIMP_INTERNAL, "GIMP_INTERNAL", NULL },
{ GIMP_PLUGIN, "GIMP_PLUGIN", NULL },
{ GIMP_EXTENSION, "GIMP_EXTENSION", NULL },
{ GIMP_TEMPORARY, "GIMP_TEMPORARY", NULL },
{ 0, NULL, NULL }
};
static GType type = 0;
if (! type)
{
type = g_enum_register_static ("GimpPDBProcType", values);
gimp_type_set_translation_domain (type, GETTEXT_PACKAGE "-libgimp");
gimp_enum_set_value_descriptions (type, descs);
}
return type;
}
GType
gimp_pdb_status_type_get_type (void)
{
static const GEnumValue values[] =
{
{ GIMP_PDB_EXECUTION_ERROR, "GIMP_PDB_EXECUTION_ERROR", "execution-error" },
{ GIMP_PDB_CALLING_ERROR, "GIMP_PDB_CALLING_ERROR", "calling-error" },
{ GIMP_PDB_PASS_THROUGH, "GIMP_PDB_PASS_THROUGH", "pass-through" },
{ GIMP_PDB_SUCCESS, "GIMP_PDB_SUCCESS", "success" },
{ GIMP_PDB_CANCEL, "GIMP_PDB_CANCEL", "cancel" },
{ 0, NULL, NULL }
};
static const GimpEnumDesc descs[] =
{
{ GIMP_PDB_EXECUTION_ERROR, "GIMP_PDB_EXECUTION_ERROR", NULL },
{ GIMP_PDB_CALLING_ERROR, "GIMP_PDB_CALLING_ERROR", NULL },
{ GIMP_PDB_PASS_THROUGH, "GIMP_PDB_PASS_THROUGH", NULL },
{ GIMP_PDB_SUCCESS, "GIMP_PDB_SUCCESS", NULL },
{ GIMP_PDB_CANCEL, "GIMP_PDB_CANCEL", NULL },
{ 0, NULL, NULL }
};
static GType type = 0;
if (! type)
{
type = g_enum_register_static ("GimpPDBStatusType", values);
gimp_type_set_translation_domain (type, GETTEXT_PACKAGE "-libgimp");
gimp_enum_set_value_descriptions (type, descs);
}
return type;
}
GType
gimp_message_handler_type_get_type (void)
{
static const GEnumValue values[] =
{
{ GIMP_MESSAGE_BOX, "GIMP_MESSAGE_BOX", "message-box" },
{ GIMP_CONSOLE, "GIMP_CONSOLE", "console" },
{ GIMP_ERROR_CONSOLE, "GIMP_ERROR_CONSOLE", "error-console" },
{ 0, NULL, NULL }
};
static const GimpEnumDesc descs[] =
{
{ GIMP_MESSAGE_BOX, "GIMP_MESSAGE_BOX", NULL },
{ GIMP_CONSOLE, "GIMP_CONSOLE", NULL },
{ GIMP_ERROR_CONSOLE, "GIMP_ERROR_CONSOLE", NULL },
{ 0, NULL, NULL }
};
static GType type = 0;
if (! type)
{
type = g_enum_register_static ("GimpMessageHandlerType", values);
gimp_type_set_translation_domain (type, GETTEXT_PACKAGE "-libgimp");
gimp_enum_set_value_descriptions (type, descs);
}
return type;
}
GType
gimp_stack_trace_mode_get_type (void)
{
static const GEnumValue values[] =
{
{ GIMP_STACK_TRACE_NEVER, "GIMP_STACK_TRACE_NEVER", "never" },
{ GIMP_STACK_TRACE_QUERY, "GIMP_STACK_TRACE_QUERY", "query" },
{ GIMP_STACK_TRACE_ALWAYS, "GIMP_STACK_TRACE_ALWAYS", "always" },
{ 0, NULL, NULL }
};
static const GimpEnumDesc descs[] =
{
{ GIMP_STACK_TRACE_NEVER, "GIMP_STACK_TRACE_NEVER", NULL },
{ GIMP_STACK_TRACE_QUERY, "GIMP_STACK_TRACE_QUERY", NULL },
{ GIMP_STACK_TRACE_ALWAYS, "GIMP_STACK_TRACE_ALWAYS", NULL },
{ 0, NULL, NULL }
};
static GType type = 0;
if (! type)
{
type = g_enum_register_static ("GimpStackTraceMode", values);
gimp_type_set_translation_domain (type, GETTEXT_PACKAGE "-libgimp");
gimp_enum_set_value_descriptions (type, descs);
}
return type;
}
GType
gimp_progress_command_get_type (void)
{
static const GEnumValue values[] =
{
{ GIMP_PROGRESS_COMMAND_START, "GIMP_PROGRESS_COMMAND_START", "start" },
{ GIMP_PROGRESS_COMMAND_END, "GIMP_PROGRESS_COMMAND_END", "end" },
{ GIMP_PROGRESS_COMMAND_SET_TEXT, "GIMP_PROGRESS_COMMAND_SET_TEXT", "set-text" },
{ GIMP_PROGRESS_COMMAND_SET_VALUE, "GIMP_PROGRESS_COMMAND_SET_VALUE", "set-value" },
{ 0, NULL, NULL }
};
static const GimpEnumDesc descs[] =
{
{ GIMP_PROGRESS_COMMAND_START, "GIMP_PROGRESS_COMMAND_START", NULL },
{ GIMP_PROGRESS_COMMAND_END, "GIMP_PROGRESS_COMMAND_END", NULL },
{ GIMP_PROGRESS_COMMAND_SET_TEXT, "GIMP_PROGRESS_COMMAND_SET_TEXT", NULL },
{ GIMP_PROGRESS_COMMAND_SET_VALUE, "GIMP_PROGRESS_COMMAND_SET_VALUE", NULL },
{ 0, NULL, NULL }
};
static GType type = 0;
if (! type)
{
type = g_enum_register_static ("GimpProgressCommand", values);
gimp_type_set_translation_domain (type, GETTEXT_PACKAGE "-libgimp");
gimp_enum_set_value_descriptions (type, descs);
}
return type;
}
/* Generated data ends here */
......@@ -26,10 +26,6 @@ G_BEGIN_DECLS
/* For information look into the C source or the html documentation */
/*
* these enums that are registered with the type system
*/
#define GIMP_TYPE_CHECK_SIZE (gimp_check_size_get_type ())
GType gimp_check_size_get_type (void) G_GNUC_CONST;
......@@ -84,11 +80,7 @@ typedef enum
} GimpImageType;
/*
* non-registered enums
*/
typedef enum /*< skip >*/
typedef enum /*< skip >*/
{
GIMP_UNIT_PIXEL = 0,
......@@ -102,7 +94,12 @@ typedef enum /*< skip >*/
GIMP_UNIT_PERCENT = 65536 /*< pdb-skip >*/
} GimpUnit;
typedef enum /*< skip >*/
#define GIMP_TYPE_PDB_ARG_TYPE (gimp_pdb_arg_type_get_type ())
GType gimp_pdb_arg_type_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_PDB_INT32,
GIMP_PDB_INT16,
......@@ -129,7 +126,12 @@ typedef enum /*< skip >*/
GIMP_PDB_END
} GimpPDBArgType;
typedef enum /*< skip >*/
#define GIMP_TYPE_PDB_PROC_TYPE (gimp_pdb_proc_type_get_type ())
GType gimp_pdb_proc_type_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_INTERNAL,
GIMP_PLUGIN,
......@@ -137,7 +139,12 @@ typedef enum /*< skip >*/
GIMP_TEMPORARY
} GimpPDBProcType;
typedef enum /*< skip >*/
#define GIMP_TYPE_PDB_STATUS_TYPE (gimp_pdb_status_type_get_type ())
GType gimp_pdb_status_type_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_PDB_EXECUTION_ERROR,
GIMP_PDB_CALLING_ERROR,
......@@ -146,21 +153,36 @@ typedef enum /*< skip >*/
GIMP_PDB_CANCEL
} GimpPDBStatusType;
typedef enum /*< skip >*/
#define GIMP_TYPE_MESSAGE_HANDLER_TYPE (gimp_message_handler_type_get_type ())
GType gimp_message_handler_type_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_MESSAGE_BOX,
GIMP_CONSOLE,
GIMP_ERROR_CONSOLE
} GimpMessageHandlerType;
typedef enum /*< skip >*/
#define GIMP_TYPE_STACK_TRACE_MODE (gimp_stack_trace_mode_get_type ())
GType gimp_stack_trace_mode_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_STACK_TRACE_NEVER,
GIMP_STACK_TRACE_QUERY,
GIMP_STACK_TRACE_ALWAYS
} GimpStackTraceMode;
typedef enum /*< skip >*/
#define GIMP_TYPE_PROGRESS_COMMAND (gimp_progress_command_get_type ())
GType gimp_progress_command_get_type (void) G_GNUC_CONST;
typedef enum
{
GIMP_PROGRESS_COMMAND_START,
GIMP_PROGRESS_COMMAND_END,
......
......@@ -28,8 +28,6 @@ script_fu_SOURCES = \
script-fu-interface.h \
script-fu-text-console.h \
script-fu-text-console.c \
script-fu-constants.c \
script-fu-constants.h \
script-fu-intl.h \
script-fu-scripts.c \
script-fu-scripts.h \
......
......@@ -28,7 +28,6 @@
#include "script-fu-types.h"
#include "script-fu-constants.h"
#include "script-fu-console.h"
#include "script-fu-interface.h"
#include "script-fu-scripts.h"
......@@ -281,6 +280,11 @@ init_procedures (void)
static void
init_constants (void)
{
const gchar **enum_type_names;
gint n_enum_type_names;
gint i;
GimpUnit unit;
setvar (cintern ("gimp-directory"),
strcons (-1, (gchar *) gimp_directory ()), NIL);
......@@ -296,8 +300,63 @@ init_constants (void)
setvar (cintern ("gimp-sysconf-directory"),
strcons (-1, (gchar *) gimp_sysconf_directory ()), NIL);
/* Generated constants */
init_generated_constants ();
enum_type_names = gimp_enums_get_type_names (&n_enum_type_names);
for (i = 0; i < n_enum_type_names; i++)
{
const gchar *enum_name = enum_type_names[i];
GType enum_type = g_type_from_name (enum_name);
GEnumClass *enum_class = g_type_class_ref (enum_type);
GEnumValue *value;
for (value = enum_class->values; value->value_name; value++)
{
if (! strncmp ("GIMP_", value->value_name, 5))
{
gchar *scheme_name;
gchar *s;
scheme_name = g_strdup (value->value_name + 5);
for (s = scheme_name; *s; s++)
if (*s == '_')
*s = '-';
g_print ("registering %s \"%s\" = %d\n",
enum_name, scheme_name, value->value);
setvar (rintern (scheme_name), flocons (value->value), NIL);
g_free (scheme_name);
}
else
{
g_print ("EEK: enum %s has evil value \"%s\"\n",
enum_name, value->value_name);
}
}
g_type_class_unref (enum_class);
}
for (unit = GIMP_UNIT_PIXEL;
unit < gimp_unit_get_number_of_built_in_units ();
unit++)
{
gchar *tmp;
gchar *scheme_name;
tmp = g_ascii_strup (gimp_unit_get_singular (unit), -1);
scheme_name = g_strconcat ("UNIT-", tmp, NULL);
g_free (tmp);
g_print ("registering GimpUnit \"%s\" = %d\n",
scheme_name, unit);
setvar (rintern (scheme_name), flocons (unit), NIL);
g_free (scheme_name);
}
/* These are for backwards compatibility; they should be removed sometime */
setvar (cintern ("gimp-dir"),
......@@ -329,13 +388,6 @@ init_constants (void)
setvar (cintern ("BLUR"), flocons (GIMP_BLUR_CONVOLVE), NIL);
setvar (cintern ("SHARPEN"), flocons (GIMP_SHARPEN_CONVOLVE), NIL);
setvar (cintern ("RGB-IMAGE"), flocons (GIMP_RGB_IMAGE), NIL);
setvar (cintern ("RGBA-IMAGE"), flocons (GIMP_RGBA_IMAGE), NIL);
setvar (cintern ("GRAY-IMAGE"), flocons (GIMP_GRAY_IMAGE), NIL);
setvar (cintern ("GRAYA-IMAGE"), flocons (GIMP_GRAYA_IMAGE), NIL);
setvar (cintern ("INDEXED-IMAGE"), flocons (GIMP_INDEXED_IMAGE), NIL);
setvar (cintern ("INDEXEDA-IMAGE"), flocons (GIMP_INDEXEDA_IMAGE), NIL);
setvar (cintern ("WHITE-MASK"), flocons (GIMP_ADD_WHITE_MASK), NIL);
setvar (cintern ("BLACK-MASK"), flocons (GIMP_ADD_BLACK_MASK), NIL);
setvar (cintern ("ALPHA-MASK"), flocons (GIMP_ADD_ALPHA_MASK), NIL);
......
/* The GIMP -- an image manipulation program
* Copyright (C) 1995-2003 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/* NOTE: This file is autogenerated by enumcode.pl. */
#include "siod/siod.h"
void
init_generated_constants (void)
{
setvar (cintern ("ADD-WHITE-MASK"), flocons (0), NIL);
setvar (cintern ("ADD-BLACK-MASK"), flocons (1), NIL);
setvar (cintern ("ADD-ALPHA-MASK"), flocons (2), NIL);
setvar (cintern ("ADD-ALPHA-TRANSFER-MASK"), flocons (3), NIL);
setvar (cintern ("ADD-SELECTION-MASK"), flocons (4), NIL);
setvar (cintern ("ADD-COPY-MASK"), flocons (5), NIL);
setvar (cintern ("FG-BG-RGB-MODE"), flocons (0), NIL);
setvar (cintern ("FG-BG-HSV-MODE"), flocons (1), NIL);
setvar (cintern ("FG-TRANSPARENT-MODE"), flocons (2), NIL);
setvar (cintern ("CUSTOM-MODE"), flocons (3), NIL);
setvar (cintern ("BRUSH-HARD"), flocons (0), NIL);
setvar (cintern ("BRUSH-SOFT"), flocons (1), NIL);
setvar (cintern ("FG-BUCKET-FILL"), flocons (0), NIL);
setvar (cintern ("BG-BUCKET-FILL"), flocons (1), NIL);
setvar (cintern ("PATTERN-BUCKET-FILL"), flocons (2), NIL);
setvar (cintern ("CHANNEL-OP-ADD"), flocons (0), NIL);
setvar (cintern ("CHANNEL-OP-SUBTRACT"), flocons (1), NIL);
setvar (cintern ("CHANNEL-OP-REPLACE"), flocons (2), NIL);
setvar (cintern ("CHANNEL-OP-INTERSECT"), flocons (3), NIL);
setvar (cintern ("RED-CHANNEL"), flocons (0), NIL);
setvar (cintern ("GREEN-CHANNEL"), flocons (1), NIL);
setvar (cintern ("BLUE-CHANNEL"), flocons (2), NIL);
setvar (cintern ("GRAY-CHANNEL"), flocons (3), NIL);
setvar (cintern ("INDEXED-CHANNEL"), flocons (4), NIL);
setvar (cintern ("ALPHA-CHANNEL"), flocons (5), NIL);
setvar (cintern ("IMAGE-CLONE"), flocons (0), NIL);
setvar (cintern ("PATTERN-CLONE"), flocons (1), NIL);
setvar (cintern ("NO-DITHER"), flocons (0), NIL);
setvar (cintern ("FS-DITHER"), flocons (1), NIL);
setvar (cintern ("FSLOWBLEED-DITHER"), flocons (2), NIL);
setvar (cintern ("FIXED-DITHER"), flocons (3), NIL);
setvar (cintern ("MAKE-PALETTE"), flocons (0), NIL);
setvar (cintern ("REUSE-PALETTE"), flocons (1), NIL);
setvar (cintern ("WEB-PALETTE"), flocons (2), NIL);
setvar (cintern ("MONO-PALETTE"), flocons (3), NIL);
setvar (cintern ("CUSTOM-PALETTE"), flocons (4), NIL);
setvar (cintern ("NORMAL-CONVOL"), flocons (0), NIL);
setvar (cintern ("ABSOLUTE-CONVOL"), flocons (1), NIL);
setvar (cintern ("NEGATIVE-CONVOL"), flocons (2), NIL);
setvar (cintern ("BLUR-CONVOLVE"), flocons (0), NIL);
setvar (cintern ("SHARPEN-CONVOLVE"), flocons (1), NIL);
setvar (cintern ("DODGE"), flocons (0), NIL);
setvar (cintern ("BURN"), flocons (1), NIL);
setvar (cintern ("FOREGROUND-FILL"), flocons (0), NIL);
setvar (cintern ("BACKGROUND-FILL"), flocons (1), NIL);
setvar (cintern ("WHITE-FILL"), flocons (2), NIL);
setvar (cintern ("TRANSPARENT-FILL"), flocons (3), NIL);
setvar (cintern ("PATTERN-FILL"), flocons (4), NIL);
setvar (cintern ("GRADIENT-SEGMENT-RGB"), flocons (0), NIL);
setvar (cintern ("GRADIENT-SEGMENT-HSV-CCW"), flocons (1), NIL);
setvar (cintern ("GRADIENT-SEGMENT-HSV-CW"), flocons (2), NIL);
setvar (cintern ("GRADIENT-SEGMENT-LINEAR"), flocons (0), NIL);
setvar (cintern ("GRADIENT-SEGMENT-CURVED"), flocons (1), NIL);
setvar (cintern ("GRADIENT-SEGMENT-SINE"), flocons (2), NIL);
setvar (cintern ("GRADIENT-SEGMENT-SPHERE-INCREASING"), flocons (3), NIL);
setvar (cintern ("GRADIENT-SEGMENT-SPHERE-DECREASING"), flocons (4), NIL);
setvar (cintern ("GRADIENT-LINEAR"), flocons (0), NIL);
setvar (cintern ("GRADIENT-BILINEAR"), flocons (1), NIL);
setvar (cintern ("GRADIENT-RADIAL"), flocons (2), NIL);
setvar (cintern ("GRADIENT-SQUARE"), flocons (3), NIL);
setvar (cintern ("GRADIENT-CONICAL-SYMMETRIC"), flocons (4), NIL);
setvar (cintern ("GRADIENT-CONICAL-ASYMMETRIC"), flocons (5), NIL);
setvar (cintern ("GRADIENT-SHAPEBURST-ANGULAR"), flocons (6), NIL);
setvar (cintern ("GRADIENT-SHAPEBURST-SPHERICAL"), flocons (7), NIL);
setvar (cintern ("GRADIENT-SHAPEBURST-DIMPLED"), flocons (8), NIL);
setvar (cintern ("GRADIENT-SPIRAL-CLOCKWISE"), flocons (9), NIL);
setvar (cintern ("GRADIENT-SPIRAL-ANTICLOCKWISE"), flocons (10), NIL);
setvar (cintern ("HISTOGRAM-VALUE"), flocons (0), NIL);
setvar (cintern ("HISTOGRAM-RED"), flocons (1), NIL);
setvar (cintern ("HISTOGRAM-GREEN"), flocons (2), NIL);
setvar (cintern ("HISTOGRAM-BLUE"), flocons (3), NIL);
setvar (cintern ("HISTOGRAM-ALPHA"), flocons (4), NIL);
setvar (cintern ("ALL-HUES"), flocons (0), NIL);
setvar (cintern ("RED-HUES"), flocons (1), NIL);
setvar (cintern ("YELLOW-HUES"), flocons (2), NIL);
setvar (cintern ("GREEN-HUES"), flocons (3), NIL);
setvar (cintern ("CYAN-HUES"), flocons (4), NIL);
setvar (cintern ("BLUE-HUES"), flocons (5), NIL);
setvar (cintern ("MAGENTA-HUES"), flocons (6), NIL);
setvar (cintern ("ICON-TYPE-STOCK-ID"), flocons (0), NIL);
setvar (cintern ("ICON-TYPE-INLINE-PIXBUF"), flocons (1), NIL);
setvar (cintern ("ICON-TYPE-IMAGE-FILE"), flocons (2), NIL);
setvar (cintern ("RGB"), flocons (0), NIL);
setvar (cintern ("GRAY"), flocons (1), NIL);
setvar (cintern ("INDEXED"), flocons (2), NIL);
setvar (cintern ("RGB-IMAGE"), flocons (0), NIL);
setvar (cintern ("RGBA-IMAGE"), flocons (1), NIL);
setvar (cintern ("GRAY-IMAGE"), flocons (2), NIL);
setvar (cintern ("GRAYA-IMAGE"), flocons (3), NIL);
setvar (cintern ("INDEXED-IMAGE"), flocons (4), NIL);
setvar (cintern ("INDEXEDA-IMAGE"), flocons (5), NIL);
setvar (cintern ("NORMAL-MODE"), flocons (0), NIL);
setvar (cintern ("DISSOLVE-MODE"), flocons (1), NIL);
setvar (cintern ("BEHIND-MODE"), flocons (2), NIL);
setvar (cintern ("MULTIPLY-MODE"), flocons (3), NIL);
setvar (cintern ("SCREEN-MODE"), flocons (4), NIL);
setvar (cintern ("OVERLAY-MODE"), flocons (5), NIL);
setvar (cintern ("DIFFERENCE-MODE"), flocons (6), NIL);
setvar (cintern ("ADDITION-MODE"), flocons (7), NIL);
setvar (cintern ("SUBTRACT-MODE"), flocons (8), NIL);
setvar (cintern ("DARKEN-ONLY-MODE"), flocons (9), NIL);
setvar (cintern ("LIGHTEN-ONLY-MODE"), flocons (10), NIL);
setvar (cintern ("HUE-MODE"), flocons (11), NIL);
setvar (cintern ("SATURATION-MODE"), flocons (12), NIL);
setvar (cintern ("COLOR-MODE"), flocons (13), NIL);
setvar (cintern ("VALUE-MODE"), flocons (14), NIL);
setvar (cintern ("DIVIDE-MODE"), flocons (15), NIL);
setvar (cintern ("DODGE-MODE"), flocons (16), NIL);
setvar (cintern ("BURN-MODE"), flocons (17), NIL);
setvar (cintern ("HARDLIGHT-MODE"), flocons (18), NIL);
setvar (cintern ("SOFTLIGHT-MODE"), flocons (19), NIL);
setvar (cintern ("GRAIN-EXTRACT-MODE"), flocons (20), NIL);
setvar (cintern ("GRAIN-MERGE-MODE"), flocons (21), NIL);
setvar (cintern ("COLOR-ERASE-MODE"), flocons (22), NIL);
setvar (cintern ("MASK-APPLY"), flocons (0), NIL);
setvar (cintern ("MASK-DISCARD"), flocons (1), NIL);
setvar (cintern ("EXPAND-AS-NECESSARY"), flocons (0), NIL);
setvar (cintern ("CLIP-TO-IMAGE"), flocons (1), NIL);
setvar (cintern ("CLIP-TO-BOTTOM-LAYER"), flocons (2), NIL);
setvar (cintern ("FLATTEN-IMAGE"), flocons (3), NIL);
setvar (cintern ("MESSAGE-BOX"), flocons (0), NIL);
setvar (cintern ("CONSOLE"), flocons (1), NIL);
setvar (cintern ("ERROR-CONSOLE"), flocons (2), NIL);
setvar (cintern ("OFFSET-BACKGROUND"), flocons (0), NIL);
setvar (cintern ("OFFSET-TRANSPARENT"), flocons (1), NIL);
setvar (cintern ("ORIENTATION-HORIZONTAL"), flocons (0), NIL);
setvar (cintern ("ORIENTATION-VERTICAL"), flocons (1), NIL);
setvar (cintern ("ORIENTATION-UNKNOWN"), flocons (2), NIL);