static gpointer gegl_tile_handler_empty_command (GeglTileSource *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_tile_handler_source_command (buffer, command, x, y, z, data); }
static gpointer gegl_tile_handler_zoom_command (GeglTileSource *tile_store, GeglTileCommand command, gint x, gint y, gint z, gpointer data) { GeglTileHandler *handler = (void*)tile_store; if (command == GEGL_TILE_GET) return get_tile (tile_store, x, y, z); else return gegl_tile_handler_source_command (handler, command, x, y, z, data); }
static gpointer gimp_tile_handler_projection_command (GeglTileSource *source, GeglTileCommand command, gint x, gint y, gint z, gpointer data) { gpointer retval; retval = gegl_tile_handler_source_command (source, command, x, y, z, data); if (command == GEGL_TILE_GET && z == 0) retval = gimp_tile_handler_projection_validate (source, retval, x, y); return retval; }
static gpointer gegl_buffer_command (GeglTileSource *source, GeglTileCommand command, gint x, gint y, gint z, gpointer data) { GeglTileHandler *handler = GEGL_TILE_HANDLER (source); switch (command) { case GEGL_TILE_GET: return gegl_buffer_get_tile (source, x, y, z); default: return gegl_tile_handler_source_command (handler, command, x, y, z, data); } }