gegl r2168 - in trunk: . gegl/buffer
- From: ok svn gnome org
- To: svn-commits-list gnome org
- Subject: gegl r2168 - in trunk: . gegl/buffer
- Date: Mon, 14 Apr 2008 23:06:51 +0100 (BST)
Author: ok
Date: Mon Apr 14 23:06:50 2008
New Revision: 2168
URL: http://svn.gnome.org/viewvc/gegl?rev=2168&view=rev
Log:
s/Message/Command/g s/message/command/g, added some macros to
gegl_provider that works as wrappers to use the commands directly
as if they were functions.
* gegl/buffer/gegl-buffer-private.h:
* gegl/buffer/gegl-buffer-save.c:
* gegl/buffer/gegl-buffer.c:
* gegl/buffer/gegl-handler-cache.c:
* gegl/buffer/gegl-handler-empty.c:
* gegl/buffer/gegl-handler-log.c:
* gegl/buffer/gegl-handler-zoom.c:
* gegl/buffer/gegl-handler.c:
* gegl/buffer/gegl-handler.h:
* gegl/buffer/gegl-handlers.c:
* gegl/buffer/gegl-handlers.h:
* gegl/buffer/gegl-provider.c:
* gegl/buffer/gegl-provider.h:
* gegl/buffer/gegl-storage.c:
* gegl/buffer/gegl-tile-disk.c:
* gegl/buffer/gegl-tile-gio.c:
* gegl/buffer/gegl-tile-mem.c:
* gegl/buffer/gegl-tile.c:
Modified:
trunk/ChangeLog
trunk/gegl/buffer/gegl-buffer-private.h
trunk/gegl/buffer/gegl-buffer-save.c
trunk/gegl/buffer/gegl-buffer.c
trunk/gegl/buffer/gegl-handler-cache.c
trunk/gegl/buffer/gegl-handler-empty.c
trunk/gegl/buffer/gegl-handler-log.c
trunk/gegl/buffer/gegl-handler-zoom.c
trunk/gegl/buffer/gegl-handler.c
trunk/gegl/buffer/gegl-handler.h
trunk/gegl/buffer/gegl-handlers.c
trunk/gegl/buffer/gegl-handlers.h
trunk/gegl/buffer/gegl-provider.c
trunk/gegl/buffer/gegl-provider.h
trunk/gegl/buffer/gegl-storage.c
trunk/gegl/buffer/gegl-tile-disk.c
trunk/gegl/buffer/gegl-tile-gio.c
trunk/gegl/buffer/gegl-tile-mem.c
trunk/gegl/buffer/gegl-tile.c
Modified: trunk/gegl/buffer/gegl-buffer-private.h
==============================================================================
--- trunk/gegl/buffer/gegl-buffer-private.h (original)
+++ trunk/gegl/buffer/gegl-buffer-private.h Mon Apr 14 23:06:50 2008
@@ -56,7 +56,7 @@
gint min_x; /* the extent of tile indices that has been */
gint min_y; /* produced by _get_tile for this buffer */
gint max_x; /* this is used in gegl_buffer_void to narrow */
- gint max_y; /* down the tiles kill messages are sent for */
+ gint max_y; /* down the tiles kill commands are sent for */
gint max_z;
};
Modified: trunk/gegl/buffer/gegl-buffer-save.c
==============================================================================
--- trunk/gegl/buffer/gegl-buffer-save.c (original)
+++ trunk/gegl/buffer/gegl-buffer-save.c Mon Apr 14 23:06:50 2008
@@ -231,8 +231,7 @@
gint tx = gegl_tile_indice (tiledx / factor, tile_width);
gint ty = gegl_tile_indice (tiledy / factor, tile_height);
- if (gegl_provider_message (GEGL_PROVIDER (buffer),
- GEGL_TILE_EXIST, tx, ty, z, NULL))
+ if (gegl_provider_exist (GEGL_PROVIDER (buffer), tx, ty, z))
{
tx += info->x_tile_shift / factor;
ty += info->y_tile_shift / factor;
Modified: trunk/gegl/buffer/gegl-buffer.c
==============================================================================
--- trunk/gegl/buffer/gegl-buffer.c (original)
+++ trunk/gegl/buffer/gegl-buffer.c Mon Apr 14 23:06:50 2008
@@ -461,13 +461,13 @@
}
static GeglTile *
-get_tile (GeglProvider *tile_store,
+get_tile (GeglProvider *buffer,
gint x,
gint y,
gint z)
{
- GeglHandlers *handlers = (GeglHandlers*)(tile_store);
- GeglProvider *provider = ((GeglHandler*)tile_store)->provider;
+ GeglHandlers *handlers = (GeglHandlers*)(buffer);
+ GeglProvider *provider = ((GeglHandler*)buffer)->provider;
GeglTile *tile = NULL;
if (handlers->chain != NULL)
@@ -480,27 +480,27 @@
if (tile)
{
- GeglBuffer *buffer = (GeglBuffer*)(tile_store);
+ GeglBuffer *buf = (GeglBuffer*)(buffer);
tile->x = x;
tile->y = y;
tile->z = z;
- if (x < buffer->min_x)
- buffer->min_x = x;
- if (y < buffer->min_y)
- buffer->min_y = y;
- if (x > buffer->max_x)
- buffer->max_x = x;
- if (y > buffer->max_y)
- buffer->max_y = y;
- if (z > buffer->max_z)
- buffer->max_z = z;
+ if (x < buf->min_x)
+ buf->min_x = x;
+ if (y < buf->min_y)
+ buf->min_y = y;
+ if (x > buf->max_x)
+ buf->max_x = x;
+ if (y > buf->max_y)
+ buf->max_y = y;
+ if (z > buf->max_z)
+ buf->max_z = z;
/* storing information in tile, to enable the dispose function of the
* tile instance to "hook" back to the storage with correct coordinates.
*/
{
- tile->storage = buffer->storage;
+ tile->storage = buf->storage;
tile->storage_x = x;
tile->storage_y = y;
tile->storage_z = z;
@@ -510,6 +510,20 @@
return tile;
}
+
+static gpointer
+command (GeglProvider *buffer,
+ GeglTileCommand command,
+ gint x,
+ gint y,
+ gint z,
+ gpointer data)
+{
+ if (command == GEGL_TILE_GET)
+ return get_tile (buffer, x, y, z);
+ return gegl_handler_chain_up (GEGL_HANDLER(buffer), command, x, y, z, data);
+}
+
static void
gegl_buffer_class_init (GeglBufferClass *class)
{
@@ -521,7 +535,7 @@
gobject_class->constructor = gegl_buffer_constructor;
gobject_class->set_property = set_property;
gobject_class->get_property = get_property;
- tile_provider_class->get_tile = get_tile;
+ tile_provider_class->command = command;
g_object_class_install_property (gobject_class, PROP_PX_SIZE,
g_param_spec_int ("px-size", "pixel-size", "size of a single pixel in bytes.",
@@ -613,30 +627,6 @@
allocated_buffers++;
}
-#if 0
-gboolean
-gegl_buffer_void_tile (GeglBuffer *buffer,
- gint x,
- gint y)
-{
- gint z = 0;
-
- g_return_val_if_fail (GEGL_IS_BUFFER (buffer), NULL);
-
- return gegl_provider_message (GEGL_PROVIDER (buffer),
- GEGL_TILE_VOID, x, y, z, NULL);
-}
-
-/* returns TRUE if something was done */
-gboolean
-gegl_buffer_idle (GeglBuffer *buffer)
-{
- g_return_val_if_fail (GEGL_IS_BUFFER (buffer), FALSE);
-
- return gegl_provider_message (GEGL_PROVIDER (buffer),
- GEGL_TILE_IDLE, 0, 0, 0, NULL);
-}
-#endif
/***************************************************************************/
@@ -681,7 +671,7 @@
if (z != 0 ||
tx >= buffer->min_x)
- gegl_provider_message (GEGL_PROVIDER (buffer),
+ gegl_provider_command (GEGL_PROVIDER (buffer),
GEGL_TILE_VOID, tx, ty, z, NULL);
if (z != 0 ||
Modified: trunk/gegl/buffer/gegl-handler-cache.c
==============================================================================
--- trunk/gegl/buffer/gegl-handler-cache.c (original)
+++ trunk/gegl/buffer/gegl-handler-cache.c Mon Apr 14 23:06:50 2008
@@ -126,8 +126,8 @@
static gpointer
-message (GeglProvider *tile_store,
- GeglTileMessage message,
+command (GeglProvider *tile_store,
+ GeglTileCommand command,
gint x,
gint y,
gint z,
@@ -136,11 +136,18 @@
GeglHandler *handler = GEGL_HANDLER (tile_store);
GeglHandlerCache *cache = GEGL_HANDLER_CACHE (handler);
- if (message == GEGL_TILE_IS_CACHED)
+ /* FIXME: replace with switch */
+
+ if (command == GEGL_TILE_GET)
+ {
+ return get_tile (tile_store, x, y, z);
+ }
+
+ if (command == GEGL_TILE_IS_CACHED)
{
return (gpointer)gegl_handler_cache_has_tile (cache, x, y, z);
}
- if (message == GEGL_TILE_EXIST)
+ if (command == GEGL_TILE_EXIST)
{
gboolean is_cached = gegl_handler_cache_has_tile (cache, x, y, z);
if (is_cached)
@@ -150,18 +157,18 @@
/* otherwise pass on the request */
}
- if (message == GEGL_TILE_IDLE)
+ if (command == GEGL_TILE_IDLE)
{
gboolean action = gegl_handler_cache_wash (cache);
if (action)
return (gpointer)action;
}
- if (message == GEGL_TILE_VOID)
+ if (command == GEGL_TILE_VOID)
{
gegl_handler_cache_void (cache, x, y, z);
return NULL;
}
- return gegl_handler_chain_up (handler, message, x, y, z, data);
+ return gegl_handler_chain_up (handler, command, x, y, z, data);
}
static void
@@ -223,8 +230,7 @@
gobject_class->finalize = finalize;
gobject_class->dispose = dispose;
- provider_class->get_tile = get_tile;
- provider_class->message = message;
+ provider_class->command = command;
g_object_class_install_property (gobject_class, PROP_SIZE,
g_param_spec_int ("size",
Modified: trunk/gegl/buffer/gegl-handler-empty.c
==============================================================================
--- trunk/gegl/buffer/gegl-handler-empty.c (original)
+++ trunk/gegl/buffer/gegl-handler-empty.c Mon Apr 14 23:06:50 2008
@@ -130,6 +130,20 @@
}
+static gpointer
+command (GeglProvider *buffer,
+ GeglTileCommand command,
+ gint x,
+ gint y,
+ gint z,
+ gpointer data)
+{
+ if (command == GEGL_TILE_GET)
+ return get_tile (buffer, x, y, z);
+ return gegl_handler_chain_up (GEGL_HANDLER(buffer), command, x, y, z, data);
+}
+
+
static void
gegl_handler_empty_class_init (GeglHandlerEmptyClass *klass)
{
@@ -140,8 +154,7 @@
gobject_class->finalize = finalize;
gobject_class->set_property = set_property;
gobject_class->get_property = get_property;
-
- provider_class->get_tile = get_tile;
+ provider_class->command = command;
g_object_class_install_property (gobject_class, PROP_BACKEND,
g_param_spec_object ("backend",
Modified: trunk/gegl/buffer/gegl-handler-log.c
==============================================================================
--- trunk/gegl/buffer/gegl-handler-log.c (original)
+++ trunk/gegl/buffer/gegl-handler-log.c Mon Apr 14 23:06:50 2008
@@ -24,32 +24,28 @@
G_DEFINE_TYPE (GeglHandlerLog, gegl_handler_log, GEGL_TYPE_HANDLER)
-static GeglTile *
-get_tile (GeglProvider *gegl_provider,
- gint x,
- gint y,
- gint z)
-{
- GeglProvider *provider = GEGL_HANDLER (gegl_provider)->provider;
- GeglTile *tile = NULL;
-
- g_print ("(get %p %i,%i,%i)", (void *) gegl_provider, x, y, z);
-
- if (provider)
- tile = gegl_provider_get_tile (provider, x, y, z);
-
- return tile;
-}
-static char *messages[] =
+static char *commands[] =
{
- "idle", "set", "is_cached", "exist", "void", "void tl", "void tr", "void bl",
- "void br", "undo start group", "last message", "eeek", NULL
+ "idle",
+ "set",
+ "get",
+ "is_cached",
+ "exist",
+ "void",
+ "void tl",
+ "void tr",
+ "void bl",
+ "void br",
+ "undo start group",
+ "last command",
+ "eeek",
+ NULL
};
static gpointer
-message (GeglProvider *gegl_provider,
- GeglTileMessage message,
+command (GeglProvider *gegl_provider,
+ GeglTileCommand command,
gint x,
gint y,
gint z,
@@ -58,15 +54,15 @@
GeglHandler *handler = GEGL_HANDLER (gegl_provider);
gpointer result = NULL;
- result = gegl_handler_chain_up (handler, message, x, y, z, data);
+ result = gegl_handler_chain_up (handler, command, x, y, z, data);
- switch (message)
+ switch (command)
{
case GEGL_TILE_IDLE:
break;
default:
g_print ("(%s %p %p %i,%i,%i => %s)",
- messages[message], (void *) gegl_provider, data, x, y, z,
+ commands[command], (void *) gegl_provider, data, x, y, z,
result?"1":"0");
}
return result;
@@ -77,8 +73,7 @@
{
GeglProviderClass *provider_class = GEGL_PROVIDER_CLASS (klass);
- provider_class->get_tile = get_tile;
- provider_class->message = message;
+ provider_class->command = command;
}
static void
Modified: trunk/gegl/buffer/gegl-handler-zoom.c
==============================================================================
--- trunk/gegl/buffer/gegl-handler-zoom.c (original)
+++ trunk/gegl/buffer/gegl-handler-zoom.c Mon Apr 14 23:06:50 2008
@@ -328,26 +328,28 @@
}
static gpointer
-message (GeglProvider *tile_store,
- GeglTileMessage message,
+command (GeglProvider *tile_store,
+ GeglTileCommand command,
gint x,
gint y,
gint z,
gpointer data)
{
GeglHandler *handler = GEGL_HANDLER (tile_store);
- GeglProvider *provider = handler->provider;
+ /*GeglProvider *provider = handler->provider;*/
- if (message == GEGL_TILE_VOID_TL ||
- message == GEGL_TILE_VOID_TR ||
- message == GEGL_TILE_VOID_BL ||
- message == GEGL_TILE_VOID_BR)
+ if (command == GEGL_TILE_GET)
+ return get_tile (tile_store, x, y, z);
+ if (command == GEGL_TILE_VOID_TL ||
+ command == GEGL_TILE_VOID_TR ||
+ command == GEGL_TILE_VOID_BL ||
+ command == GEGL_TILE_VOID_BR)
{
- GeglTile *tile = gegl_provider_get_tile (provider, x, y, z);
+ GeglTile *tile = gegl_provider_get_tile (tile_store, x, y, z);
if (!tile)
return FALSE;
- switch (message)
+ switch (command)
{
case GEGL_TILE_VOID_TL:
tile->flags |= GEGL_TILE_DIRT_TL;
@@ -371,8 +373,8 @@
g_object_unref (tile);
return FALSE;
}
- /* pass the message on */
- return gegl_handler_chain_up (handler, message, x, y, z, data);
+ /* pass the command on */
+ return gegl_handler_chain_up (handler, command, x, y, z, data);
}
@@ -450,8 +452,7 @@
gobject_class->set_property = set_property;
gobject_class->get_property = get_property;
- provider_class->get_tile = get_tile;
- provider_class->message = message;
+ provider_class->command = command;
g_object_class_install_property (gobject_class, PROP_STORAGE,
g_param_spec_object ("storage",
Modified: trunk/gegl/buffer/gegl-handler.c
==============================================================================
--- trunk/gegl/buffer/gegl-handler.c (original)
+++ trunk/gegl/buffer/gegl-handler.c Mon Apr 14 23:06:50 2008
@@ -49,25 +49,9 @@
G_OBJECT_CLASS (gegl_handler_parent_class)->dispose (object);
}
-static GeglTile *
-get_tile (GeglProvider *gegl_provider,
- gint x,
- gint y,
- gint z)
-{
- GeglHandler *handler = (GeglHandler*)(gegl_provider);
- GeglTile *tile = NULL;
-
- if (handler->provider)
- tile = gegl_provider_get_tile (handler->provider, x, y, z);
- if (tile != NULL)
- return tile;
- return tile;
-}
-
static gpointer
-message (GeglProvider *gegl_provider,
- GeglTileMessage message,
+command (GeglProvider *gegl_provider,
+ GeglTileCommand command,
gint x,
gint y,
gint z,
@@ -75,7 +59,7 @@
{
GeglHandler *handler = (GeglHandler*)gegl_provider;
- return gegl_handler_chain_up (handler, message, x, y, z, data);
+ return gegl_handler_chain_up (handler, command, x, y, z, data);
}
static void
@@ -136,7 +120,7 @@
}
gpointer gegl_handler_chain_up (GeglHandler *handler,
- GeglTileMessage message,
+ GeglTileCommand command,
gint x,
gint y,
gint z,
@@ -144,7 +128,7 @@
{
GeglProvider *provider = gegl_handler_get_provider (handler);
if (provider)
- return gegl_provider_message (provider, message, x, y, z, data);
+ return gegl_provider_command (provider, command, x, y, z, data);
return NULL;
}
@@ -158,8 +142,7 @@
gobject_class->get_property = get_property;
gobject_class->dispose = dispose;
- provider_class->get_tile = get_tile;
- provider_class->message = message;
+ provider_class->command = command;
g_object_class_install_property (gobject_class, PROP_SOURCE,
g_param_spec_object ("provider",
Modified: trunk/gegl/buffer/gegl-handler.h
==============================================================================
--- trunk/gegl/buffer/gegl-handler.h (original)
+++ trunk/gegl/buffer/gegl-handler.h Mon Apr 14 23:06:50 2008
@@ -49,7 +49,7 @@
gpointer gegl_handler_chain_up (GeglHandler *handler,
- GeglTileMessage message,
+ GeglTileCommand command,
gint x,
gint y,
gint z,
Modified: trunk/gegl/buffer/gegl-handlers.c
==============================================================================
--- trunk/gegl/buffer/gegl-handlers.c (original)
+++ trunk/gegl/buffer/gegl-handlers.c Mon Apr 14 23:06:50 2008
@@ -84,29 +84,9 @@
G_OBJECT_CLASS (gegl_handlers_parent_class)->finalize (object);
}
-static GeglTile *
-get_tile (GeglProvider *tile_store,
- gint x,
- gint y,
- gint z)
-{
- GeglHandlers *handlers = (GeglHandlers *) tile_store;
- GeglProvider *provider = ((GeglHandler *) tile_store)->provider;
- GeglTile *tile = NULL;
-
- if (handlers->chain != NULL)
- tile = gegl_provider_get_tile ((GeglProvider *) (handlers->chain->data),
- x, y, z);
- else if (provider)
- tile = gegl_provider_get_tile (provider, x, y, z);
- else
- g_assert (0);
- return tile;
-}
-
static gpointer
-message (GeglProvider *tile_store,
- GeglTileMessage message,
+command (GeglProvider *tile_store,
+ GeglTileCommand command,
gint x,
gint y,
gint z,
@@ -116,10 +96,10 @@
GeglProvider *provider = ((GeglHandler *) tile_store)->provider;
if (handlers->chain != NULL)
- return gegl_provider_message ((GeglProvider *)(handlers->chain->data),
- message, x, y, z, data);
+ return gegl_provider_command ((GeglProvider *)(handlers->chain->data),
+ command, x, y, z, data);
else if (provider)
- return gegl_provider_message (provider, message, x, y, z, data);
+ return gegl_provider_command (provider, command, x, y, z, data);
else
g_assert (0);
@@ -135,8 +115,7 @@
gobject_class = (GObjectClass *) class;
tile_store_class = (GeglProviderClass *) class;
- tile_store_class->get_tile = get_tile;
- tile_store_class->message = message;
+ tile_store_class->command = command;
gobject_class->finalize = finalize;
gobject_class->dispose = dispose;
Modified: trunk/gegl/buffer/gegl-handlers.h
==============================================================================
--- trunk/gegl/buffer/gegl-handlers.h (original)
+++ trunk/gegl/buffer/gegl-handlers.h Mon Apr 14 23:06:50 2008
@@ -48,8 +48,9 @@
* @handler: a #GeglHandler.
*
* Adds @handler to the list of handlers to be processed, the order handlers
- * are added in is from original provider to last processing element, messages
- * are passed from the last added to the first one in the chain.
+ * are added in is from original provider to last processing element, commands
+ * are passed from the last added to the first one in the chain, tiles
+ * and other results are passed back up
*
* Returns: the added handler.
*/
Modified: trunk/gegl/buffer/gegl-provider.c
==============================================================================
--- trunk/gegl/buffer/gegl-provider.c (original)
+++ trunk/gegl/buffer/gegl-provider.c Mon Apr 14 23:06:50 2008
@@ -21,34 +21,22 @@
G_DEFINE_TYPE (GeglProvider, gegl_provider, G_TYPE_OBJECT)
-static GeglTile *
-get_tile (GeglProvider *gegl_provider,
- gint x,
- gint y,
- gint z)
-{
- g_warning ("implementationless %s called", G_STRFUNC);
- return NULL;
-}
-
static gpointer
-message (GeglProvider *gegl_provider,
- GeglTileMessage message,
+command (GeglProvider *gegl_provider,
+ GeglTileCommand command,
gint x,
gint y,
gint z,
gpointer data)
{
- g_warning ("Unhandled message: %s %i, %i, %i, %p", G_STRFUNC, message, x, y, data);
+ g_warning ("Unimplemented %s %i, %i, %i, %p", G_STRFUNC, command, x, y, data);
return NULL;
}
static void
gegl_provider_class_init (GeglProviderClass *klass)
-{
- /*GObjectClass *gobject_class = G_OBJECT_CLASS (klass);*/
- klass->get_tile = get_tile;
- klass->message = message;
+{
+ klass->command = command;
}
static void
@@ -56,30 +44,9 @@
{
}
-/**
- * GeglTile
- * @gegl_provider: a GeglProvider
- * @x: horizontal index of requested tile
- * @y: vertical index of requested tile
- *
- * Return value: the tile requested (or NULL for sparse backends)
- */
-GeglTile *
-gegl_provider_get_tile (GeglProvider *gegl_provider,
- gint x,
- gint y,
- gint z)
-{
- GeglProviderClass *klass;
-
- klass = GEGL_PROVIDER_GET_CLASS (gegl_provider);
-
- return klass->get_tile (gegl_provider, x, y, z);
-}
-
gpointer
-gegl_provider_message (GeglProvider *gegl_provider,
- GeglTileMessage message,
+gegl_provider_command (GeglProvider *gegl_provider,
+ GeglTileCommand command,
gint x,
gint y,
gint z,
@@ -89,6 +56,6 @@
klass = GEGL_PROVIDER_GET_CLASS (gegl_provider);
- return klass->message (gegl_provider, message, x, y, z, data);
+ return klass->command (gegl_provider, command, x, y, z, data);
}
Modified: trunk/gegl/buffer/gegl-provider.h
==============================================================================
--- trunk/gegl/buffer/gegl-provider.h (original)
+++ trunk/gegl/buffer/gegl-provider.h Mon Apr 14 23:06:50 2008
@@ -33,11 +33,13 @@
#define GEGL_IS_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEGL_TYPE_PROVIDER))
#define GEGL_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEGL_TYPE_PROVIDER, GeglProviderClass))
-typedef gint GeglTileMessage;
+typedef gint GeglTileCommand;
-enum _GeglTileMessage
+enum _GeglTileCommand
{
- GEGL_TILE_SET = 0,
+ GEGL_TILE_IDLE = 0,
+ GEGL_TILE_SET,
+ GEGL_TILE_GET,
GEGL_TILE_IS_CACHED,
GEGL_TILE_EXIST,
GEGL_TILE_VOID,
@@ -46,8 +48,7 @@
GEGL_TILE_VOID_BL,
GEGL_TILE_VOID_BR,
GEGL_TILE_UNDO_START_GROUP,
- GEGL_TILE_IDLE,
- GEGL_TILE_LAST_MESSAGE
+ GEGL_TILE_LAST_COMMAND
};
struct _GeglProvider
@@ -59,13 +60,8 @@
{
GObjectClass parent_class;
- GeglTile *(*get_tile) (GeglProvider *gegl_provider,
- gint x,
- gint y,
- gint z);
-
- gpointer (*message) (GeglProvider *gegl_provider,
- GeglTileMessage message,
+ gpointer (*command) (GeglProvider *gegl_provider,
+ GeglTileCommand command,
gint x,
gint y,
gint z,
@@ -74,18 +70,39 @@
GType gegl_provider_get_type (void) G_GNUC_CONST;
-GeglTile * gegl_provider_get_tile (GeglProvider *gegl_provider,
- gint x,
- gint y,
- gint z);
-gpointer gegl_provider_message (GeglProvider *gegl_provider,
- GeglTileMessage message,
+
+gpointer gegl_provider_command (GeglProvider *gegl_provider,
+ GeglTileCommand command,
gint x,
gint y,
gint z,
gpointer data);
+#define gegl_provider_idle(provider) \
+ gegl_provider_command(provider,GEGL_TILE_IDLE,0,0,0,NULL)
+#define gegl_provider_set_tile(provider,x,y,z,tile) \
+ (gboolean)gegl_provider_command(provider,GEGL_TILE_SET,x,y,z,tile)
+#define gegl_provider_get_tile(provider,x,y,z) \
+ (GeglTile*)gegl_provider_command(provider,GEGL_TILE_GET,x,y,z,NULL)
+#define gegl_provider_is_cached(provider,x,y,z) \
+ (gboolean)gegl_provider_command(provider,GEGL_TILE_IS_CACHED,x,y,z,NULL)
+#define gegl_provider_exist(provider,x,y,z) \
+ (gboolean)gegl_provider_command(provider,GEGL_TILE_EXIST,x,y,z,NULL)
+#define gegl_provider_void(provider,x,y,z) \
+ gegl_provider_command(provider,GEGL_TILE_VOID,x,y,z,NULL)
+#define gegl_provider_void_tl(provider,x,y,z) \
+ gegl_provider_command(provider,GEGL_TILE_VOID_TL,x,y,z,NULL)
+#define gegl_provider_void_tr(provider,x,y,z) \
+ gegl_provider_command(provider,GEGL_TILE_VOID_TR,x,y,z,NULL)
+#define gegl_provider_void_bl(provider,x,y,z) \
+ gegl_provider_command(provider,GEGL_TILE_VOID_BL,x,y,z,NULL)
+#define gegl_provider_void_br(provider,x,y,z) \
+ gegl_provider_command(provider,GEGL_TILE_VOID_BR,x,y,z,NULL)
+#define gegl_provider_undo_start_group(provider,x,y,z) \
+ gegl_provider_command(provider,GEGL_TILE_UNDO_START_GROUP,x,y,z,NULL)
+
+
G_END_DECLS
#endif
Modified: trunk/gegl/buffer/gegl-storage.c
==============================================================================
--- trunk/gegl/buffer/gegl-storage.c (original)
+++ trunk/gegl/buffer/gegl-storage.c Mon Apr 14 23:06:50 2008
@@ -160,8 +160,7 @@
return FALSE;
}
- gegl_provider_message (GEGL_PROVIDER (storage),
- GEGL_TILE_IDLE, 0, 0, 0, NULL);
+ gegl_provider_idle (GEGL_PROVIDER (storage));
return TRUE;
}
Modified: trunk/gegl/buffer/gegl-tile-disk.c
==============================================================================
--- trunk/gegl/buffer/gegl-tile-disk.c (original)
+++ trunk/gegl/buffer/gegl-tile-disk.c Mon Apr 14 23:06:50 2008
@@ -336,15 +336,17 @@
};
static gpointer
-message (GeglProvider *tile_store,
- GeglTileMessage message,
+command (GeglProvider *tile_store,
+ GeglTileCommand command,
gint x,
gint y,
gint z,
gpointer data)
{
- switch (message)
+ switch (command)
{
+ case GEGL_TILE_GET:
+ return get_tile (tile_store, x, y, z);
case GEGL_TILE_SET:
return set_tile (tile_store, data, x, y, z);
@@ -358,8 +360,8 @@
return exist_tile (tile_store, data, x, y, z);
default:
- g_assert (message < GEGL_TILE_LAST_MESSAGE &&
- message >= 0);
+ g_assert (command < GEGL_TILE_LAST_COMMAND &&
+ command >= 0);
}
return FALSE;
}
@@ -505,8 +507,7 @@
gobject_class->constructor = gegl_tile_disk_constructor;
gobject_class->finalize = finalize;
- gegl_provider_class->get_tile = get_tile;
- gegl_provider_class->message = message;
+ gegl_provider_class->command = command;
g_object_class_install_property (gobject_class, PROP_PATH,
Modified: trunk/gegl/buffer/gegl-tile-gio.c
==============================================================================
--- trunk/gegl/buffer/gegl-tile-gio.c (original)
+++ trunk/gegl/buffer/gegl-tile-gio.c Mon Apr 14 23:06:50 2008
@@ -251,15 +251,18 @@
};
static gpointer
-message (GeglProvider *tile_store,
- GeglTileMessage message,
+command (GeglProvider *tile_store,
+ GeglTileCommand command,
gint x,
gint y,
gint z,
gpointer data)
{
- switch (message)
+ switch (command)
{
+ case GEGL_TILE_GET:
+ return get_tile (tile_store, x, y, z);
+
case GEGL_TILE_SET:
return set_tile (tile_store, data, x, y, z);
@@ -274,8 +277,8 @@
return (gpointer)exist_tile (tile_store, data, x, y, z);
default:
- g_assert (message < GEGL_TILE_LAST_MESSAGE &&
- message >= 0);
+ g_assert (command < GEGL_TILE_LAST_COMMAND &&
+ command >= 0);
}
return NULL;
}
@@ -362,8 +365,7 @@
gobject_class->constructor = gegl_tile_gio_constructor;
gobject_class->finalize = finalize;
- gegl_provider_class->get_tile = get_tile;
- gegl_provider_class->message = message;
+ gegl_provider_class->command = command;
g_object_class_install_property (gobject_class, PROP_PATH,
Modified: trunk/gegl/buffer/gegl-tile-mem.c
==============================================================================
--- trunk/gegl/buffer/gegl-tile-mem.c (original)
+++ trunk/gegl/buffer/gegl-tile-mem.c Mon Apr 14 23:06:50 2008
@@ -227,15 +227,18 @@
};
static gpointer
-message (GeglProvider *tile_store,
- GeglTileMessage message,
+command (GeglProvider *tile_store,
+ GeglTileCommand command,
gint x,
gint y,
gint z,
gpointer data)
{
- switch (message)
+ switch (command)
{
+ case GEGL_TILE_GET:
+ return get_tile (tile_store, x, y, z);
+
case GEGL_TILE_SET:
set_tile (tile_store, data, x, y, z);
return NULL;
@@ -251,8 +254,8 @@
return (gpointer)exist_tile (tile_store, data, x, y, z);
default:
- g_assert (message < GEGL_TILE_LAST_MESSAGE &&
- message >= 0);
+ g_assert (command < GEGL_TILE_LAST_COMMAND &&
+ command >= 0);
}
return FALSE;
}
@@ -362,8 +365,7 @@
gobject_class->constructor = gegl_tile_mem_constructor;
gobject_class->finalize = finalize;
- gegl_provider_class->get_tile = get_tile;
- gegl_provider_class->message = message;
+ gegl_provider_class->command = command;
}
static void
Modified: trunk/gegl/buffer/gegl-tile.c
==============================================================================
--- trunk/gegl/buffer/gegl-tile.c (original)
+++ trunk/gegl/buffer/gegl-tile.c Mon Apr 14 23:06:50 2008
@@ -31,6 +31,7 @@
#include "gegl-buffer.h"
#include "gegl-buffer-private.h"
#include "gegl-tile.h"
+#include "gegl-provider.h"
G_DEFINE_TYPE (GeglTile, gegl_tile, G_TYPE_OBJECT)
@@ -283,39 +284,29 @@
x /= 2;
y /= 2;
- gegl_provider_message (GEGL_PROVIDER (tile->storage),
- GEGL_TILE_VOID,
- x, y, z, NULL);
+ gegl_provider_void (GEGL_PROVIDER (tile->storage), x, y, z);
#if 0
/* FIXME: reenable this code */
if (!ver)
{
if (!hor)
{
- gegl_provider_message (GEGL_PROVIDER (tile->storage),
- GEGL_TILE_VOID_TL,
- x, y, z, NULL);
+ gegl_provider_void_tl (GEGL_PROVIDER (tile->storage), x,y,z);
}
else
{
- gegl_provider_message (GEGL_PROVIDER (tile->storage),
- GEGL_TILE_VOID_TR,
- x, y, z, NULL);
+ gegl_provider_void_tr (GEGL_PROVIDER (tile->storage), x,y,z);
}
}
else
{
if (!hor)
{
- gegl_provider_message (GEGL_PROVIDER (tile->storage),
- GEGL_TILE_VOID_BL,
- x, y, z, NULL);
+ gegl_provider_void_bl (GEGL_PROVIDER (tile->storage), x,y,z);
}
else
{
- gegl_provider_message (GEGL_PROVIDER (tile->storage),
- GEGL_TILE_VOID_BR,
- x, y, z, NULL);
+ gegl_provider_void_br (GEGL_PROVIDER (tile->storage), x,y,z);
}
}
#endif
@@ -406,13 +397,12 @@
{
if (tile->storage == NULL)
return FALSE;
- return GPOINTER_TO_INT (gegl_provider_message (GEGL_PROVIDER (tile->storage),
- GEGL_TILE_SET, tile->storage_x,
- tile->storage_y,
- tile->storage_z, tile));
+ return gegl_provider_set_tile (GEGL_PROVIDER (tile->storage),
+ tile->storage_x,
+ tile->storage_y,
+ tile->storage_z, tile);
}
-
/* compute the tile indice of a coordinate
* the stride is the width/height of tiles along the axis of coordinate
*/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]