summaryrefslogtreecommitdiff
path: root/debian/patches/lcms2.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/lcms2.patch')
-rw-r--r--debian/patches/lcms2.patch350
1 files changed, 0 insertions, 350 deletions
diff --git a/debian/patches/lcms2.patch b/debian/patches/lcms2.patch
deleted file mode 100644
index 497fccb..0000000
--- a/debian/patches/lcms2.patch
+++ /dev/null
@@ -1,350 +0,0 @@
-Subject: Add support for lcms 2
-Author: Nils Philippsen <nils@redhat.com>
-Bug-Debian: https://bugs.debian.org/745524
-Last-Update: Mon, 23 Sep 2013 16:11:31 +0200
-
----
- configure.in | 22 ++++++++++++++----
- include/config.h.in | 8 ++++++-
- src/xsane-preview.c | 6 +++--
- src/xsane-save.c | 38 ++++++++++++++++++++++++++-----
- src/xsane-viewer.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++---
- src/xsane.h | 8 ++++++-
- 6 files changed, 130 insertions(+), 17 deletions(-)
-
---- a/configure.in
-+++ b/configure.in
-@@ -130,7 +130,17 @@
- fi
-
- if test "${USE_LCMS}" = "yes"; then
-- AC_CHECK_LIB(lcms, cmsOpenProfileFromFile)
-+ AC_SEARCH_LIBS(cmsOpenProfileFromFile, [lcms2 lcms])
-+ if test "${ac_cv_search_cmsOpenProfileFromFile}" != "no"; then
-+ AC_DEFINE(HAVE_LIBLCMS, 1, [Define if LCMS is to be used.])
-+ fi
-+ if test "${ac_cv_search_cmsOpenProfileFromFile}" == "-llcms2"; then
-+ AC_DEFINE(HAVE_LIBLCMS2, 1, [Define if you have liblcms2.])
-+ else
-+ if test "${ac_cv_search_cmsOpenProfileFromFile}" == "-llcms"; then
-+ AC_DEFINE(HAVE_LIBLCMS1, 1, [Define if you have liblcms.])
-+ fi
-+ fi
- fi
-
- dnl Checks for library functions.
-@@ -294,10 +304,14 @@
- echo "* - PNG support deactivated *"
- fi
-
--if test "${ac_cv_lib_lcms_cmsOpenProfileFromFile}" = "yes"; then
-- echo "* - LCMS (color management) support activated *"
-+if test "${ac_cv_search_cmsOpenProfileFromFile}" = "-llcms2"; then
-+ echo "* - LCMS (color management) support activated (lcms2) *"
- else
-- echo "* - LCMS (color management) support deactivated *"
-+ if test "${ac_cv_search_cmsOpenProfileFromFile}" = "-llcms"; then
-+ echo "* - LCMS (color management) support activated (lcms) *"
-+ else
-+ echo "* - LCMS (color management) support deactivated *"
-+ fi
- fi
-
- echo "* *"
---- a/include/config.h.in
-+++ b/include/config.h.in
-@@ -290,9 +290,15 @@
- /* Define if you have libtiff. */
- #undef HAVE_LIBTIFF
-
--/* Define if you have liblcms. */
-+/* Define if LCMS is to be used. */
- #undef HAVE_LIBLCMS
-
-+/* Define if you have liblcms. */
-+#undef HAVE_LIBLCMS1
-+
-+/* Define if you have liblcms2. */
-+#undef HAVE_LIBLCMS2
-+
- #ifndef HAVE_STRNCASECMP
- /* OS/2 needs this */
- # define strncasecmp(a, b, c) strnicmp(a, b, c)
---- a/src/xsane-preview.c
-+++ b/src/xsane-preview.c
-@@ -6346,8 +6346,8 @@
- cmsHPROFILE hOutProfile = NULL;
- cmsHPROFILE hProofProfile = NULL;
- cmsHTRANSFORM hTransform = NULL;
-- DWORD input_format, output_format;
-- DWORD cms_flags = 0;
-+ cmsUInt32Number input_format, output_format;
-+ cmsUInt32Number cms_flags = 0;
- int proof = 0;
- char *cms_proof_icm_profile = NULL;
- int linesize = 0;
-@@ -6355,7 +6355,9 @@
-
- DBG(DBG_proc, "preview_do_color_correction\n");
-
-+#ifdef HAVE_LIBLCMS1
- cmsErrorAction(LCMS_ERROR_SHOW);
-+#endif
-
- if (preferences.cms_bpc)
- {
---- a/src/xsane-save.c
-+++ b/src/xsane-save.c
-@@ -832,9 +832,9 @@
- cmsHPROFILE hInProfile = NULL;
- cmsHPROFILE hOutProfile = NULL;
- cmsHTRANSFORM hTransform = NULL;
-- DWORD cms_input_format;
-- DWORD cms_output_format;
-- DWORD cms_flags = 0;
-+ cmsUInt32Number cms_input_format;
-+ cmsUInt32Number cms_output_format;
-+ cmsUInt32Number cms_flags = 0;
-
- if (cms_function == XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE)
- {
-@@ -843,7 +843,9 @@
-
- DBG(DBG_info, "Prepare CMS transform\n");
-
-+#ifdef HAVE_LIBLCMS1
- cmsErrorAction(LCMS_ERROR_SHOW);
-+#endif
-
- if (cms_bpc)
- {
-@@ -890,10 +892,18 @@
- if (image_info->channels == 1) /* == 1 (grayscale) */
- {
- #if 1 /* xxx oli */
-+# ifdef HAVE_LIBLCMS2
-+ cmsToneCurve *Gamma = cmsBuildGamma(NULL, 2.2);
-+# else
- LPGAMMATABLE Gamma = cmsBuildGamma(256, 2.2);
-+# endif
-
- hOutProfile = cmsCreateGrayProfile(cmsD50_xyY(), Gamma);
-+# ifdef HAVE_LIBLCMS2
-+ cmsFreeToneCurve(Gamma);
-+# else
- cmsFreeGamma(Gamma);
-+# endif
- #endif
- }
- else
-@@ -2904,7 +2914,11 @@
- return -1;
- }
-
-+#ifdef HAVE_LIBLCMS2
-+ n = cmsGetPostScriptCSA(NULL, hProfile, intent, 0, NULL, 0);
-+#else
- n = cmsGetPostScriptCSA(hProfile, intent, NULL, 0);
-+#endif
- if (n == 0)
- {
- return -2;
-@@ -2916,7 +2930,11 @@
- return -3;
- }
-
-+#ifdef HAVE_LIBLCMS2
-+ cmsGetPostScriptCSA(NULL, hProfile, intent, 0, buffer, n);
-+#else
- cmsGetPostScriptCSA(hProfile, intent, buffer, n);
-+#endif
- buffer[n] = 0;
-
- fprintf(outfile, "%s", buffer);
-@@ -2935,7 +2953,7 @@
- cmsHPROFILE hProfile;
- size_t n;
- char* buffer;
-- DWORD flags = cmsFLAGS_NODEFAULTRESOURCEDEF;
-+ cmsUInt32Number flags = cmsFLAGS_NODEFAULTRESOURCEDEF;
-
- hProfile = cmsOpenProfileFromFile(output_profile, "r");
- if (!hProfile)
-@@ -2948,7 +2966,11 @@
- flags |= cmsFLAGS_BLACKPOINTCOMPENSATION;
- }
-
-+#ifdef HAVE_LIBLCMS2
-+ n = cmsGetPostScriptCRD(NULL, hProfile, intent, flags, NULL, 0);
-+#else
- n = cmsGetPostScriptCRDEx(hProfile, intent, flags, NULL, 0);
-+#endif
- if (n == 0)
- {
- return -2;
-@@ -2960,7 +2982,11 @@
- return -3;
- }
-
-+#ifdef HAVE_LIBLCMS2
-+ cmsGetPostScriptCRD(NULL, hProfile, intent, flags, buffer, n);
-+#else
- cmsGetPostScriptCRDEx(hProfile, intent, flags, buffer, n);
-+#endif
- buffer[n] = 0;
-
- fprintf(outfile, "%s", buffer);
-@@ -4352,7 +4378,7 @@
- {
- FILE *icm_profile;
- size_t size, embed_len;
-- LPBYTE embed_buffer;
-+ cmsUInt8Number *embed_buffer;
-
- DBG(DBG_proc, "xsane_jpeg_embed_scanner_icm_profile(%s)\n", icm_filename);
-
-@@ -4366,7 +4392,7 @@
- size = ftell(icm_profile);
- fseek(icm_profile, 0, SEEK_SET);
-
-- embed_buffer = (LPBYTE) malloc(size + 1);
-+ embed_buffer = (cmsUInt8Number *) malloc(size + 1);
- if (embed_buffer)
- {
- embed_len = fread(embed_buffer, 1, size, icm_profile);
---- a/src/xsane-viewer.c
-+++ b/src/xsane-viewer.c
-@@ -1795,6 +1795,9 @@
- {
- Viewer *v = (Viewer *) data;
- int val;
-+#ifdef HAVE_LIBLCMS2
-+ cmsUInt16Number alarm_codes[cmsMAXCHANNELS];
-+#endif
-
- g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[0]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
- g_signal_handlers_block_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[1]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
-@@ -1811,6 +1814,49 @@
- v->cms_gamut_alarm_color = val;
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(v->cms_gamut_alarm_color_widget[v->cms_gamut_alarm_color]), TRUE);
-
-+#ifdef HAVE_LIBLCMS2
-+ switch(v->cms_gamut_alarm_color)
-+ {
-+ default:
-+ case 0: /* black */
-+ alarm_codes[0] = (cmsUInt16Number) 0;
-+ alarm_codes[1] = (cmsUInt16Number) 0;
-+ alarm_codes[2] = (cmsUInt16Number) 0;
-+ break;
-+
-+ case 1: /* gray */
-+ alarm_codes[0] = (cmsUInt16Number) 128;
-+ alarm_codes[1] = (cmsUInt16Number) 128;
-+ alarm_codes[2] = (cmsUInt16Number) 128;
-+ break;
-+
-+ case 2: /* white */
-+ alarm_codes[0] = (cmsUInt16Number) 255;
-+ alarm_codes[1] = (cmsUInt16Number) 255;
-+ alarm_codes[2] = (cmsUInt16Number) 255;
-+ break;
-+
-+ case 3: /* red */
-+ alarm_codes[0] = (cmsUInt16Number) 255;
-+ alarm_codes[1] = (cmsUInt16Number) 0;
-+ alarm_codes[2] = (cmsUInt16Number) 0;
-+ break;
-+
-+ case 4: /* green */
-+ alarm_codes[0] = (cmsUInt16Number) 0;
-+ alarm_codes[1] = (cmsUInt16Number) 255;
-+ alarm_codes[2] = (cmsUInt16Number) 0;
-+ break;
-+
-+ case 5: /* blue */
-+ alarm_codes[0] = (cmsUInt16Number) 0;
-+ alarm_codes[1] = (cmsUInt16Number) 0;
-+ alarm_codes[2] = (cmsUInt16Number) 255;
-+ break;
-+ }
-+
-+ cmsSetAlarmCodes(alarm_codes);
-+#else
- switch(v->cms_gamut_alarm_color)
- {
- default:
-@@ -1838,6 +1884,7 @@
- cmsSetAlarmCodes(0, 0, 255);
- break;
- }
-+#endif
-
- g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[0]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
- g_signal_handlers_unblock_by_func(GTK_OBJECT(v->cms_gamut_alarm_color_widget[1]), (GtkSignalFunc) xsane_viewer_set_cms_gamut_alarm_color_callback, v);
-@@ -2172,9 +2219,9 @@
- cmsHTRANSFORM hTransform = NULL;
- int proof = 0;
- char *cms_proof_icm_profile = NULL;
-- DWORD cms_input_format;
-- DWORD cms_output_format;
-- DWORD cms_flags = 0;
-+ cmsUInt32Number cms_input_format;
-+ cmsUInt32Number cms_output_format;
-+ cmsUInt32Number cms_flags = 0;
- #endif
-
- /* open imagefile */
-@@ -2203,7 +2250,9 @@
-
- if ((v->enable_color_management) && (v->cms_enable))
- {
-+#ifdef HAVE_LIBLCMS1
- cmsErrorAction(LCMS_ERROR_SHOW);
-+#endif
-
- if (v->cms_bpc)
- {
-@@ -2801,6 +2850,9 @@
- GtkWidget *scrolled_window;
- GtkWidget *zoom_option_menu, *zoom_menu, *zoom_menu_item;
- int i, selection;
-+#ifdef HAVE_LIBLCMS2
-+ cmsUInt16Number alarm_codes[cmsMAXCHANNELS];
-+#endif
-
- DBG(DBG_proc, "viewer_new(%s)\n", filename);
-
-@@ -2830,8 +2882,15 @@
- v->cms_proofing_intent = INTENT_ABSOLUTE_COLORIMETRIC;
- v->cms_gamut_check = 0;
- v->cms_gamut_alarm_color = 3; /* red */
-+#ifdef HAVE_LIBLCMS2
-+ alarm_codes[0] = (cmsUInt16Number) 255;
-+ alarm_codes[1] = (cmsUInt16Number) 0;
-+ alarm_codes[2] = (cmsUInt16Number) 0;
-+ cmsSetAlarmCodes(alarm_codes);
-+#else
- cmsSetAlarmCodes(255, 0, 0);
- #endif
-+#endif
- if (selection_filetype)
- {
- v->selection_filetype = strdup(selection_filetype);
---- a/src/xsane.h
-+++ b/src/xsane.h
-@@ -70,7 +70,13 @@
- #include <gtk/gtk.h>
-
- #ifdef HAVE_LIBLCMS
--# include "lcms.h"
-+# ifdef HAVE_LIBLCMS2
-+# include "lcms2.h"
-+# else
-+# include "lcms.h"
-+typedef BYTE cmsUInt8Number;
-+typedef DWORD cmsUInt32Number;
-+# endif
- #else
- # define cmsHTRANSFORM void *
- #endif