mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-03 17:33:25 +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.
|
* @drawable: The #GimpDrawable.
|
||||||
* @operation_name: The GEGL operation's name.
|
* @operation_name: The GEGL operation's name.
|
||||||
* @name: The effect 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
|
* @...: a %NULL-terminated list of operation argument names
|
||||||
* and values.
|
* and values.
|
||||||
*
|
*
|
||||||
|
@ -513,6 +515,7 @@ gimp_drawable_merge_filter (GimpDrawable *drawable,
|
||||||
*
|
*
|
||||||
* ```C
|
* ```C
|
||||||
* filter = gimp_drawable_append_new_filter (drawable,
|
* filter = gimp_drawable_append_new_filter (drawable,
|
||||||
|
* GIMP_LAYER_MODE_REPLACE, 1.0,
|
||||||
* "gegl:gaussian-blur", "My Gaussian Blur",
|
* "gegl:gaussian-blur", "My Gaussian Blur",
|
||||||
* "std-dev-x", 2.5,
|
* "std-dev-x", 2.5,
|
||||||
* "std-dev-y", 2.5,
|
* "std-dev-y", 2.5,
|
||||||
|
@ -523,9 +526,11 @@ gimp_drawable_merge_filter (GimpDrawable *drawable,
|
||||||
* Returns: (transfer none): The newly created filter.
|
* Returns: (transfer none): The newly created filter.
|
||||||
*/
|
*/
|
||||||
GimpDrawableFilter *
|
GimpDrawableFilter *
|
||||||
gimp_drawable_append_new_filter (GimpDrawable *drawable,
|
gimp_drawable_append_new_filter (GimpDrawable *drawable,
|
||||||
const gchar *operation_name,
|
const gchar *operation_name,
|
||||||
const gchar *name,
|
const gchar *name,
|
||||||
|
GimpLayerMode mode,
|
||||||
|
gdouble opacity,
|
||||||
...)
|
...)
|
||||||
{
|
{
|
||||||
GimpDrawableFilter *filter;
|
GimpDrawableFilter *filter;
|
||||||
|
@ -533,13 +538,16 @@ gimp_drawable_append_new_filter (GimpDrawable *drawable,
|
||||||
const gchar *arg_name;
|
const gchar *arg_name;
|
||||||
va_list va_args;
|
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);
|
filter = gimp_drawable_filter_new (drawable, operation_name, name);
|
||||||
|
|
||||||
g_return_val_if_fail (filter != NULL, NULL);
|
g_return_val_if_fail (filter != NULL, NULL);
|
||||||
|
|
||||||
config = gimp_drawable_filter_get_config (filter);
|
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 *)))
|
while ((arg_name = va_arg (va_args, const gchar *)))
|
||||||
{
|
{
|
||||||
GParamSpec *pspec;
|
GParamSpec *pspec;
|
||||||
|
@ -570,6 +578,8 @@ gimp_drawable_append_new_filter (GimpDrawable *drawable,
|
||||||
}
|
}
|
||||||
va_end (va_args);
|
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);
|
gimp_drawable_append_filter (drawable, filter);
|
||||||
|
|
||||||
return filter;
|
return filter;
|
||||||
|
@ -617,6 +627,7 @@ gimp_drawable_merge_new_filter (GimpDrawable *drawable,
|
||||||
const gchar *arg_name;
|
const gchar *arg_name;
|
||||||
va_list va_args;
|
va_list va_args;
|
||||||
|
|
||||||
|
g_return_if_fail (GIMP_IS_DRAWABLE (drawable));
|
||||||
g_return_if_fail (opacity >= 0.0 && opacity <= 1.0);
|
g_return_if_fail (opacity >= 0.0 && opacity <= 1.0);
|
||||||
|
|
||||||
filter = gimp_drawable_filter_new (drawable, operation_name, name);
|
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,
|
GimpDrawableFilter * gimp_drawable_append_new_filter (GimpDrawable *drawable,
|
||||||
const gchar *operation_name,
|
const gchar *operation_name,
|
||||||
const gchar *name,
|
const gchar *name,
|
||||||
|
GimpLayerMode mode,
|
||||||
|
gdouble opacity,
|
||||||
...) G_GNUC_NULL_TERMINATED;
|
...) G_GNUC_NULL_TERMINATED;
|
||||||
void gimp_drawable_merge_new_filter (GimpDrawable *drawable,
|
void gimp_drawable_merge_new_filter (GimpDrawable *drawable,
|
||||||
const gchar *operation_name,
|
const gchar *operation_name,
|
||||||
|
|
|
@ -2775,11 +2775,10 @@ add_legacy_layer_effects (GimpLayer *layer,
|
||||||
filter = gimp_drawable_append_new_filter (GIMP_DRAWABLE (layer),
|
filter = gimp_drawable_append_new_filter (GIMP_DRAWABLE (layer),
|
||||||
"gegl:color-overlay",
|
"gegl:color-overlay",
|
||||||
NULL,
|
NULL,
|
||||||
|
mode,
|
||||||
|
sofi.opacity / 255.0,
|
||||||
"value", color,
|
"value", color,
|
||||||
NULL);
|
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 (filter);
|
||||||
g_object_unref (color);
|
g_object_unref (color);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue