Gimp/libgimp/gimpenums.c.tail
Jehan a0fa9cc191 app, libgimp*, pdb, plug-ins: capabilities should not be part of GimpParamSpecExportOptions.
The param option just contains an options object, not a separate
capabilities. Also even when passing the options object across the wire,
the capabilities within this object are not part of the "options". These
are actually handled separated by GimpExportProcedure.

Therefore the changes are:

* GimpExportCapabilities moved to gimpbaseenums.h with a proper GType.
* "capabilities" properties are changed to flags param spec with type
  GimpExportCapabilities.
* GimpParamSpecExportOptions doesn't have a capabilities variable
  anymore.
* Consequently gimp_param_spec_export_options() doesn't have a
  capabilities arg.
* Wire protocol updated as we don't need to pass any capabilities
  neither for the param definition, nor for the argument values.
* GimpExportOptionsEditFunc renamed GimpExportGetCapabilitiesFunc and
  returning GimpExportCapabilities flags, instead of setting the
  "capabilities" property. I believe it makes it much more obvious what
  this callback is for and how to use it.
* Annotations improved or completed.
* Don't make the GimpParamSpecExportOptions public anymore since it is
  the same as its parent.
2024-11-02 00:27:02 +01:00

205 lines
5.3 KiB
Text

typedef GType (* GimpGetTypeFunc) (void);
static const GimpGetTypeFunc get_type_funcs[] =
{
gegl_distance_metric_get_type,
gimp_add_mask_type_get_type,
gimp_brush_application_mode_get_type,
gimp_brush_generated_shape_get_type,
gimp_cap_style_get_type,
gimp_channel_ops_get_type,
gimp_channel_type_get_type,
gimp_clone_type_get_type,
gimp_color_management_mode_get_type,
gimp_color_rendering_intent_get_type,
gimp_color_tag_get_type,
gimp_component_type_get_type,
gimp_convert_dither_type_get_type,
gimp_convert_palette_type_get_type,
gimp_convolve_type_get_type,
gimp_desaturate_mode_get_type,
gimp_dodge_burn_type_get_type,
gimp_export_capabilities_get_type,
gimp_fill_type_get_type,
gimp_foreground_extract_mode_get_type,
gimp_gradient_blend_color_space_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_ink_blob_type_get_type,
gimp_interpolation_type_get_type,
gimp_join_style_get_type,
gimp_layer_color_space_get_type,
gimp_layer_composite_mode_get_type,
gimp_layer_mode_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_error_handler_get_type,
gimp_pdb_proc_type_get_type,
gimp_pdb_status_type_get_type,
gimp_paint_application_mode_get_type,
gimp_path_stroke_type_get_type,
gimp_precision_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_stroke_method_get_type,
gimp_text_direction_get_type,
gimp_text_hint_style_get_type,
gimp_text_justification_get_type,
gimp_transfer_mode_get_type,
gimp_transform_direction_get_type,
gimp_transform_resize_get_type
};
static const gchar * const type_names[] =
{
"GeglDistanceMetric",
"GimpAddMaskType",
"GimpBrushApplicationMode",
"GimpBrushGeneratedShape",
"GimpCapStyle",
"GimpChannelOps",
"GimpChannelType",
"GimpCloneType",
"GimpColorManagementMode",
"GimpColorRenderingIntent",
"GimpColorTag",
"GimpComponentType",
"GimpConvertDitherType",
"GimpConvertPaletteType",
"GimpConvolveType",
"GimpDesaturateMode",
"GimpDodgeBurnType",
"GimpExportCapabilities",
"GimpFillType",
"GimpForegroundExtractMode",
"GimpGradientBlendColorSpace",
"GimpGradientSegmentColor",
"GimpGradientSegmentType",
"GimpGradientType",
"GimpGridStyle",
"GimpHistogramChannel",
"GimpHueRange",
"GimpIconType",
"GimpImageBaseType",
"GimpImageType",
"GimpInkBlobType",
"GimpInterpolationType",
"GimpJoinStyle",
"GimpLayerColorSpace",
"GimpLayerCompositeMode",
"GimpLayerMode",
"GimpMaskApplyMode",
"GimpMergeType",
"GimpMessageHandlerType",
"GimpOffsetType",
"GimpOrientationType",
"GimpPDBErrorHandler",
"GimpPDBProcType",
"GimpPDBStatusType",
"GimpPaintApplicationMode",
"GimpPathStrokeType",
"GimpPrecision",
"GimpProgressCommand",
"GimpRepeatMode",
"GimpRotationType",
"GimpRunMode",
"GimpSelectCriterion",
"GimpSizeType",
"GimpStackTraceMode",
"GimpStrokeMethod",
"GimpTextDirection",
"GimpTextHintStyle",
"GimpTextJustification",
"GimpTransferMode",
"GimpTransformDirection",
"GimpTransformResize"
};
static gboolean enums_initialized = FALSE;
#if 0
/* keep around as documentation how to do compat enums */
GType gimp_convert_dither_type_compat_get_type (void);
#endif
/**
* gimp_enums_init:
*
* This function makes sure all the enum types are registered
* with the #GType 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, because
* the normal plug-in initialization code will handle it implicitly.
*
* Since: 2.4
**/
void
gimp_enums_init (void)
{
const GimpGetTypeFunc *funcs = get_type_funcs;
#if 0
GQuark quark;
#endif
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);
}
#if 0
/* keep around as documentation how to do compat enums */
/* keep compat enum code in sync with app/app.c (app_libs_init) */
quark = g_quark_from_static_string ("gimp-compat-enum");
g_type_set_qdata (GIMP_TYPE_CONVERT_DITHER_TYPE, quark,
(gpointer) gimp_convert_dither_type_compat_get_type ());
#endif
gimp_base_compat_enums_init ();
enums_initialized = TRUE;
}
/**
* gimp_enums_get_type_names:
* @n_type_names: (out): 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.
*
* Returns: (array length=n_type_names) (transfer none): an array with type names
*
* Since: 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;
}