[gimp] libgimpwidgets: add GimpColorDisplay::convert_buffer()
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] libgimpwidgets: add GimpColorDisplay::convert_buffer()
- Date: Fri, 1 Nov 2013 21:35:17 +0000 (UTC)
commit 50d4fe3496750cdebd3a36a81e4ef632275544c7
Author: Michael Natterer <mitch gimp org>
Date: Fri Nov 1 22:34:09 2013 +0100
libgimpwidgets: add GimpColorDisplay::convert_buffer()
which takes a GeglBuffer and a GeglRectangle.
libgimpwidgets/gimpcolordisplay.c | 31 ++++++++++++++++++++++++++++-
libgimpwidgets/gimpcolordisplay.h | 12 +++++++++-
libgimpwidgets/gimpcolordisplaystack.c | 34 +++++++++++++++++++++++++++++++-
libgimpwidgets/gimpcolordisplaystack.h | 6 ++++-
libgimpwidgets/gimpwidgets.def | 2 +
5 files changed, 80 insertions(+), 5 deletions(-)
---
diff --git a/libgimpwidgets/gimpcolordisplay.c b/libgimpwidgets/gimpcolordisplay.c
index 37e8dc0..c3dcc80 100644
--- a/libgimpwidgets/gimpcolordisplay.c
+++ b/libgimpwidgets/gimpcolordisplay.c
@@ -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;
@@ -336,6 +337,32 @@ gimp_color_display_clone (GimpColorDisplay *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
* @surface: a #cairo_image_surface_t of type ARGB32
@@ -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,
diff --git a/libgimpwidgets/gimpcolordisplay.h b/libgimpwidgets/gimpcolordisplay.h
index 3d45311..1556928 100644
--- a/libgimpwidgets/gimpcolordisplay.h
+++ b/libgimpwidgets/gimpcolordisplay.h
@@ -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,
diff --git a/libgimpwidgets/gimpcolordisplaystack.c b/libgimpwidgets/gimpcolordisplaystack.c
index 5a0401d..6e3c435 100644
--- a/libgimpwidgets/gimpcolordisplaystack.c
+++ b/libgimpwidgets/gimpcolordisplaystack.c
@@ -286,6 +286,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
* @surface: a #cairo_image_surface_t of type ARGB32
@@ -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,
diff --git a/libgimpwidgets/gimpcolordisplaystack.h b/libgimpwidgets/gimpcolordisplaystack.h
index d3e0304..f3e9055 100644
--- a/libgimpwidgets/gimpcolordisplaystack.h
+++ b/libgimpwidgets/gimpcolordisplaystack.h
@@ -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,
diff --git a/libgimpwidgets/gimpwidgets.def b/libgimpwidgets/gimpwidgets.def
index 0fe2e50..3d83e51 100644
--- a/libgimpwidgets/gimpwidgets.def
+++ b/libgimpwidgets/gimpwidgets.def
@@ -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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]