summaryrefslogtreecommitdiff
path: root/src/xsane.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/xsane.h')
-rw-r--r--src/xsane.h95
1 files changed, 70 insertions, 25 deletions
diff --git a/src/xsane.h b/src/xsane.h
index 154bb52..4e4ddd8 100644
--- a/src/xsane.h
+++ b/src/xsane.h
@@ -3,7 +3,7 @@
xsane.h
Oliver Rauch <Oliver.Rauch@rauch-domain.de>
- Copyright (C) 1998-2005 Oliver Rauch
+ Copyright (C) 1998-2007 Oliver Rauch
This file is part of the XSANE package.
This program is free software; you can redistribute it and/or modify
@@ -69,6 +69,12 @@
#include <gdk/gdk.h>
#include <gtk/gtk.h>
+#ifdef HAVE_LIBLCMS
+# include "lcms.h"
+#else
+# define cmsHTRANSFORM void *
+#endif
+
/* ---------------------------------------------------------------------------------------------------------------------- */
#if 0
@@ -85,10 +91,10 @@
/* ---------------------------------------------------------------------------------------------------------------------- */
-#define XSANE_VERSION "0.991"
+#define XSANE_VERSION "0.993"
#define XSANE_AUTHOR "Oliver Rauch"
#define XSANE_COPYRIGHT "Oliver Rauch"
-#define XSANE_DATE "1998-2006"
+#define XSANE_DATE "1998-2007"
#define XSANE_EMAIL_ADR "Oliver.Rauch@xsane.org"
#define XSANE_HOMEPAGE "http://www.xsane.org"
#define XSANE_COPYRIGHT_TXT XSANE_DATE " " XSANE_COPYRIGHT
@@ -381,7 +387,7 @@ typedef struct Image_info
int image_height;
int depth;
- int colors;
+ int channels;
double resolution_x;
double resolution_y;
@@ -404,6 +410,13 @@ typedef struct Image_info
double threshold;
int reduce_to_lineart;
+
+ int enable_color_management;
+ int cms_function;
+ int cms_intent;
+ int cms_bpc;
+
+ char icm_profile[PATH_MAX];
}
Image_info;
@@ -469,7 +482,14 @@ enum
EMAIL_AUTH_ASMTP_LOGIN,
EMAIL_AUTH_ASMTP_CRAM_MD5
};
-
+
+enum
+{
+ XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE = 0,
+ XSANE_CMS_FUNCTION_CONVERT_TO_SRGB,
+ XSANE_CMS_FUNCTION_CONVERT_TO_WORKING_CS
+};
+
/* ---------------------------------------------------------------------------------------------------------------------- */
extern void xsane_pref_save(void);
@@ -617,6 +637,7 @@ typedef struct Xsane
char *backend;
char *backend_translation;
char *device_set_filename;
+ char *xsane_rc_set_filename;
char *output_filename;
char *dummy_filename;
@@ -739,6 +760,9 @@ typedef struct Xsane
GtkWidget *filename_entry;
GtkWidget *filetype_option_menu;
+ /* for all modes */
+ GtkWidget *cms_function_option_menu;
+
/* saving and transformation values: */
FILE *out;
int xsane_mode;
@@ -816,22 +840,24 @@ typedef struct Xsane
GtkWidget *show_standard_options_widget;
GtkWidget *show_advanced_options_widget;
GtkWidget *show_resolution_list_widget;
- GtkObject *zoom_widget;
- GtkObject *gamma_widget;
- GtkObject *gamma_red_widget;
- GtkObject *gamma_green_widget;
- GtkObject *gamma_blue_widget;
- GtkObject *brightness_widget;
- GtkObject *brightness_red_widget;
- GtkObject *brightness_green_widget;
- GtkObject *brightness_blue_widget;
- GtkObject *contrast_widget;
- GtkObject *contrast_red_widget;
- GtkObject *contrast_green_widget;
- GtkObject *contrast_blue_widget;
- GtkObject *threshold_widget;
-
- SANE_Int xsane_colors;
+ GtkWidget *enable_color_management_widget;
+ GtkWidget *edit_medium_definition_widget;
+ GtkWidget *zoom_widget;
+ GtkWidget *gamma_widget;
+ GtkWidget *gamma_red_widget;
+ GtkWidget *gamma_green_widget;
+ GtkWidget *gamma_blue_widget;
+ GtkWidget *brightness_widget;
+ GtkWidget *brightness_red_widget;
+ GtkWidget *brightness_green_widget;
+ GtkWidget *brightness_blue_widget;
+ GtkWidget *contrast_widget;
+ GtkWidget *contrast_red_widget;
+ GtkWidget *contrast_green_widget;
+ GtkWidget *contrast_blue_widget;
+ GtkWidget *threshold_widget;
+
+ SANE_Int xsane_channels;
SANE_Bool scanner_gamma_color;
SANE_Bool scanner_gamma_gray;
@@ -945,10 +971,17 @@ typedef struct Xsane
int enhancement_rgb_default;
int negative;
int show_preview;
+
+ int enable_color_management;
+ char *scanner_active_icm_profile;
+ char *scanner_default_color_icm_profile;
+ char *scanner_default_gray_icm_profile;
+
int print_filenames;
int force_filename;
char *external_filename;
+
/* -------------------------------------------------- */
int ipc_pipefd[2]; /* for inter process communication error messages */
@@ -974,9 +1007,12 @@ typedef struct XsaneSetup
GtkWidget *printer_gamma_red_entry;
GtkWidget *printer_gamma_green_entry;
GtkWidget *printer_gamma_blue_entry;
+ GtkWidget *printer_icm_profile_entry;
+ GtkWidget *printer_embed_csa_button;
+ GtkWidget *printer_embed_crd_button;
GtkWidget *printer_width_entry;
GtkWidget *printer_height_entry;
- GtkWidget *printer_ps_flatdecoded_button;
+ GtkWidget *printer_ps_flatedecoded_button;
GtkWidget *jpeg_image_quality_scale;
GtkWidget *png_image_compression_scale;
@@ -985,8 +1021,8 @@ typedef struct XsaneSetup
GtkWidget *overwrite_warning_button;
GtkWidget *increase_filename_counter_button;
GtkWidget *skip_existing_numbers_button;
- GtkWidget *save_ps_flatdecoded_button;
- GtkWidget *save_pdf_flatdecoded_button;
+ GtkWidget *save_ps_flatedecoded_button;
+ GtkWidget *save_pdf_flatedecoded_button;
GtkWidget *save_pnm16_as_ascii_button;
GtkWidget *reduce_16bit_to_8bit_button;
@@ -1020,7 +1056,7 @@ typedef struct XsaneSetup
GtkWidget *fax_leftoffset_entry;
GtkWidget *fax_bottomoffset_entry;
GtkWidget *fax_height_entry;
- GtkWidget *fax_ps_flatdecoded_button;
+ GtkWidget *fax_ps_flatedecoded_button;
GtkWidget *tmp_path_entry;
@@ -1041,6 +1077,15 @@ typedef struct XsaneSetup
GtkWidget *ocr_gui_outfd_option_entry;
GtkWidget *ocr_progress_keyword_entry;
+ GtkWidget *cms_intent_option_menu;
+ GtkWidget *cms_bpc_button;
+ GtkWidget *embed_scanner_icm_profile_for_gimp_button;
+ GtkWidget *scanner_default_color_icm_profile_entry;
+ GtkWidget *scanner_default_gray_icm_profile_entry;
+ GtkWidget *display_icm_profile_entry;
+ GtkWidget *custom_proofing_icm_profile_entry;
+ GtkWidget *working_color_space_icm_profile_entry;
+
int filename_counter_len;
int tiff_compression16_nr;