Mercurial > geeqie.yaz
view src/color-man.h @ 114:50fc73e08550
Mon Nov 27 01:23:23 2006 John Ellis <johne@verizon.net>
* bar_exif.c, cache-loader.c, pan-view.c: Pass new arg for exif_read().
* color-man.[ch]: Add color_man_new_embedded for using in-memory color
profiles.
* exif.[ch]: Add support for extracting color profiles embedded in jpeg
and tiff images. This resulted in a rewrite of the jpeg parser; both
to allow searching for any marker type, and to make the code readable.
* format_raw.c: Add color profile tag to the debug code.
* image.c, layout.c: Use embedded color profiles when found and
enabled, also add toggle for the option in color profile menu.
author | gqview |
---|---|
date | Mon, 27 Nov 2006 06:37:48 +0000 |
parents | 55166d93498d |
children | 53b2bfdcff69 |
line wrap: on
line source
/* * GQview * (C) 2006 John Ellis * * Author: John Ellis * * This software is released under the GNU General Public License (GNU GPL). * Please read the included file COPYING for more information. * This software comes with no warranty of any kind, use at your own risk! */ #ifndef COLOR_MAN_H #define COLOR_MAN_H typedef enum { COLOR_PROFILE_NONE = 0, COLOR_PROFILE_FILE, COLOR_PROFILE_SRGB, COLOR_PROFILE_MEM } ColorManProfileType; typedef enum { COLOR_RETURN_SUCCESS = 0, COLOR_RETURN_ERROR, COLOR_RETURN_IMAGE_CHANGED } ColorManReturnType; typedef struct _ColorMan ColorMan; typedef void (* ColorManDoneFunc)(ColorMan *cm, ColorManReturnType success, gpointer data); struct _ColorMan { ImageWindow *imd; GdkPixbuf *pixbuf; gint row; gpointer profile; gint idle_id; ColorManDoneFunc func_done; gpointer func_done_data; }; ColorMan *color_man_new(ImageWindow *imd, ColorManProfileType input_type, const gchar *input_file, ColorManProfileType screen_type, const gchar *screen_file, ColorManDoneFunc done_func, gpointer done_data); ColorMan *color_man_new_embedded(ImageWindow *imd, unsigned char *input_data, guint input_data_len, ColorManProfileType screen_type, const gchar *screen_file, ColorManDoneFunc done_func, gpointer done_data); void color_man_free(ColorMan *cm); void color_man_update(void); #endif