app: follow the GEGL invert -> invert-linear vs. invert-gamma change

and invert masks using invert-linear and other drawables using
invert-gamma. drawable_invert_cmd_callback() still always uses
invert-gamma even though it can be used on layer masks.
This commit is contained in:
Michael Natterer 2013-06-24 00:45:04 +02:00
parent 99b3d9cb72
commit f56f6d1255
7 changed files with 41 additions and 14 deletions

View File

@ -67,8 +67,9 @@ drawable_invert_cmd_callback (GtkAction *action,
return_if_no_drawable (image, drawable, data);
return_if_no_display (display, data);
/* FIXME invert masks? */
gimp_drawable_apply_operation_by_name (drawable, GIMP_PROGRESS (display),
_("Invert"), "gegl:invert",
_("Invert"), "gegl:invert-gamma",
NULL);
gimp_image_flush (image);
}

View File

@ -430,7 +430,7 @@ gimp_channel_get_node (GimpFilter *filter)
g_warn_if_fail (channel->invert_node == NULL);
channel->invert_node = gegl_node_new_child (node,
"operation", "gegl:invert",
"operation", "gegl:invert-linear",
NULL);
if (channel->show_masked)
@ -1299,9 +1299,9 @@ gimp_channel_real_invert (GimpChannel *channel,
}
else
{
gimp_gegl_apply_invert (gimp_drawable_get_buffer (drawable),
NULL, NULL,
gimp_drawable_get_buffer (drawable));
gimp_gegl_apply_invert_linear (gimp_drawable_get_buffer (drawable),
NULL, NULL,
gimp_drawable_get_buffer (drawable));
channel->bounds_known = FALSE;

View File

@ -232,10 +232,10 @@ gimp_gegl_apply_gaussian_blur (GeglBuffer *src_buffer,
}
void
gimp_gegl_apply_invert (GeglBuffer *src_buffer,
GimpProgress *progress,
const gchar *undo_desc,
GeglBuffer *dest_buffer)
gimp_gegl_apply_invert_gamma (GeglBuffer *src_buffer,
GimpProgress *progress,
const gchar *undo_desc,
GeglBuffer *dest_buffer)
{
GeglNode *node;
@ -244,7 +244,7 @@ gimp_gegl_apply_invert (GeglBuffer *src_buffer,
g_return_if_fail (GEGL_IS_BUFFER (dest_buffer));
node = gegl_node_new_child (NULL,
"operation", "gegl:invert",
"operation", "gegl:invert-gamma",
NULL);
gimp_gegl_apply_operation (src_buffer, progress, undo_desc,
@ -252,6 +252,26 @@ gimp_gegl_apply_invert (GeglBuffer *src_buffer,
g_object_unref (node);
}
void
gimp_gegl_apply_invert_linear (GeglBuffer *src_buffer,
GimpProgress *progress,
const gchar *undo_desc,
GeglBuffer *dest_buffer)
{
GeglNode *node;
g_return_if_fail (GEGL_IS_BUFFER (src_buffer));
g_return_if_fail (progress == NULL || GIMP_IS_PROGRESS (progress));
g_return_if_fail (GEGL_IS_BUFFER (dest_buffer));
node = gegl_node_new_child (NULL,
"operation", "gegl:invert-linear",
NULL);
gimp_gegl_apply_operation (src_buffer, progress, undo_desc,
node, dest_buffer, NULL);
g_object_unref (node);
}
void
gimp_gegl_apply_opacity (GeglBuffer *src_buffer,

View File

@ -63,7 +63,12 @@ void gimp_gegl_apply_gaussian_blur (GeglBuffer *src_buffer,
gdouble std_dev_x,
gdouble std_dev_y);
void gimp_gegl_apply_invert (GeglBuffer *src_buffer,
void gimp_gegl_apply_invert_gamma (GeglBuffer *src_buffer,
GimpProgress *progress,
const gchar *undo_desc,
GeglBuffer *dest_buffer);
void gimp_gegl_apply_invert_linear (GeglBuffer *src_buffer,
GimpProgress *progress,
const gchar *undo_desc,
GeglBuffer *dest_buffer);

View File

@ -385,7 +385,7 @@ invert_invoker (GimpProcedure *procedure,
{
gimp_drawable_apply_operation_by_name (drawable, progress,
_("Invert"),
"gegl:invert",
"gegl:invert-gamma",
NULL);
}
else

View File

@ -132,7 +132,8 @@ gimp_gegl_tool_operation_blacklisted (const gchar *name,
"gegl:fractal-trace",
"gegl:gaussian-blur",
"gegl:grid",
"gegl:invert",
"gegl:invert-linear",
"gegl:invert-gamma",
"gegl:lens-distortion",
"gegl:mono-mixer",
"gegl:motion-blur-circular",

View File

@ -388,7 +388,7 @@ HELP
{
gimp_drawable_apply_operation_by_name (drawable, progress,
_("Invert"),
"gegl:invert",
"gegl:invert-gamma",
NULL);
}
else