mirror of https://github.com/GNOME/gimp.git
167 lines
4.2 KiB
Plaintext
167 lines
4.2 KiB
Plaintext
|
|
typedef GType (* GimpGetTypeFunc) (void);
|
|
|
|
static const GimpGetTypeFunc get_type_funcs[] =
|
|
{
|
|
gimp_add_mask_type_get_type,
|
|
gimp_blend_mode_get_type,
|
|
gimp_brush_application_mode_get_type,
|
|
gimp_brush_generated_shape_get_type,
|
|
gimp_bucket_fill_mode_get_type,
|
|
gimp_channel_ops_get_type,
|
|
gimp_channel_type_get_type,
|
|
gimp_clone_type_get_type,
|
|
gimp_convert_dither_type_get_type,
|
|
gimp_convert_palette_type_get_type,
|
|
gimp_convolution_type_get_type,
|
|
gimp_convolve_type_get_type,
|
|
gimp_desaturate_mode_get_type,
|
|
gimp_dodge_burn_type_get_type,
|
|
gimp_fill_type_get_type,
|
|
gimp_foreground_extract_mode_get_type,
|
|
gimp_gradient_segment_color_get_type,
|
|
gimp_gradient_segment_type_get_type,
|
|
gimp_gradient_type_get_type,
|
|
gimp_grid_style_get_type,
|
|
gimp_histogram_channel_get_type,
|
|
gimp_hue_range_get_type,
|
|
gimp_icon_type_get_type,
|
|
gimp_image_base_type_get_type,
|
|
gimp_image_type_get_type,
|
|
gimp_interpolation_type_get_type,
|
|
gimp_layer_mode_effects_get_type,
|
|
gimp_mask_apply_mode_get_type,
|
|
gimp_merge_type_get_type,
|
|
gimp_message_handler_type_get_type,
|
|
gimp_offset_type_get_type,
|
|
gimp_orientation_type_get_type,
|
|
gimp_pdb_arg_type_get_type,
|
|
gimp_pdb_error_handler_get_type,
|
|
gimp_pdb_proc_type_get_type,
|
|
gimp_pdb_status_type_get_type,
|
|
gimp_paint_application_mode_get_type,
|
|
gimp_progress_command_get_type,
|
|
gimp_repeat_mode_get_type,
|
|
gimp_rotation_type_get_type,
|
|
gimp_run_mode_get_type,
|
|
gimp_select_criterion_get_type,
|
|
gimp_size_type_get_type,
|
|
gimp_stack_trace_mode_get_type,
|
|
gimp_text_direction_get_type,
|
|
gimp_text_justification_get_type,
|
|
gimp_transfer_mode_get_type,
|
|
gimp_transform_direction_get_type,
|
|
gimp_transform_resize_get_type,
|
|
gimp_user_directory_get_type,
|
|
gimp_vectors_stroke_type_get_type
|
|
};
|
|
|
|
static const gchar * const type_names[] =
|
|
{
|
|
"GimpAddMaskType",
|
|
"GimpBlendMode",
|
|
"GimpBrushApplicationMode",
|
|
"GimpBrushGeneratedShape",
|
|
"GimpBucketFillMode",
|
|
"GimpChannelOps",
|
|
"GimpChannelType",
|
|
"GimpCloneType",
|
|
"GimpConvertDitherType",
|
|
"GimpConvertPaletteType",
|
|
"GimpConvolutionType",
|
|
"GimpConvolveType",
|
|
"GimpDesaturateMode",
|
|
"GimpDodgeBurnType",
|
|
"GimpFillType",
|
|
"GimpForegroundExtractMode",
|
|
"GimpGradientSegmentColor",
|
|
"GimpGradientSegmentType",
|
|
"GimpGradientType",
|
|
"GimpGridStyle",
|
|
"GimpHistogramChannel",
|
|
"GimpHueRange",
|
|
"GimpIconType",
|
|
"GimpImageBaseType",
|
|
"GimpImageType",
|
|
"GimpInterpolationType",
|
|
"GimpLayerModeEffects",
|
|
"GimpMaskApplyMode",
|
|
"GimpMergeType",
|
|
"GimpMessageHandlerType",
|
|
"GimpOffsetType",
|
|
"GimpOrientationType",
|
|
"GimpPDBArgType",
|
|
"GimpPDBErrorHandler",
|
|
"GimpPDBProcType",
|
|
"GimpPDBStatusType",
|
|
"GimpPaintApplicationMode",
|
|
"GimpProgressCommand",
|
|
"GimpRepeatMode",
|
|
"GimpRotationType",
|
|
"GimpRunMode",
|
|
"GimpSelectCriterion",
|
|
"GimpSizeType",
|
|
"GimpStackTraceMode",
|
|
"GimpTextDirection",
|
|
"GimpTextJustification",
|
|
"GimpTransferMode",
|
|
"GimpTransformDirection",
|
|
"GimpTransformResize",
|
|
"GimpUserDirectory",
|
|
"GimpVectorsStrokeType"
|
|
};
|
|
|
|
static gboolean enums_initialized = FALSE;
|
|
|
|
/**
|
|
* gimp_enums_init
|
|
*
|
|
* This function makes sure all the enum types are registered
|
|
* with the GObject type system. This is intended for use by
|
|
* language bindings that need the symbols early, before gimp_main
|
|
* is run. It's not necessary for plug-ins to call this directly,
|
|
* as the normal plug-in initialization code will handle it
|
|
* implicitly.
|
|
*
|
|
* Since: GIMP 2.4
|
|
**/
|
|
void
|
|
gimp_enums_init (void)
|
|
{
|
|
const GimpGetTypeFunc *funcs = get_type_funcs;
|
|
gint i;
|
|
|
|
if (enums_initialized)
|
|
return;
|
|
|
|
for (i = 0; i < G_N_ELEMENTS (get_type_funcs); i++, funcs++)
|
|
{
|
|
GType type = (*funcs) ();
|
|
|
|
g_type_class_ref (type);
|
|
}
|
|
|
|
enums_initialized = TRUE;
|
|
}
|
|
|
|
/**
|
|
* gimp_enums_get_type_names:
|
|
* @n_type_names: return location for the number of names
|
|
*
|
|
* This function gives access to the list of enums registered by libgimp.
|
|
* The returned array is static and must not be modified.
|
|
*
|
|
* Return value: an array with type names
|
|
*
|
|
* Since: GIMP 2.2
|
|
**/
|
|
const gchar **
|
|
gimp_enums_get_type_names (gint *n_type_names)
|
|
{
|
|
g_return_val_if_fail (n_type_names != NULL, NULL);
|
|
|
|
*n_type_names = G_N_ELEMENTS (type_names);
|
|
|
|
return (const gchar **) type_names;
|
|
}
|