
Apply heavily modified patch from Es Swartz which adds PDB API for brush size, angle and aspect ratio, as well as a full interface for ink. Changed to patch to add all procedures to the "context" group instead of creating new PDB groups, properly use the new GimpPDBContext APIs for paint options, and did some general cleanup. (Warning, completely untested).
170 lines
4.3 KiB
Plaintext
170 lines
4.3 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_ink_blob_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_hint_style_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",
|
|
"GimpInkBlobType",
|
|
"GimpInterpolationType",
|
|
"GimpLayerModeEffects",
|
|
"GimpMaskApplyMode",
|
|
"GimpMergeType",
|
|
"GimpMessageHandlerType",
|
|
"GimpOffsetType",
|
|
"GimpOrientationType",
|
|
"GimpPDBArgType",
|
|
"GimpPDBErrorHandler",
|
|
"GimpPDBProcType",
|
|
"GimpPDBStatusType",
|
|
"GimpPaintApplicationMode",
|
|
"GimpProgressCommand",
|
|
"GimpRepeatMode",
|
|
"GimpRotationType",
|
|
"GimpRunMode",
|
|
"GimpSelectCriterion",
|
|
"GimpSizeType",
|
|
"GimpStackTraceMode",
|
|
"GimpTextDirection",
|
|
"GimpTextHintStyle",
|
|
"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 #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: 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;
|
|
}
|