1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
|
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_file_chooser_action_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",
"GimpFileChooserAction",
"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;
}
|