gegl r2262 - in trunk: . gegl/buffer
- From: ok svn gnome org
- To: svn-commits-list gnome org
- Subject: gegl r2262 - in trunk: . gegl/buffer
- Date: Wed, 30 Apr 2008 00:00:07 +0100 (BST)
Author: ok
Date: Tue Apr 29 23:00:06 2008
New Revision: 2262
URL: http://svn.gnome.org/viewvc/gegl?rev=2262&view=rev
Log:
* gegl/buffer/gegl-buffer.h: added new public API to GeglBuffer
gegl_buffer_load, gegl_buffer_write and gegl_buffer_open.
* gegl/buffer/gegl-buffer-load.c:
* gegl/buffer/gegl-buffer-load.h:
* gegl/buffer/gegl-buffer-private.h:
* gegl/buffer/gegl-buffer-share.c:
Modified:
trunk/ChangeLog
trunk/gegl/buffer/gegl-buffer-load.c
trunk/gegl/buffer/gegl-buffer-load.h
trunk/gegl/buffer/gegl-buffer-private.h
trunk/gegl/buffer/gegl-buffer-share.c
trunk/gegl/buffer/gegl-buffer.h
Modified: trunk/gegl/buffer/gegl-buffer-load.c
==============================================================================
--- trunk/gegl/buffer/gegl-buffer-load.c (original)
+++ trunk/gegl/buffer/gegl-buffer-load.c Tue Apr 29 23:00:06 2008
@@ -27,7 +27,6 @@
#include "gegl-types.h"
#include "gegl-buffer-types.h"
#include "gegl-buffer.h"
-#include "gegl-buffer-load.h"
#include "gegl-tile-storage.h"
#include "gegl-tile-backend.h"
#include "gegl-tile-handler.h"
@@ -45,7 +44,6 @@
#include <glib/gprintf.h>
-#if 0
typedef struct
{
GeglBufferHeader header;
@@ -95,8 +93,6 @@
g_slice_free (LoadInfo, info);
}
-#endif
-
GeglBufferItem *
gegl_buffer_read_header (GInputStream *i,
goffset *offset)
@@ -240,9 +236,11 @@
sanity();
return g_object_new (GEGL_TYPE_BUFFER, "path", path, NULL);
+}
-#if 0 /* old code that feeds tile by tile into the buffer */
-
+GeglBuffer *
+gegl_buffer_load (const gchar *path)
+{
GeglBuffer *ret;
LoadInfo *info = g_slice_new0 (LoadInfo);
@@ -335,5 +333,4 @@
load_info_destroy (info);
return ret;
-#endif
}
Modified: trunk/gegl/buffer/gegl-buffer-load.h
==============================================================================
--- trunk/gegl/buffer/gegl-buffer-load.h (original)
+++ trunk/gegl/buffer/gegl-buffer-load.h Tue Apr 29 23:00:06 2008
@@ -23,7 +23,5 @@
#include "gegl-buffer.h"
-void gegl_buffer_load (GeglBuffer *buffer,
- const gchar *path);
#endif
Modified: trunk/gegl/buffer/gegl-buffer-private.h
==============================================================================
--- trunk/gegl/buffer/gegl-buffer-private.h (original)
+++ trunk/gegl/buffer/gegl-buffer-private.h Tue Apr 29 23:00:06 2008
@@ -96,4 +96,5 @@
gboolean gegl_buffer_try_lock (GeglBuffer *buffer);
gboolean gegl_buffer_unlock (GeglBuffer *buffer);
+
#endif
Modified: trunk/gegl/buffer/gegl-buffer-share.c
==============================================================================
--- trunk/gegl/buffer/gegl-buffer-share.c (original)
+++ trunk/gegl/buffer/gegl-buffer-share.c Tue Apr 29 23:00:06 2008
@@ -43,43 +43,6 @@
return id;
}
-
-void
-gegl_buffer_make_uri (gchar *buf_128,
- gchar *host,
- gint port,
- gint process,
- gint handle)
-{
- gchar *p=buf_128;
-
- g_sprintf (p, "buffer://%s", host?host:"");
- p+=strlen (p);
- if (port)
- {
- g_sprintf (p, ":%i", port);
- p+=strlen (p);
- }
- g_sprintf (p, "/");
- p+=strlen (p);
- if (process)
- {
- g_sprintf (p, "%i", process);
- p+=strlen (p);
- }
- g_sprintf (p, "/");
- p+=strlen (p);
- if (handle || 1)
- {
- g_sprintf (p, "%i", handle);
- p+=strlen (p);
- }
- else
- {
- g_warning ("no handle provided when building uri:\n%s\n", buf_128);
- }
-}
-
#if 0
GeglBuffer*
gegl_buffer_open (const gchar *uri)
Modified: trunk/gegl/buffer/gegl-buffer.h
==============================================================================
--- trunk/gegl/buffer/gegl-buffer.h (original)
+++ trunk/gegl/buffer/gegl-buffer.h Tue Apr 29 23:00:06 2008
@@ -71,15 +71,42 @@
/**
* gegl_buffer_open:
- * @uri: a uri referring to a local, other process or other host buffer to
+ * @path: the path to a gegl buffer on disk.
* be opened.
*
- * buffer://host:port/process/handle
- * buffer:////42 handle 42 from same GEGL instance.
+ * Open an existing on-disk GeglBuffer, this buffer is opened in a monitored
+ * state so multiple instances of gegl can share the same buffer. Sets on
+ * one buffer are reflected in the other.
*
* Returns: a GeglBuffer object.
*/
-GeglBuffer* gegl_buffer_open (const gchar *uri);
+GeglBuffer* gegl_buffer_open (const gchar *path);
+
+/**
+ * gegl_buffer_save:
+ * @buffer: a #GeglBuffer.
+ * @path: the path where the gegl buffer will be saved, any writable GIO uri is valid.
+ * @roi: the region of interest to write, this is the tiles that will be collected and
+ * written to disk.
+ *
+ * Write a GeglBuffer to a file.
+ */
+void gegl_buffer_save (GeglBuffer *buffer,
+ const gchar *path,
+ const GeglRectangle *roi);
+
+/**
+ * gegl_buffer_load:
+ * @path: the path to a gegl buffer on disk.
+ * be opened.
+ *
+ * Loads an existing GeglBuffer from disk, if it has previously been saved with
+ * gegl_buffer_save it should be possible to open through any GIO transport, buffers
+ * that have been used as swap needs random access to be opened.
+ *
+ * Returns: a #GeglBuffer object.
+ */
+GeglBuffer *gegl_buffer_load (const gchar *path);
/**
* gegl_buffer_flush:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]