1 /* This file is part of GEGL. 2 * 3 * This library is free software; you can redistribute it and/or 4 * modify it under the terms of the GNU Lesser General Public 5 * License as published by the Free Software Foundation; either 6 * version 3 of the License, or (at your option) any later version. 7 * 8 * This library is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 * Lesser General Public License for more details. 12 * 13 * You should have received a copy of the GNU Lesser General Public 14 * License along with this library; if not, see <https://www.gnu.org/licenses/>. 15 * 16 * Copyright 2006-2008 Øyvind Kolås <pippin@gimp.org> 17 */ 18 19 #ifndef __GEGL_BUFFER_BACKEND_H__ 20 #define __GEGL_BUFFER_BACKEND_H__ 21 22 23 G_BEGIN_DECLS 24 25 typedef struct _GeglTile GeglTile; 26 typedef struct _GeglTileSource GeglTileSource; 27 typedef struct _GeglTileHandler GeglTileHandler; 28 29 30 typedef void (*GeglTileCallback) (GeglTile *tile, 31 gpointer user_data); 32 33 34 35 /* All commands have the ability to pass commands to all tiles the handlers 36 * add abstraction to the commands the documentaiton given here is valid 37 * when the commands are issued to a full blown GeglBuffer instance. 38 */ 39 typedef enum 40 { 41 GEGL_TILE_IDLE = 0, 42 GEGL_TILE_SET, 43 GEGL_TILE_GET, 44 GEGL_TILE_IS_CACHED, 45 GEGL_TILE_EXIST, 46 GEGL_TILE_VOID, 47 GEGL_TILE_FLUSH, 48 GEGL_TILE_REFETCH, 49 GEGL_TILE_REINIT, 50 51 _GEGL_TILE_LAST_0_4_8_COMMAND, 52 53 GEGL_TILE_COPY = _GEGL_TILE_LAST_0_4_8_COMMAND, 54 55 GEGL_TILE_LAST_COMMAND 56 } GeglTileCommand; 57 58 typedef struct _GeglTileCopyParams 59 { 60 GeglBuffer *dst_buffer; 61 62 gint dst_x; 63 gint dst_y; 64 gint dst_z; 65 } GeglTileCopyParams; 66 67 G_END_DECLS 68 69 #include "gegl-buffer.h" 70 #include "gegl-buffer-enums.h" 71 #include "gegl-tile-backend.h" 72 #include "gegl-tile-source.h" 73 #include "gegl-tile-handler.h" 74 #include "gegl-tile.h" 75 76 #endif 77