mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-18 13:53:46 +00:00
libgimpwidgets: add GimpColorDisplay::convert_buffer()
which takes a GeglBuffer and a GeglRectangle.
This commit is contained in:
parent
5fd46384a5
commit
50d4fe3496
|
@ -141,6 +141,7 @@ gimp_color_display_class_init (GimpColorDisplayClass *klass)
|
|||
klass->stock_id = GIMP_STOCK_DISPLAY_FILTER;
|
||||
|
||||
klass->clone = NULL;
|
||||
klass->convert_buffer = NULL;
|
||||
klass->convert_surface = NULL;
|
||||
klass->convert = NULL;
|
||||
klass->load_state = NULL;
|
||||
|
@ -335,6 +336,32 @@ gimp_color_display_clone (GimpColorDisplay *display)
|
|||
return GIMP_COLOR_DISPLAY (gimp_config_duplicate (GIMP_CONFIG (display)));
|
||||
}
|
||||
|
||||
/**
|
||||
* gimp_color_display_convert_buffer:
|
||||
* @display: a #GimpColorDisplay
|
||||
* @buffer: a #GeglBuffer
|
||||
* @area: area in @buffer to convert
|
||||
*
|
||||
* Converts all pixels in @area of @buffer.
|
||||
*
|
||||
* Since: GIMP 2.10
|
||||
**/
|
||||
void
|
||||
gimp_color_display_convert_buffer (GimpColorDisplay *display,
|
||||
GeglBuffer *buffer,
|
||||
GeglRectangle *area)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY (display));
|
||||
g_return_if_fail (GEGL_IS_BUFFER (buffer));
|
||||
|
||||
if (display->enabled &&
|
||||
GIMP_COLOR_DISPLAY_GET_CLASS (display)->convert_buffer)
|
||||
{
|
||||
GIMP_COLOR_DISPLAY_GET_CLASS (display)->convert_buffer (display, buffer,
|
||||
area);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gimp_color_display_convert_surface:
|
||||
* @display: a #GimpColorDisplay
|
||||
|
@ -343,6 +370,8 @@ gimp_color_display_clone (GimpColorDisplay *display)
|
|||
* Converts all pixels in @surface.
|
||||
*
|
||||
* Since: GIMP 2.8
|
||||
*
|
||||
* Deprecated: GIMP 2.8: Use gimp_color_display_convert_buffer() instead.
|
||||
**/
|
||||
void
|
||||
gimp_color_display_convert_surface (GimpColorDisplay *display,
|
||||
|
@ -373,7 +402,7 @@ gimp_color_display_convert_surface (GimpColorDisplay *display,
|
|||
*
|
||||
* Converts all pixels in @buf.
|
||||
*
|
||||
* Deprecated: GIMP 2.8: Use gimp_color_display_convert_surface() instead.
|
||||
* Deprecated: GIMP 2.8: Use gimp_color_display_convert_buffer() instead.
|
||||
**/
|
||||
void
|
||||
gimp_color_display_convert (GimpColorDisplay *display,
|
||||
|
|
|
@ -85,11 +85,15 @@ struct _GimpColorDisplayClass
|
|||
|
||||
const gchar *stock_id;
|
||||
|
||||
/* implementing the GimpColorDisplay::convert_surface method is deprecated */
|
||||
void (* convert_surface) (GimpColorDisplay *display,
|
||||
cairo_surface_t *surface);
|
||||
|
||||
void (* convert_buffer) (GimpColorDisplay *display,
|
||||
GeglBuffer *buffer,
|
||||
GeglRectangle *area);
|
||||
|
||||
/* Padding for future expansion */
|
||||
void (* _gimp_reserved3) (void);
|
||||
void (* _gimp_reserved4) (void);
|
||||
};
|
||||
|
||||
|
@ -100,9 +104,13 @@ GIMP_DEPRECATED_FOR(g_object_new)
|
|||
GimpColorDisplay * gimp_color_display_new (GType display_type);
|
||||
GimpColorDisplay * gimp_color_display_clone (GimpColorDisplay *display);
|
||||
|
||||
void gimp_color_display_convert_buffer (GimpColorDisplay *display,
|
||||
GeglBuffer *buffer,
|
||||
GeglRectangle *area);
|
||||
GIMP_DEPRECATED_FOR(gimp_color_display_convert_buffer)
|
||||
void gimp_color_display_convert_surface (GimpColorDisplay *display,
|
||||
cairo_surface_t *surface);
|
||||
GIMP_DEPRECATED_FOR(gimp_color_display_convert_surface)
|
||||
GIMP_DEPRECATED_FOR(gimp_color_display_convert_buffer)
|
||||
void gimp_color_display_convert (GimpColorDisplay *display,
|
||||
guchar *buf,
|
||||
gint width,
|
||||
|
|
|
@ -285,6 +285,34 @@ gimp_color_display_stack_reorder_down (GimpColorDisplayStack *stack,
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gimp_color_display_stack_convert_buffer:
|
||||
* @stack: a #GimpColorDisplayStack
|
||||
* @buffer: a #GeglBuffer
|
||||
* @area: area of @buffer to convert
|
||||
*
|
||||
* Runs all the stack's filters on all pixels in @area of @buffer.
|
||||
*
|
||||
* Since: GIMP 2.10
|
||||
**/
|
||||
void
|
||||
gimp_color_display_stack_convert_buffer (GimpColorDisplayStack *stack,
|
||||
GeglBuffer *buffer,
|
||||
GeglRectangle *area)
|
||||
{
|
||||
GList *list;
|
||||
|
||||
g_return_if_fail (GIMP_IS_COLOR_DISPLAY_STACK (stack));
|
||||
g_return_if_fail (GEGL_IS_BUFFER (buffer));
|
||||
|
||||
for (list = stack->filters; list; list = g_list_next (list))
|
||||
{
|
||||
GimpColorDisplay *display = list->data;
|
||||
|
||||
gimp_color_display_convert_buffer (display, buffer, area);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gimp_color_display_stack_convert_surface:
|
||||
* @stack: a #GimpColorDisplayStack
|
||||
|
@ -293,6 +321,8 @@ gimp_color_display_stack_reorder_down (GimpColorDisplayStack *stack,
|
|||
* Runs all the stack's filters on all pixels in @surface.
|
||||
*
|
||||
* Since: GIMP 2.8
|
||||
*
|
||||
* Deprecated: GIMP 2.10: Use gimp_color_display_stack_convert_buffer() instead.
|
||||
**/
|
||||
void
|
||||
gimp_color_display_stack_convert_surface (GimpColorDisplayStack *stack,
|
||||
|
@ -309,7 +339,9 @@ gimp_color_display_stack_convert_surface (GimpColorDisplayStack *stack,
|
|||
{
|
||||
GimpColorDisplay *display = list->data;
|
||||
|
||||
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
|
||||
gimp_color_display_convert_surface (display, surface);
|
||||
G_GNUC_END_IGNORE_DEPRECATIONS
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -324,7 +356,7 @@ gimp_color_display_stack_convert_surface (GimpColorDisplayStack *stack,
|
|||
*
|
||||
* Converts all pixels in @buf.
|
||||
*
|
||||
* Deprecated: GIMP 2.8: Use gimp_color_display_stack_convert_surface() instead.
|
||||
* Deprecated: GIMP 2.8: Use gimp_color_display_stack_convert_buffer() instead.
|
||||
**/
|
||||
void
|
||||
gimp_color_display_stack_convert (GimpColorDisplayStack *stack,
|
||||
|
|
|
@ -85,9 +85,13 @@ void gimp_color_display_stack_reorder_up (GimpColorDisplayStack *stack,
|
|||
GimpColorDisplay *display);
|
||||
void gimp_color_display_stack_reorder_down (GimpColorDisplayStack *stack,
|
||||
GimpColorDisplay *display);
|
||||
void gimp_color_display_stack_convert_buffer (GimpColorDisplayStack *stack,
|
||||
GeglBuffer *buffer,
|
||||
GeglRectangle *area);
|
||||
GIMP_DEPRECATED_FOR(gimp_color_display_stack_convert_buffer)
|
||||
void gimp_color_display_stack_convert_surface (GimpColorDisplayStack *stack,
|
||||
cairo_surface_t *surface);
|
||||
GIMP_DEPRECATED_FOR(gimp_color_display_stack_convert_surface)
|
||||
GIMP_DEPRECATED_FOR(gimp_color_display_stack_convert_buffer)
|
||||
void gimp_color_display_stack_convert (GimpColorDisplayStack *stack,
|
||||
guchar *buf,
|
||||
gint width,
|
||||
|
|
|
@ -44,6 +44,7 @@ EXPORTS
|
|||
gimp_color_display_configure
|
||||
gimp_color_display_configure_reset
|
||||
gimp_color_display_convert
|
||||
gimp_color_display_convert_buffer
|
||||
gimp_color_display_convert_surface
|
||||
gimp_color_display_get_config
|
||||
gimp_color_display_get_enabled
|
||||
|
@ -57,6 +58,7 @@ EXPORTS
|
|||
gimp_color_display_stack_changed
|
||||
gimp_color_display_stack_clone
|
||||
gimp_color_display_stack_convert
|
||||
gimp_color_display_stack_convert_buffer
|
||||
gimp_color_display_stack_convert_surface
|
||||
gimp_color_display_stack_get_type
|
||||
gimp_color_display_stack_new
|
||||
|
|
Loading…
Reference in a new issue