mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-03 01:13:24 +00:00
libgimp, plug-ins: update gimp_drawable_append_new_filter() signature.
Adding the mode and opacity arguments makes it very similar to gimp_drawable_merge_new_filter() signature, but also to its own Script-fu wrapper (gimp-drawable-append-new-filter). It's just better to be consistent. Also if either of these args need to be changed immediately afterwards, then we spare one additional re-render for nothing (for instance in the PSD load plug-in!).
This commit is contained in:
parent
d46607f281
commit
61abcd7412
3 changed files with 19 additions and 7 deletions
|
@ -499,6 +499,8 @@ gimp_drawable_merge_filter (GimpDrawable *drawable,
|
|||
* @drawable: The #GimpDrawable.
|
||||
* @operation_name: The GEGL operation's name.
|
||||
* @name: The effect name.
|
||||
* @mode: The blend mode.
|
||||
* @opacity: The opacity from 0.0 (transparent) to 1.0 (opaque).
|
||||
* @...: a %NULL-terminated list of operation argument names
|
||||
* and values.
|
||||
*
|
||||
|
@ -513,6 +515,7 @@ gimp_drawable_merge_filter (GimpDrawable *drawable,
|
|||
*
|
||||
* ```C
|
||||
* filter = gimp_drawable_append_new_filter (drawable,
|
||||
* GIMP_LAYER_MODE_REPLACE, 1.0,
|
||||
* "gegl:gaussian-blur", "My Gaussian Blur",
|
||||
* "std-dev-x", 2.5,
|
||||
* "std-dev-y", 2.5,
|
||||
|
@ -523,9 +526,11 @@ gimp_drawable_merge_filter (GimpDrawable *drawable,
|
|||
* Returns: (transfer none): The newly created filter.
|
||||
*/
|
||||
GimpDrawableFilter *
|
||||
gimp_drawable_append_new_filter (GimpDrawable *drawable,
|
||||
const gchar *operation_name,
|
||||
const gchar *name,
|
||||
gimp_drawable_append_new_filter (GimpDrawable *drawable,
|
||||
const gchar *operation_name,
|
||||
const gchar *name,
|
||||
GimpLayerMode mode,
|
||||
gdouble opacity,
|
||||
...)
|
||||
{
|
||||
GimpDrawableFilter *filter;
|
||||
|
@ -533,13 +538,16 @@ gimp_drawable_append_new_filter (GimpDrawable *drawable,
|
|||
const gchar *arg_name;
|
||||
va_list va_args;
|
||||
|
||||
g_return_val_if_fail (GIMP_IS_DRAWABLE (drawable), NULL);
|
||||
g_return_val_if_fail (opacity >= 0.0 && opacity <= 1.0, NULL);
|
||||
|
||||
filter = gimp_drawable_filter_new (drawable, operation_name, name);
|
||||
|
||||
g_return_val_if_fail (filter != NULL, NULL);
|
||||
|
||||
config = gimp_drawable_filter_get_config (filter);
|
||||
|
||||
va_start (va_args, name);
|
||||
va_start (va_args, opacity);
|
||||
while ((arg_name = va_arg (va_args, const gchar *)))
|
||||
{
|
||||
GParamSpec *pspec;
|
||||
|
@ -570,6 +578,8 @@ gimp_drawable_append_new_filter (GimpDrawable *drawable,
|
|||
}
|
||||
va_end (va_args);
|
||||
|
||||
gimp_drawable_filter_set_blend_mode (filter, mode);
|
||||
gimp_drawable_filter_set_opacity (filter, opacity);
|
||||
gimp_drawable_append_filter (drawable, filter);
|
||||
|
||||
return filter;
|
||||
|
@ -617,6 +627,7 @@ gimp_drawable_merge_new_filter (GimpDrawable *drawable,
|
|||
const gchar *arg_name;
|
||||
va_list va_args;
|
||||
|
||||
g_return_if_fail (GIMP_IS_DRAWABLE (drawable));
|
||||
g_return_if_fail (opacity >= 0.0 && opacity <= 1.0);
|
||||
|
||||
filter = gimp_drawable_filter_new (drawable, operation_name, name);
|
||||
|
|
|
@ -101,6 +101,8 @@ void gimp_drawable_merge_filter (GimpDrawable
|
|||
GimpDrawableFilter * gimp_drawable_append_new_filter (GimpDrawable *drawable,
|
||||
const gchar *operation_name,
|
||||
const gchar *name,
|
||||
GimpLayerMode mode,
|
||||
gdouble opacity,
|
||||
...) G_GNUC_NULL_TERMINATED;
|
||||
void gimp_drawable_merge_new_filter (GimpDrawable *drawable,
|
||||
const gchar *operation_name,
|
||||
|
|
|
@ -2775,11 +2775,10 @@ add_legacy_layer_effects (GimpLayer *layer,
|
|||
filter = gimp_drawable_append_new_filter (GIMP_DRAWABLE (layer),
|
||||
"gegl:color-overlay",
|
||||
NULL,
|
||||
mode,
|
||||
sofi.opacity / 255.0,
|
||||
"value", color,
|
||||
NULL);
|
||||
gimp_drawable_filter_set_opacity (filter, sofi.opacity / 255.0);
|
||||
gimp_drawable_filter_set_blend_mode (filter, mode);
|
||||
gimp_drawable_filter_update (filter);
|
||||
|
||||
g_object_unref (filter);
|
||||
g_object_unref (color);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue