
/* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */

/* auto-generated enums for vips introspection */

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif /*HAVE_CONFIG_H*/
#define VIPS_DISABLE_DEPRECATION_WARNINGS
#include <vips/vips.h>
/* enumerations from "almostdeprecated.h" */
GType
vips_foreign_jpeg_subsample_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FOREIGN_JPEG_SUBSAMPLE_AUTO, "VIPS_FOREIGN_JPEG_SUBSAMPLE_AUTO", "auto" },
			{ VIPS_FOREIGN_JPEG_SUBSAMPLE_ON, "VIPS_FOREIGN_JPEG_SUBSAMPLE_ON", "on" },
			{ VIPS_FOREIGN_JPEG_SUBSAMPLE_OFF, "VIPS_FOREIGN_JPEG_SUBSAMPLE_OFF", "off" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsForeignJpegSubsample"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "arithmetic.h" */
GType
vips_operation_math_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_OPERATION_MATH_SIN, "VIPS_OPERATION_MATH_SIN", "sin" },
			{ VIPS_OPERATION_MATH_COS, "VIPS_OPERATION_MATH_COS", "cos" },
			{ VIPS_OPERATION_MATH_TAN, "VIPS_OPERATION_MATH_TAN", "tan" },
			{ VIPS_OPERATION_MATH_ASIN, "VIPS_OPERATION_MATH_ASIN", "asin" },
			{ VIPS_OPERATION_MATH_ACOS, "VIPS_OPERATION_MATH_ACOS", "acos" },
			{ VIPS_OPERATION_MATH_ATAN, "VIPS_OPERATION_MATH_ATAN", "atan" },
			{ VIPS_OPERATION_MATH_LOG, "VIPS_OPERATION_MATH_LOG", "log" },
			{ VIPS_OPERATION_MATH_LOG10, "VIPS_OPERATION_MATH_LOG10", "log10" },
			{ VIPS_OPERATION_MATH_EXP, "VIPS_OPERATION_MATH_EXP", "exp" },
			{ VIPS_OPERATION_MATH_EXP10, "VIPS_OPERATION_MATH_EXP10", "exp10" },
			{ VIPS_OPERATION_MATH_SINH, "VIPS_OPERATION_MATH_SINH", "sinh" },
			{ VIPS_OPERATION_MATH_COSH, "VIPS_OPERATION_MATH_COSH", "cosh" },
			{ VIPS_OPERATION_MATH_TANH, "VIPS_OPERATION_MATH_TANH", "tanh" },
			{ VIPS_OPERATION_MATH_ASINH, "VIPS_OPERATION_MATH_ASINH", "asinh" },
			{ VIPS_OPERATION_MATH_ACOSH, "VIPS_OPERATION_MATH_ACOSH", "acosh" },
			{ VIPS_OPERATION_MATH_ATANH, "VIPS_OPERATION_MATH_ATANH", "atanh" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsOperationMath"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_operation_math2_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_OPERATION_MATH2_POW, "VIPS_OPERATION_MATH2_POW", "pow" },
			{ VIPS_OPERATION_MATH2_WOP, "VIPS_OPERATION_MATH2_WOP", "wop" },
			{ VIPS_OPERATION_MATH2_ATAN2, "VIPS_OPERATION_MATH2_ATAN2", "atan2" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsOperationMath2"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_operation_round_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_OPERATION_ROUND_RINT, "VIPS_OPERATION_ROUND_RINT", "rint" },
			{ VIPS_OPERATION_ROUND_CEIL, "VIPS_OPERATION_ROUND_CEIL", "ceil" },
			{ VIPS_OPERATION_ROUND_FLOOR, "VIPS_OPERATION_ROUND_FLOOR", "floor" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsOperationRound"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_operation_relational_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_OPERATION_RELATIONAL_EQUAL, "VIPS_OPERATION_RELATIONAL_EQUAL", "equal" },
			{ VIPS_OPERATION_RELATIONAL_NOTEQ, "VIPS_OPERATION_RELATIONAL_NOTEQ", "noteq" },
			{ VIPS_OPERATION_RELATIONAL_LESS, "VIPS_OPERATION_RELATIONAL_LESS", "less" },
			{ VIPS_OPERATION_RELATIONAL_LESSEQ, "VIPS_OPERATION_RELATIONAL_LESSEQ", "lesseq" },
			{ VIPS_OPERATION_RELATIONAL_MORE, "VIPS_OPERATION_RELATIONAL_MORE", "more" },
			{ VIPS_OPERATION_RELATIONAL_MOREEQ, "VIPS_OPERATION_RELATIONAL_MOREEQ", "moreeq" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsOperationRelational"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_operation_boolean_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_OPERATION_BOOLEAN_AND, "VIPS_OPERATION_BOOLEAN_AND", "and" },
			{ VIPS_OPERATION_BOOLEAN_OR, "VIPS_OPERATION_BOOLEAN_OR", "or" },
			{ VIPS_OPERATION_BOOLEAN_EOR, "VIPS_OPERATION_BOOLEAN_EOR", "eor" },
			{ VIPS_OPERATION_BOOLEAN_LSHIFT, "VIPS_OPERATION_BOOLEAN_LSHIFT", "lshift" },
			{ VIPS_OPERATION_BOOLEAN_RSHIFT, "VIPS_OPERATION_BOOLEAN_RSHIFT", "rshift" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsOperationBoolean"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_operation_complex_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_OPERATION_COMPLEX_POLAR, "VIPS_OPERATION_COMPLEX_POLAR", "polar" },
			{ VIPS_OPERATION_COMPLEX_RECT, "VIPS_OPERATION_COMPLEX_RECT", "rect" },
			{ VIPS_OPERATION_COMPLEX_CONJ, "VIPS_OPERATION_COMPLEX_CONJ", "conj" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsOperationComplex"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_operation_complex2_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_OPERATION_COMPLEX2_CROSS_PHASE, "VIPS_OPERATION_COMPLEX2_CROSS_PHASE", "cross-phase" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsOperationComplex2"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_operation_complexget_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_OPERATION_COMPLEXGET_REAL, "VIPS_OPERATION_COMPLEXGET_REAL", "real" },
			{ VIPS_OPERATION_COMPLEXGET_IMAG, "VIPS_OPERATION_COMPLEXGET_IMAG", "imag" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsOperationComplexget"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "basic.h" */
GType
vips_precision_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_PRECISION_INTEGER, "VIPS_PRECISION_INTEGER", "integer" },
			{ VIPS_PRECISION_FLOAT, "VIPS_PRECISION_FLOAT", "float" },
			{ VIPS_PRECISION_APPROXIMATE, "VIPS_PRECISION_APPROXIMATE", "approximate" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsPrecision"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "colour.h" */
GType
vips_intent_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_INTENT_PERCEPTUAL, "VIPS_INTENT_PERCEPTUAL", "perceptual" },
			{ VIPS_INTENT_RELATIVE, "VIPS_INTENT_RELATIVE", "relative" },
			{ VIPS_INTENT_SATURATION, "VIPS_INTENT_SATURATION", "saturation" },
			{ VIPS_INTENT_ABSOLUTE, "VIPS_INTENT_ABSOLUTE", "absolute" },
			{ VIPS_INTENT_AUTO, "VIPS_INTENT_AUTO", "auto" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsIntent"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_pcs_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_PCS_LAB, "VIPS_PCS_LAB", "lab" },
			{ VIPS_PCS_XYZ, "VIPS_PCS_XYZ", "xyz" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsPCS"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "conversion.h" */
GType
vips_extend_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_EXTEND_BLACK, "VIPS_EXTEND_BLACK", "black" },
			{ VIPS_EXTEND_COPY, "VIPS_EXTEND_COPY", "copy" },
			{ VIPS_EXTEND_REPEAT, "VIPS_EXTEND_REPEAT", "repeat" },
			{ VIPS_EXTEND_MIRROR, "VIPS_EXTEND_MIRROR", "mirror" },
			{ VIPS_EXTEND_WHITE, "VIPS_EXTEND_WHITE", "white" },
			{ VIPS_EXTEND_BACKGROUND, "VIPS_EXTEND_BACKGROUND", "background" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsExtend"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_compass_direction_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_COMPASS_DIRECTION_CENTRE, "VIPS_COMPASS_DIRECTION_CENTRE", "centre" },
			{ VIPS_COMPASS_DIRECTION_NORTH, "VIPS_COMPASS_DIRECTION_NORTH", "north" },
			{ VIPS_COMPASS_DIRECTION_EAST, "VIPS_COMPASS_DIRECTION_EAST", "east" },
			{ VIPS_COMPASS_DIRECTION_SOUTH, "VIPS_COMPASS_DIRECTION_SOUTH", "south" },
			{ VIPS_COMPASS_DIRECTION_WEST, "VIPS_COMPASS_DIRECTION_WEST", "west" },
			{ VIPS_COMPASS_DIRECTION_NORTH_EAST, "VIPS_COMPASS_DIRECTION_NORTH_EAST", "north-east" },
			{ VIPS_COMPASS_DIRECTION_SOUTH_EAST, "VIPS_COMPASS_DIRECTION_SOUTH_EAST", "south-east" },
			{ VIPS_COMPASS_DIRECTION_SOUTH_WEST, "VIPS_COMPASS_DIRECTION_SOUTH_WEST", "south-west" },
			{ VIPS_COMPASS_DIRECTION_NORTH_WEST, "VIPS_COMPASS_DIRECTION_NORTH_WEST", "north-west" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsCompassDirection"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_direction_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_DIRECTION_HORIZONTAL, "VIPS_DIRECTION_HORIZONTAL", "horizontal" },
			{ VIPS_DIRECTION_VERTICAL, "VIPS_DIRECTION_VERTICAL", "vertical" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsDirection"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_align_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_ALIGN_LOW, "VIPS_ALIGN_LOW", "low" },
			{ VIPS_ALIGN_CENTRE, "VIPS_ALIGN_CENTRE", "centre" },
			{ VIPS_ALIGN_HIGH, "VIPS_ALIGN_HIGH", "high" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsAlign"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_angle_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_ANGLE_D0, "VIPS_ANGLE_D0", "d0" },
			{ VIPS_ANGLE_D90, "VIPS_ANGLE_D90", "d90" },
			{ VIPS_ANGLE_D180, "VIPS_ANGLE_D180", "d180" },
			{ VIPS_ANGLE_D270, "VIPS_ANGLE_D270", "d270" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsAngle"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_angle45_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_ANGLE45_D0, "VIPS_ANGLE45_D0", "d0" },
			{ VIPS_ANGLE45_D45, "VIPS_ANGLE45_D45", "d45" },
			{ VIPS_ANGLE45_D90, "VIPS_ANGLE45_D90", "d90" },
			{ VIPS_ANGLE45_D135, "VIPS_ANGLE45_D135", "d135" },
			{ VIPS_ANGLE45_D180, "VIPS_ANGLE45_D180", "d180" },
			{ VIPS_ANGLE45_D225, "VIPS_ANGLE45_D225", "d225" },
			{ VIPS_ANGLE45_D270, "VIPS_ANGLE45_D270", "d270" },
			{ VIPS_ANGLE45_D315, "VIPS_ANGLE45_D315", "d315" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsAngle45"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_interesting_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_INTERESTING_NONE, "VIPS_INTERESTING_NONE", "none" },
			{ VIPS_INTERESTING_CENTRE, "VIPS_INTERESTING_CENTRE", "centre" },
			{ VIPS_INTERESTING_ENTROPY, "VIPS_INTERESTING_ENTROPY", "entropy" },
			{ VIPS_INTERESTING_ATTENTION, "VIPS_INTERESTING_ATTENTION", "attention" },
			{ VIPS_INTERESTING_LOW, "VIPS_INTERESTING_LOW", "low" },
			{ VIPS_INTERESTING_HIGH, "VIPS_INTERESTING_HIGH", "high" },
			{ VIPS_INTERESTING_ALL, "VIPS_INTERESTING_ALL", "all" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsInteresting"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_blend_mode_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_BLEND_MODE_CLEAR, "VIPS_BLEND_MODE_CLEAR", "clear" },
			{ VIPS_BLEND_MODE_SOURCE, "VIPS_BLEND_MODE_SOURCE", "source" },
			{ VIPS_BLEND_MODE_OVER, "VIPS_BLEND_MODE_OVER", "over" },
			{ VIPS_BLEND_MODE_IN, "VIPS_BLEND_MODE_IN", "in" },
			{ VIPS_BLEND_MODE_OUT, "VIPS_BLEND_MODE_OUT", "out" },
			{ VIPS_BLEND_MODE_ATOP, "VIPS_BLEND_MODE_ATOP", "atop" },
			{ VIPS_BLEND_MODE_DEST, "VIPS_BLEND_MODE_DEST", "dest" },
			{ VIPS_BLEND_MODE_DEST_OVER, "VIPS_BLEND_MODE_DEST_OVER", "dest-over" },
			{ VIPS_BLEND_MODE_DEST_IN, "VIPS_BLEND_MODE_DEST_IN", "dest-in" },
			{ VIPS_BLEND_MODE_DEST_OUT, "VIPS_BLEND_MODE_DEST_OUT", "dest-out" },
			{ VIPS_BLEND_MODE_DEST_ATOP, "VIPS_BLEND_MODE_DEST_ATOP", "dest-atop" },
			{ VIPS_BLEND_MODE_XOR, "VIPS_BLEND_MODE_XOR", "xor" },
			{ VIPS_BLEND_MODE_ADD, "VIPS_BLEND_MODE_ADD", "add" },
			{ VIPS_BLEND_MODE_SATURATE, "VIPS_BLEND_MODE_SATURATE", "saturate" },
			{ VIPS_BLEND_MODE_MULTIPLY, "VIPS_BLEND_MODE_MULTIPLY", "multiply" },
			{ VIPS_BLEND_MODE_SCREEN, "VIPS_BLEND_MODE_SCREEN", "screen" },
			{ VIPS_BLEND_MODE_OVERLAY, "VIPS_BLEND_MODE_OVERLAY", "overlay" },
			{ VIPS_BLEND_MODE_DARKEN, "VIPS_BLEND_MODE_DARKEN", "darken" },
			{ VIPS_BLEND_MODE_LIGHTEN, "VIPS_BLEND_MODE_LIGHTEN", "lighten" },
			{ VIPS_BLEND_MODE_COLOUR_DODGE, "VIPS_BLEND_MODE_COLOUR_DODGE", "colour-dodge" },
			{ VIPS_BLEND_MODE_COLOUR_BURN, "VIPS_BLEND_MODE_COLOUR_BURN", "colour-burn" },
			{ VIPS_BLEND_MODE_HARD_LIGHT, "VIPS_BLEND_MODE_HARD_LIGHT", "hard-light" },
			{ VIPS_BLEND_MODE_SOFT_LIGHT, "VIPS_BLEND_MODE_SOFT_LIGHT", "soft-light" },
			{ VIPS_BLEND_MODE_DIFFERENCE, "VIPS_BLEND_MODE_DIFFERENCE", "difference" },
			{ VIPS_BLEND_MODE_EXCLUSION, "VIPS_BLEND_MODE_EXCLUSION", "exclusion" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsBlendMode"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "convolution.h" */
GType
vips_combine_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_COMBINE_MAX, "VIPS_COMBINE_MAX", "max" },
			{ VIPS_COMBINE_SUM, "VIPS_COMBINE_SUM", "sum" },
			{ VIPS_COMBINE_MIN, "VIPS_COMBINE_MIN", "min" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsCombine"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "create.h" */
GType
vips_text_wrap_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_TEXT_WRAP_WORD, "VIPS_TEXT_WRAP_WORD", "word" },
			{ VIPS_TEXT_WRAP_CHAR, "VIPS_TEXT_WRAP_CHAR", "char" },
			{ VIPS_TEXT_WRAP_WORD_CHAR, "VIPS_TEXT_WRAP_WORD_CHAR", "word-char" },
			{ VIPS_TEXT_WRAP_NONE, "VIPS_TEXT_WRAP_NONE", "none" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsTextWrap"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_sdf_shape_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_SDF_SHAPE_CIRCLE, "VIPS_SDF_SHAPE_CIRCLE", "circle" },
			{ VIPS_SDF_SHAPE_BOX, "VIPS_SDF_SHAPE_BOX", "box" },
			{ VIPS_SDF_SHAPE_ROUNDED_BOX, "VIPS_SDF_SHAPE_ROUNDED_BOX", "rounded-box" },
			{ VIPS_SDF_SHAPE_LINE, "VIPS_SDF_SHAPE_LINE", "line" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsSdfShape"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "draw.h" */
GType
vips_combine_mode_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_COMBINE_MODE_SET, "VIPS_COMBINE_MODE_SET", "set" },
			{ VIPS_COMBINE_MODE_ADD, "VIPS_COMBINE_MODE_ADD", "add" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsCombineMode"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "foreign.h" */
GType
vips_foreign_flags_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GFlagsValue values[] = {
			{ VIPS_FOREIGN_NONE, "VIPS_FOREIGN_NONE", "none" },
			{ VIPS_FOREIGN_PARTIAL, "VIPS_FOREIGN_PARTIAL", "partial" },
			{ VIPS_FOREIGN_BIGENDIAN, "VIPS_FOREIGN_BIGENDIAN", "bigendian" },
			{ VIPS_FOREIGN_SEQUENTIAL, "VIPS_FOREIGN_SEQUENTIAL", "sequential" },
			{ VIPS_FOREIGN_ALL, "VIPS_FOREIGN_ALL", "all" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_flags_register_static(g_intern_static_string("VipsForeignFlags"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_fail_on_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FAIL_ON_NONE, "VIPS_FAIL_ON_NONE", "none" },
			{ VIPS_FAIL_ON_TRUNCATED, "VIPS_FAIL_ON_TRUNCATED", "truncated" },
			{ VIPS_FAIL_ON_ERROR, "VIPS_FAIL_ON_ERROR", "error" },
			{ VIPS_FAIL_ON_WARNING, "VIPS_FAIL_ON_WARNING", "warning" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsFailOn"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_saveable_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GFlagsValue values[] = {
			{ VIPS_FOREIGN_SAVEABLE_ANY, "VIPS_FOREIGN_SAVEABLE_ANY", "any" },
			{ VIPS_FOREIGN_SAVEABLE_MONO, "VIPS_FOREIGN_SAVEABLE_MONO", "mono" },
			{ VIPS_FOREIGN_SAVEABLE_RGB, "VIPS_FOREIGN_SAVEABLE_RGB", "rgb" },
			{ VIPS_FOREIGN_SAVEABLE_CMYK, "VIPS_FOREIGN_SAVEABLE_CMYK", "cmyk" },
			{ VIPS_FOREIGN_SAVEABLE_ALPHA, "VIPS_FOREIGN_SAVEABLE_ALPHA", "alpha" },
			{ VIPS_FOREIGN_SAVEABLE_ALL, "VIPS_FOREIGN_SAVEABLE_ALL", "all" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_flags_register_static(g_intern_static_string("VipsForeignSaveable"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_coding_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GFlagsValue values[] = {
			{ VIPS_FOREIGN_CODING_NONE, "VIPS_FOREIGN_CODING_NONE", "none" },
			{ VIPS_FOREIGN_CODING_LABQ, "VIPS_FOREIGN_CODING_LABQ", "labq" },
			{ VIPS_FOREIGN_CODING_RAD, "VIPS_FOREIGN_CODING_RAD", "rad" },
			{ VIPS_FOREIGN_CODING_ALL, "VIPS_FOREIGN_CODING_ALL", "all" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_flags_register_static(g_intern_static_string("VipsForeignCoding"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_keep_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GFlagsValue values[] = {
			{ VIPS_FOREIGN_KEEP_NONE, "VIPS_FOREIGN_KEEP_NONE", "none" },
			{ VIPS_FOREIGN_KEEP_EXIF, "VIPS_FOREIGN_KEEP_EXIF", "exif" },
			{ VIPS_FOREIGN_KEEP_XMP, "VIPS_FOREIGN_KEEP_XMP", "xmp" },
			{ VIPS_FOREIGN_KEEP_IPTC, "VIPS_FOREIGN_KEEP_IPTC", "iptc" },
			{ VIPS_FOREIGN_KEEP_ICC, "VIPS_FOREIGN_KEEP_ICC", "icc" },
			{ VIPS_FOREIGN_KEEP_OTHER, "VIPS_FOREIGN_KEEP_OTHER", "other" },
			{ VIPS_FOREIGN_KEEP_GAINMAP, "VIPS_FOREIGN_KEEP_GAINMAP", "gainmap" },
			{ VIPS_FOREIGN_KEEP_ALL, "VIPS_FOREIGN_KEEP_ALL", "all" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_flags_register_static(g_intern_static_string("VipsForeignKeep"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_subsample_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FOREIGN_SUBSAMPLE_AUTO, "VIPS_FOREIGN_SUBSAMPLE_AUTO", "auto" },
			{ VIPS_FOREIGN_SUBSAMPLE_ON, "VIPS_FOREIGN_SUBSAMPLE_ON", "on" },
			{ VIPS_FOREIGN_SUBSAMPLE_OFF, "VIPS_FOREIGN_SUBSAMPLE_OFF", "off" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsForeignSubsample"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_webp_preset_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FOREIGN_WEBP_PRESET_DEFAULT, "VIPS_FOREIGN_WEBP_PRESET_DEFAULT", "default" },
			{ VIPS_FOREIGN_WEBP_PRESET_PICTURE, "VIPS_FOREIGN_WEBP_PRESET_PICTURE", "picture" },
			{ VIPS_FOREIGN_WEBP_PRESET_PHOTO, "VIPS_FOREIGN_WEBP_PRESET_PHOTO", "photo" },
			{ VIPS_FOREIGN_WEBP_PRESET_DRAWING, "VIPS_FOREIGN_WEBP_PRESET_DRAWING", "drawing" },
			{ VIPS_FOREIGN_WEBP_PRESET_ICON, "VIPS_FOREIGN_WEBP_PRESET_ICON", "icon" },
			{ VIPS_FOREIGN_WEBP_PRESET_TEXT, "VIPS_FOREIGN_WEBP_PRESET_TEXT", "text" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsForeignWebpPreset"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_tiff_compression_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FOREIGN_TIFF_COMPRESSION_NONE, "VIPS_FOREIGN_TIFF_COMPRESSION_NONE", "none" },
			{ VIPS_FOREIGN_TIFF_COMPRESSION_JPEG, "VIPS_FOREIGN_TIFF_COMPRESSION_JPEG", "jpeg" },
			{ VIPS_FOREIGN_TIFF_COMPRESSION_DEFLATE, "VIPS_FOREIGN_TIFF_COMPRESSION_DEFLATE", "deflate" },
			{ VIPS_FOREIGN_TIFF_COMPRESSION_PACKBITS, "VIPS_FOREIGN_TIFF_COMPRESSION_PACKBITS", "packbits" },
			{ VIPS_FOREIGN_TIFF_COMPRESSION_CCITTFAX4, "VIPS_FOREIGN_TIFF_COMPRESSION_CCITTFAX4", "ccittfax4" },
			{ VIPS_FOREIGN_TIFF_COMPRESSION_LZW, "VIPS_FOREIGN_TIFF_COMPRESSION_LZW", "lzw" },
			{ VIPS_FOREIGN_TIFF_COMPRESSION_WEBP, "VIPS_FOREIGN_TIFF_COMPRESSION_WEBP", "webp" },
			{ VIPS_FOREIGN_TIFF_COMPRESSION_ZSTD, "VIPS_FOREIGN_TIFF_COMPRESSION_ZSTD", "zstd" },
			{ VIPS_FOREIGN_TIFF_COMPRESSION_JP2K, "VIPS_FOREIGN_TIFF_COMPRESSION_JP2K", "jp2k" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsForeignTiffCompression"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_tiff_predictor_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FOREIGN_TIFF_PREDICTOR_NONE, "VIPS_FOREIGN_TIFF_PREDICTOR_NONE", "none" },
			{ VIPS_FOREIGN_TIFF_PREDICTOR_HORIZONTAL, "VIPS_FOREIGN_TIFF_PREDICTOR_HORIZONTAL", "horizontal" },
			{ VIPS_FOREIGN_TIFF_PREDICTOR_FLOAT, "VIPS_FOREIGN_TIFF_PREDICTOR_FLOAT", "float" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsForeignTiffPredictor"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_tiff_resunit_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FOREIGN_TIFF_RESUNIT_CM, "VIPS_FOREIGN_TIFF_RESUNIT_CM", "cm" },
			{ VIPS_FOREIGN_TIFF_RESUNIT_INCH, "VIPS_FOREIGN_TIFF_RESUNIT_INCH", "inch" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsForeignTiffResunit"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_png_filter_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GFlagsValue values[] = {
			{ VIPS_FOREIGN_PNG_FILTER_NONE, "VIPS_FOREIGN_PNG_FILTER_NONE", "none" },
			{ VIPS_FOREIGN_PNG_FILTER_SUB, "VIPS_FOREIGN_PNG_FILTER_SUB", "sub" },
			{ VIPS_FOREIGN_PNG_FILTER_UP, "VIPS_FOREIGN_PNG_FILTER_UP", "up" },
			{ VIPS_FOREIGN_PNG_FILTER_AVG, "VIPS_FOREIGN_PNG_FILTER_AVG", "avg" },
			{ VIPS_FOREIGN_PNG_FILTER_PAETH, "VIPS_FOREIGN_PNG_FILTER_PAETH", "paeth" },
			{ VIPS_FOREIGN_PNG_FILTER_ALL, "VIPS_FOREIGN_PNG_FILTER_ALL", "all" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_flags_register_static(g_intern_static_string("VipsForeignPngFilter"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_ppm_format_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FOREIGN_PPM_FORMAT_PBM, "VIPS_FOREIGN_PPM_FORMAT_PBM", "pbm" },
			{ VIPS_FOREIGN_PPM_FORMAT_PGM, "VIPS_FOREIGN_PPM_FORMAT_PGM", "pgm" },
			{ VIPS_FOREIGN_PPM_FORMAT_PPM, "VIPS_FOREIGN_PPM_FORMAT_PPM", "ppm" },
			{ VIPS_FOREIGN_PPM_FORMAT_PFM, "VIPS_FOREIGN_PPM_FORMAT_PFM", "pfm" },
			{ VIPS_FOREIGN_PPM_FORMAT_PNM, "VIPS_FOREIGN_PPM_FORMAT_PNM", "pnm" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsForeignPpmFormat"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_pdf_page_box_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FOREIGN_PDF_PAGE_BOX_MEDIA, "VIPS_FOREIGN_PDF_PAGE_BOX_MEDIA", "media" },
			{ VIPS_FOREIGN_PDF_PAGE_BOX_CROP, "VIPS_FOREIGN_PDF_PAGE_BOX_CROP", "crop" },
			{ VIPS_FOREIGN_PDF_PAGE_BOX_TRIM, "VIPS_FOREIGN_PDF_PAGE_BOX_TRIM", "trim" },
			{ VIPS_FOREIGN_PDF_PAGE_BOX_BLEED, "VIPS_FOREIGN_PDF_PAGE_BOX_BLEED", "bleed" },
			{ VIPS_FOREIGN_PDF_PAGE_BOX_ART, "VIPS_FOREIGN_PDF_PAGE_BOX_ART", "art" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsForeignPdfPageBox"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_dz_layout_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FOREIGN_DZ_LAYOUT_DZ, "VIPS_FOREIGN_DZ_LAYOUT_DZ", "dz" },
			{ VIPS_FOREIGN_DZ_LAYOUT_ZOOMIFY, "VIPS_FOREIGN_DZ_LAYOUT_ZOOMIFY", "zoomify" },
			{ VIPS_FOREIGN_DZ_LAYOUT_GOOGLE, "VIPS_FOREIGN_DZ_LAYOUT_GOOGLE", "google" },
			{ VIPS_FOREIGN_DZ_LAYOUT_IIIF, "VIPS_FOREIGN_DZ_LAYOUT_IIIF", "iiif" },
			{ VIPS_FOREIGN_DZ_LAYOUT_IIIF3, "VIPS_FOREIGN_DZ_LAYOUT_IIIF3", "iiif3" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsForeignDzLayout"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_dz_depth_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FOREIGN_DZ_DEPTH_ONEPIXEL, "VIPS_FOREIGN_DZ_DEPTH_ONEPIXEL", "onepixel" },
			{ VIPS_FOREIGN_DZ_DEPTH_ONETILE, "VIPS_FOREIGN_DZ_DEPTH_ONETILE", "onetile" },
			{ VIPS_FOREIGN_DZ_DEPTH_ONE, "VIPS_FOREIGN_DZ_DEPTH_ONE", "one" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsForeignDzDepth"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_dz_container_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FOREIGN_DZ_CONTAINER_FS, "VIPS_FOREIGN_DZ_CONTAINER_FS", "fs" },
			{ VIPS_FOREIGN_DZ_CONTAINER_ZIP, "VIPS_FOREIGN_DZ_CONTAINER_ZIP", "zip" },
			{ VIPS_FOREIGN_DZ_CONTAINER_SZI, "VIPS_FOREIGN_DZ_CONTAINER_SZI", "szi" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsForeignDzContainer"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_heif_compression_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FOREIGN_HEIF_COMPRESSION_HEVC, "VIPS_FOREIGN_HEIF_COMPRESSION_HEVC", "hevc" },
			{ VIPS_FOREIGN_HEIF_COMPRESSION_AVC, "VIPS_FOREIGN_HEIF_COMPRESSION_AVC", "avc" },
			{ VIPS_FOREIGN_HEIF_COMPRESSION_JPEG, "VIPS_FOREIGN_HEIF_COMPRESSION_JPEG", "jpeg" },
			{ VIPS_FOREIGN_HEIF_COMPRESSION_AV1, "VIPS_FOREIGN_HEIF_COMPRESSION_AV1", "av1" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsForeignHeifCompression"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_foreign_heif_encoder_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FOREIGN_HEIF_ENCODER_AUTO, "VIPS_FOREIGN_HEIF_ENCODER_AUTO", "auto" },
			{ VIPS_FOREIGN_HEIF_ENCODER_AOM, "VIPS_FOREIGN_HEIF_ENCODER_AOM", "aom" },
			{ VIPS_FOREIGN_HEIF_ENCODER_RAV1E, "VIPS_FOREIGN_HEIF_ENCODER_RAV1E", "rav1e" },
			{ VIPS_FOREIGN_HEIF_ENCODER_SVT, "VIPS_FOREIGN_HEIF_ENCODER_SVT", "svt" },
			{ VIPS_FOREIGN_HEIF_ENCODER_X265, "VIPS_FOREIGN_HEIF_ENCODER_X265", "x265" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsForeignHeifEncoder"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "image.h" */
GType
vips_demand_style_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_DEMAND_STYLE_ERROR, "VIPS_DEMAND_STYLE_ERROR", "error" },
			{ VIPS_DEMAND_STYLE_SMALLTILE, "VIPS_DEMAND_STYLE_SMALLTILE", "smalltile" },
			{ VIPS_DEMAND_STYLE_FATSTRIP, "VIPS_DEMAND_STYLE_FATSTRIP", "fatstrip" },
			{ VIPS_DEMAND_STYLE_THINSTRIP, "VIPS_DEMAND_STYLE_THINSTRIP", "thinstrip" },
			{ VIPS_DEMAND_STYLE_ANY, "VIPS_DEMAND_STYLE_ANY", "any" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsDemandStyle"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_image_type_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_IMAGE_ERROR, "VIPS_IMAGE_ERROR", "error" },
			{ VIPS_IMAGE_NONE, "VIPS_IMAGE_NONE", "none" },
			{ VIPS_IMAGE_SETBUF, "VIPS_IMAGE_SETBUF", "setbuf" },
			{ VIPS_IMAGE_SETBUF_FOREIGN, "VIPS_IMAGE_SETBUF_FOREIGN", "setbuf-foreign" },
			{ VIPS_IMAGE_OPENIN, "VIPS_IMAGE_OPENIN", "openin" },
			{ VIPS_IMAGE_MMAPIN, "VIPS_IMAGE_MMAPIN", "mmapin" },
			{ VIPS_IMAGE_MMAPINRW, "VIPS_IMAGE_MMAPINRW", "mmapinrw" },
			{ VIPS_IMAGE_OPENOUT, "VIPS_IMAGE_OPENOUT", "openout" },
			{ VIPS_IMAGE_PARTIAL, "VIPS_IMAGE_PARTIAL", "partial" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsImageType"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_interpretation_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_INTERPRETATION_ERROR, "VIPS_INTERPRETATION_ERROR", "error" },
			{ VIPS_INTERPRETATION_MULTIBAND, "VIPS_INTERPRETATION_MULTIBAND", "multiband" },
			{ VIPS_INTERPRETATION_B_W, "VIPS_INTERPRETATION_B_W", "b-w" },
			{ VIPS_INTERPRETATION_HISTOGRAM, "VIPS_INTERPRETATION_HISTOGRAM", "histogram" },
			{ VIPS_INTERPRETATION_XYZ, "VIPS_INTERPRETATION_XYZ", "xyz" },
			{ VIPS_INTERPRETATION_LAB, "VIPS_INTERPRETATION_LAB", "lab" },
			{ VIPS_INTERPRETATION_CMYK, "VIPS_INTERPRETATION_CMYK", "cmyk" },
			{ VIPS_INTERPRETATION_LABQ, "VIPS_INTERPRETATION_LABQ", "labq" },
			{ VIPS_INTERPRETATION_RGB, "VIPS_INTERPRETATION_RGB", "rgb" },
			{ VIPS_INTERPRETATION_CMC, "VIPS_INTERPRETATION_CMC", "cmc" },
			{ VIPS_INTERPRETATION_LCH, "VIPS_INTERPRETATION_LCH", "lch" },
			{ VIPS_INTERPRETATION_LABS, "VIPS_INTERPRETATION_LABS", "labs" },
			{ VIPS_INTERPRETATION_sRGB, "VIPS_INTERPRETATION_sRGB", "srgb" },
			{ VIPS_INTERPRETATION_YXY, "VIPS_INTERPRETATION_YXY", "yxy" },
			{ VIPS_INTERPRETATION_FOURIER, "VIPS_INTERPRETATION_FOURIER", "fourier" },
			{ VIPS_INTERPRETATION_RGB16, "VIPS_INTERPRETATION_RGB16", "rgb16" },
			{ VIPS_INTERPRETATION_GREY16, "VIPS_INTERPRETATION_GREY16", "grey16" },
			{ VIPS_INTERPRETATION_MATRIX, "VIPS_INTERPRETATION_MATRIX", "matrix" },
			{ VIPS_INTERPRETATION_scRGB, "VIPS_INTERPRETATION_scRGB", "scrgb" },
			{ VIPS_INTERPRETATION_HSV, "VIPS_INTERPRETATION_HSV", "hsv" },
			{ VIPS_INTERPRETATION_OKLAB, "VIPS_INTERPRETATION_OKLAB", "oklab" },
			{ VIPS_INTERPRETATION_OKLCH, "VIPS_INTERPRETATION_OKLCH", "oklch" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsInterpretation"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_band_format_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_FORMAT_NOTSET, "VIPS_FORMAT_NOTSET", "notset" },
			{ VIPS_FORMAT_UCHAR, "VIPS_FORMAT_UCHAR", "uchar" },
			{ VIPS_FORMAT_CHAR, "VIPS_FORMAT_CHAR", "char" },
			{ VIPS_FORMAT_USHORT, "VIPS_FORMAT_USHORT", "ushort" },
			{ VIPS_FORMAT_SHORT, "VIPS_FORMAT_SHORT", "short" },
			{ VIPS_FORMAT_UINT, "VIPS_FORMAT_UINT", "uint" },
			{ VIPS_FORMAT_INT, "VIPS_FORMAT_INT", "int" },
			{ VIPS_FORMAT_FLOAT, "VIPS_FORMAT_FLOAT", "float" },
			{ VIPS_FORMAT_COMPLEX, "VIPS_FORMAT_COMPLEX", "complex" },
			{ VIPS_FORMAT_DOUBLE, "VIPS_FORMAT_DOUBLE", "double" },
			{ VIPS_FORMAT_DPCOMPLEX, "VIPS_FORMAT_DPCOMPLEX", "dpcomplex" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsBandFormat"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_coding_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_CODING_ERROR, "VIPS_CODING_ERROR", "error" },
			{ VIPS_CODING_NONE, "VIPS_CODING_NONE", "none" },
			{ VIPS_CODING_LABQ, "VIPS_CODING_LABQ", "labq" },
			{ VIPS_CODING_RAD, "VIPS_CODING_RAD", "rad" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsCoding"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_access_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_ACCESS_RANDOM, "VIPS_ACCESS_RANDOM", "random" },
			{ VIPS_ACCESS_SEQUENTIAL, "VIPS_ACCESS_SEQUENTIAL", "sequential" },
			{ VIPS_ACCESS_SEQUENTIAL_UNBUFFERED, "VIPS_ACCESS_SEQUENTIAL_UNBUFFERED", "sequential-unbuffered" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsAccess"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "morphology.h" */
GType
vips_operation_morphology_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_OPERATION_MORPHOLOGY_ERODE, "VIPS_OPERATION_MORPHOLOGY_ERODE", "erode" },
			{ VIPS_OPERATION_MORPHOLOGY_DILATE, "VIPS_OPERATION_MORPHOLOGY_DILATE", "dilate" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsOperationMorphology"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "object.h" */
GType
vips_argument_flags_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GFlagsValue values[] = {
			{ VIPS_ARGUMENT_NONE, "VIPS_ARGUMENT_NONE", "none" },
			{ VIPS_ARGUMENT_REQUIRED, "VIPS_ARGUMENT_REQUIRED", "required" },
			{ VIPS_ARGUMENT_CONSTRUCT, "VIPS_ARGUMENT_CONSTRUCT", "construct" },
			{ VIPS_ARGUMENT_SET_ONCE, "VIPS_ARGUMENT_SET_ONCE", "set-once" },
			{ VIPS_ARGUMENT_SET_ALWAYS, "VIPS_ARGUMENT_SET_ALWAYS", "set-always" },
			{ VIPS_ARGUMENT_INPUT, "VIPS_ARGUMENT_INPUT", "input" },
			{ VIPS_ARGUMENT_OUTPUT, "VIPS_ARGUMENT_OUTPUT", "output" },
			{ VIPS_ARGUMENT_DEPRECATED, "VIPS_ARGUMENT_DEPRECATED", "deprecated" },
			{ VIPS_ARGUMENT_MODIFY, "VIPS_ARGUMENT_MODIFY", "modify" },
			{ VIPS_ARGUMENT_NON_HASHABLE, "VIPS_ARGUMENT_NON_HASHABLE", "non-hashable" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_flags_register_static(g_intern_static_string("VipsArgumentFlags"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "operation.h" */
GType
vips_operation_flags_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GFlagsValue values[] = {
			{ VIPS_OPERATION_NONE, "VIPS_OPERATION_NONE", "none" },
			{ VIPS_OPERATION_SEQUENTIAL, "VIPS_OPERATION_SEQUENTIAL", "sequential" },
			{ VIPS_OPERATION_SEQUENTIAL_UNBUFFERED, "VIPS_OPERATION_SEQUENTIAL_UNBUFFERED", "sequential-unbuffered" },
			{ VIPS_OPERATION_NOCACHE, "VIPS_OPERATION_NOCACHE", "nocache" },
			{ VIPS_OPERATION_DEPRECATED, "VIPS_OPERATION_DEPRECATED", "deprecated" },
			{ VIPS_OPERATION_UNTRUSTED, "VIPS_OPERATION_UNTRUSTED", "untrusted" },
			{ VIPS_OPERATION_BLOCKED, "VIPS_OPERATION_BLOCKED", "blocked" },
			{ VIPS_OPERATION_REVALIDATE, "VIPS_OPERATION_REVALIDATE", "revalidate" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_flags_register_static(g_intern_static_string("VipsOperationFlags"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "region.h" */
GType
vips_region_shrink_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_REGION_SHRINK_MEAN, "VIPS_REGION_SHRINK_MEAN", "mean" },
			{ VIPS_REGION_SHRINK_MEDIAN, "VIPS_REGION_SHRINK_MEDIAN", "median" },
			{ VIPS_REGION_SHRINK_MODE, "VIPS_REGION_SHRINK_MODE", "mode" },
			{ VIPS_REGION_SHRINK_MAX, "VIPS_REGION_SHRINK_MAX", "max" },
			{ VIPS_REGION_SHRINK_MIN, "VIPS_REGION_SHRINK_MIN", "min" },
			{ VIPS_REGION_SHRINK_NEAREST, "VIPS_REGION_SHRINK_NEAREST", "nearest" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsRegionShrink"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "resample.h" */
GType
vips_kernel_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_KERNEL_NEAREST, "VIPS_KERNEL_NEAREST", "nearest" },
			{ VIPS_KERNEL_LINEAR, "VIPS_KERNEL_LINEAR", "linear" },
			{ VIPS_KERNEL_CUBIC, "VIPS_KERNEL_CUBIC", "cubic" },
			{ VIPS_KERNEL_MITCHELL, "VIPS_KERNEL_MITCHELL", "mitchell" },
			{ VIPS_KERNEL_LANCZOS2, "VIPS_KERNEL_LANCZOS2", "lanczos2" },
			{ VIPS_KERNEL_LANCZOS3, "VIPS_KERNEL_LANCZOS3", "lanczos3" },
			{ VIPS_KERNEL_MKS2013, "VIPS_KERNEL_MKS2013", "mks2013" },
			{ VIPS_KERNEL_MKS2021, "VIPS_KERNEL_MKS2021", "mks2021" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsKernel"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
GType
vips_size_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_SIZE_BOTH, "VIPS_SIZE_BOTH", "both" },
			{ VIPS_SIZE_UP, "VIPS_SIZE_UP", "up" },
			{ VIPS_SIZE_DOWN, "VIPS_SIZE_DOWN", "down" },
			{ VIPS_SIZE_FORCE, "VIPS_SIZE_FORCE", "force" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsSize"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* enumerations from "util.h" */
GType
vips_token_get_type(void)
{
	static gsize gtype_id = 0;

	if (g_once_init_enter(&gtype_id)) {
		static const GEnumValue values[] = {
			{ VIPS_TOKEN_LEFT, "VIPS_TOKEN_LEFT", "left" },
			{ VIPS_TOKEN_RIGHT, "VIPS_TOKEN_RIGHT", "right" },
			{ VIPS_TOKEN_STRING, "VIPS_TOKEN_STRING", "string" },
			{ VIPS_TOKEN_EQUALS, "VIPS_TOKEN_EQUALS", "equals" },
			{ VIPS_TOKEN_COMMA, "VIPS_TOKEN_COMMA", "comma" },
			{ 0, NULL, NULL }
		};

		GType new_type =
			g_enum_register_static(g_intern_static_string("VipsToken"), values);
		g_once_init_leave(&gtype_id, new_type);
	}

	return (GType) gtype_id;
}
/* Deprecated enumerations */
GType
vips_saveable_get_type(void)
{
	return vips_foreign_saveable_get_type();
}

/* Generated data ends here */

