[gegl] Add an introspectable version of gegl_buffer_new
- From: Daniel Sabo <daniels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] Add an introspectable version of gegl_buffer_new
- Date: Fri, 29 Mar 2013 19:03:22 +0000 (UTC)
commit 321c6b94e73bf54357f347b98b4a79566334e9f1
Author: Daniel Sabo <DanielSabo gmail com>
Date: Thu Mar 28 12:12:17 2013 -0700
Add an introspectable version of gegl_buffer_new
Because PyGObject can't see Babl* or GeglRectangle it is impossible
to construct a GeglBuffer from python. This adds a replacement for
gegl_buffer_new that only uses primitive types.
gegl/buffer/gegl-buffer.c | 23 +++++++++++++++++++++++
gegl/buffer/gegl-buffer.h | 19 ++++++++++++++++++-
2 files changed, 41 insertions(+), 1 deletions(-)
---
diff --git a/gegl/buffer/gegl-buffer.c b/gegl/buffer/gegl-buffer.c
index b55aa2d..207f627 100644
--- a/gegl/buffer/gegl-buffer.c
+++ b/gegl/buffer/gegl-buffer.c
@@ -1050,6 +1050,29 @@ gegl_buffer_new_ram (const GeglRectangle *extent,
}
GeglBuffer *
+gegl_buffer_introspectable_new (const char *format_name,
+ gint x,
+ gint y,
+ gint width,
+ gint height)
+{
+ const Babl *format = NULL;
+
+ if (format_name)
+ format = babl_format (format_name);
+ if (!format)
+ format = babl_format ("RGBA float");
+
+ return g_object_new (GEGL_TYPE_BUFFER,
+ "x", x,
+ "y", y,
+ "width", width,
+ "height", height,
+ "format", format,
+ NULL);
+}
+
+GeglBuffer *
gegl_buffer_new (const GeglRectangle *extent,
const Babl *format)
{
diff --git a/gegl/buffer/gegl-buffer.h b/gegl/buffer/gegl-buffer.h
index cdb0e45..0d597de 100644
--- a/gegl/buffer/gegl-buffer.h
+++ b/gegl/buffer/gegl-buffer.h
@@ -61,7 +61,24 @@ GType gegl_buffer_get_type (void) G_GNUC_CONST;
GeglBuffer * gegl_buffer_new (const GeglRectangle *extent,
const Babl *format);
-
+/**
+ * gegl_buffer_introspectable_new:
+ * @format_name: The Babl format name for this buffer, e.g. "RGBA float"
+ * @x: x origin of the buffer's extent
+ * @y: y origin of the buffer's extent
+ * @width: width of the buffer's extent
+ * @height: height of the buffer's extent
+ *
+ * Create a new GeglBuffer with the given format and dimensions.
+ *
+ * Rename to: gegl_buffer_new
+ */
+GeglBuffer *
+gegl_buffer_introspectable_new (const char *format_name,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
/**
* gegl_buffer_new_for_backend:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]