gegl r2245 - in trunk: . gegl/buffer
- From: ok svn gnome org
- To: svn-commits-list gnome org
- Subject: gegl r2245 - in trunk: . gegl/buffer
- Date: Sun, 27 Apr 2008 14:31:55 +0100 (BST)
Author: ok
Date: Sun Apr 27 13:31:55 2008
New Revision: 2245
URL: http://svn.gnome.org/viewvc/gegl?rev=2245&view=rev
Log:
* gegl/buffer/gegl-buffer-save.c:
(gegl_buffer_header_init): store more verbose ascii information about
the buffer in the padding zone.
Modified:
trunk/ChangeLog
trunk/gegl/buffer/gegl-buffer-save.c
Modified: trunk/gegl/buffer/gegl-buffer-save.c
==============================================================================
--- trunk/gegl/buffer/gegl-buffer-save.c (original)
+++ trunk/gegl/buffer/gegl-buffer-save.c Sun Apr 27 13:31:55 2008
@@ -50,6 +50,7 @@
gint tile_size;
gint offset;
+ gint entry_count;
GeglBufferBlock *last_added;
GeglBufferBlock *in_holding; /* we need to write one block added behind
* to be able to recompute the forward pointing
@@ -174,17 +175,18 @@
strcpy (header->magic, "GEGL");
header->flags = GEGL_FLAG_HEADER;
-
header->tile_width = tile_width;
header->tile_height = tile_height;
header->bytes_per_pixel = bpp;
{
gchar buf[64];
- g_snprintf (buf, 64, "%s%c\n%iÃ%i %ibpp\n\n\n\n\n\n\n\n\n\n",
+ g_snprintf (buf, 64, "%s%c\n%iÃ%i %ibpp\n%ix%i\n\n\n\n\n\n\n\n\n",
format->instance.name, 0,
header->tile_width,
header->tile_height,
- header->bytes_per_pixel);
+ header->bytes_per_pixel,
+ (gint)header->width,
+ (gint)header->height);
memcpy ((header->description), buf, 64);
}
}
@@ -211,6 +213,10 @@
info->o = G_OUTPUT_STREAM (g_file_replace (info->file, NULL, FALSE, G_FILE_CREATE_NONE, NULL, NULL));
g_object_get (buffer, "px-size", &bpp, NULL);
+ info->header.x = buffer->extent.x;
+ info->header.y = buffer->extent.y;
+ info->header.width = buffer->extent.width;
+ info->header.height = buffer->extent.height;
gegl_buffer_header_init (&info->header,
buffer->tile_storage->tile_width,
buffer->tile_storage->tile_height,
@@ -219,10 +225,6 @@
);
info->header.next = (prediction += sizeof (GeglBufferHeader));
- info->header.x = buffer->extent.x;
- info->header.y = buffer->extent.y;
- info->header.width = buffer->extent.width;
- info->header.height = buffer->extent.height;
info->tile_size = info->header.tile_width *
info->header.tile_height *
@@ -275,7 +277,7 @@
entry = gegl_tile_entry_new (tx, ty, z);
info->tiles = g_list_prepend (info->tiles, entry);
- info->header.entry_count++;
+ info->entry_count++;
}
bufx += (tile_width - offsetx) * factor;
}
@@ -298,7 +300,7 @@
{
GList *iter;
gint predicted_offset = sizeof (GeglBufferHeader) +
- sizeof (GeglBufferTile) * (info->header.entry_count);
+ sizeof (GeglBufferTile) * (info->entry_count);
for (iter = info->tiles; iter; iter = iter->next)
{
GeglBufferTile *entry = iter->data;
@@ -326,7 +328,9 @@
}
write_block (info, NULL); /* terminate the index */
- /* update header to point to start of new index */
+ /* update header to point to start of new index (already done for
+ * this serial saver, and the header is already written.
+ */
/* save each tile */
{
@@ -351,7 +355,6 @@
g_object_unref (G_OBJECT (tile));
i++;
}
- g_assert (i == info->header.entry_count);
}
save_info_destroy (info);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]