diff src/pixbuf-renderer.h @ 398:c4080362d619

image post-processing (rotation and color management) moved to pixbuf-renderer
author nadvornik
date Thu, 17 Apr 2008 17:44:54 +0000
parents 0226daf8c30b
children 4b2d7f9af171
line wrap: on
line diff
--- a/src/pixbuf-renderer.h	Thu Apr 17 17:35:51 2008 +0000
+++ b/src/pixbuf-renderer.h	Thu Apr 17 17:44:54 2008 +0000
@@ -32,6 +32,10 @@
 					       gint width, gint height, GdkPixbuf *pixbuf, gpointer user_data);
 typedef void (* PixbufRendererTileDisposeFunc)(PixbufRenderer *pr, gint x, gint y,
 					       gint width, gint height, GdkPixbuf *pixbuf, gpointer user_data);
+
+typedef void (* PixbufRendererPostProcessFunc)(PixbufRenderer *pr, GdkPixbuf **pixbuf, gint x, gint y,
+					       gint width, gint height, gpointer user_data);
+
 typedef enum {
 	PR_SCROLL_RESET_TOPLEFT = 0,
 	PR_SCROLL_RESET_CENTER,
@@ -119,8 +123,12 @@
 
 	PixbufRendererTileRequestFunc func_tile_request;
 	PixbufRendererTileDisposeFunc func_tile_dispose;
+	
+	gpointer func_tile_data;
 
-	gpointer func_tile_data;
+	PixbufRendererPostProcessFunc func_post_process;
+	gpointer post_process_user_data;
+	gint post_process_slow;
 
 	gboolean delay_flip;
 	gboolean loading;
@@ -138,6 +146,10 @@
 
 	GList *overlay_list;
 	GdkPixmap *overlay_buffer;
+
+	GdkPixbuf *spare_tile;
+	
+	gint orientation;
 };
 
 struct _PixbufRendererClass
@@ -165,6 +177,11 @@
 void pixbuf_renderer_set_pixbuf(PixbufRenderer *pr, GdkPixbuf *pixbuf, gdouble zoom);
 GdkPixbuf *pixbuf_renderer_get_pixbuf(PixbufRenderer *pr);
 
+void pixbuf_renderer_set_orientation(PixbufRenderer *pr, gint orientation);
+gint pixbuf_renderer_get_orientation(PixbufRenderer *pr);
+
+void pixbuf_renderer_set_post_process_func(PixbufRenderer *pr, PixbufRendererPostProcessFunc func, gpointer user_data, gint slow);
+
 /* display an on-request array of pixbuf tiles */
 
 void pixbuf_renderer_set_tiles(PixbufRenderer *pr, gint width, gint height,