summaryrefslogtreecommitdiff
path: root/graphics/cinepaint/patches/patch-ae
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/cinepaint/patches/patch-ae')
-rw-r--r--graphics/cinepaint/patches/patch-ae73
1 files changed, 73 insertions, 0 deletions
diff --git a/graphics/cinepaint/patches/patch-ae b/graphics/cinepaint/patches/patch-ae
new file mode 100644
index 00000000000..2d09dfd7e9c
--- /dev/null
+++ b/graphics/cinepaint/patches/patch-ae
@@ -0,0 +1,73 @@
+$NetBSD: patch-ae,v 1.1 2005/03/16 18:32:50 rillig Exp $
+
+gcc-2.95.3 cannot handle declarations intermixed with code.
+
+--- app/color_correction.c.orig Tue Nov 23 12:58:15 2004
++++ app/color_correction.c Wed Mar 16 18:13:56 2005
+@@ -103,16 +103,19 @@ color_correction_free_transfer_LUTs (voi
+ void
+ color_correction_init_lab_transforms (GImage *image)
+ { CMSProfile *image_profile = gimage_get_cms_profile(image);
++ CMSProfile *lab_profile;
++ GSList *profiles = NULL;
++ Tag t;
++ DWORD lcms_format;
+ if (!image_profile)
+ { image_profile = cms_get_srgb_profile();
+ }
+
+- CMSProfile *lab_profile = cms_get_lab_profile(NULL);
+- GSList *profiles = NULL;
++ lab_profile = cms_get_lab_profile(NULL);
+ profiles = g_slist_append(profiles, image_profile);
+ profiles = g_slist_append(profiles, lab_profile);
+- Tag t = canvas_tag(drawable_data(gimage_active_drawable(image)));
+- DWORD lcms_format = cms_get_lcms_format(t, image_profile);
++ t = canvas_tag(drawable_data(gimage_active_drawable(image)));
++ lcms_format = cms_get_lcms_format(t, image_profile);
+ color_correction_to_lab_transform = cms_get_transform(profiles, lcms_format, TYPE_Lab_16, INTENT_PERCEPTUAL, 0);
+
+ profiles = g_slist_remove(profiles, image_profile);
+@@ -141,6 +144,13 @@ color_correction (PixelArea *src_area,
+ /* r,g,b values of the colour we are interpolating with, sat and lightness */
+ gfloat rgb[3][3];
+ int i=0;
++ gint width, height, num_channels, row_overhead;
++ gboolean has_alpha;
++ guint16 Lab[3],new_Lab[3];
++ gint16 new_col[3];
++ /* buffers to hold a colour value in float, used with HLS */
++ float fcol[3], fnew_col[3];
++ guint8 *s, *d;
+
+ /* get the fully saturated colour of given hue in rgb
+ this is the colour we are moving towards/interpolating with */
+@@ -155,21 +165,17 @@ color_correction (PixelArea *src_area,
+ i++;
+ }
+
+- gint width = pixelarea_width(src_area);
+- gint height = pixelarea_height(src_area);
+- gint num_channels = tag_num_channels(pixelarea_tag(src_area));
++ width = pixelarea_width(src_area);
++ height = pixelarea_height(src_area);
++ num_channels = tag_num_channels(pixelarea_tag(src_area));
+ /* overhead is in pixels */
+- gint row_overhead = pixelarea_rowstride(src_area)/pixelarea_bytes(src_area) - width;
+- gboolean has_alpha = tag_alpha(pixelarea_tag(src_area)) == ALPHA_YES ? TRUE : FALSE;
++ row_overhead = pixelarea_rowstride(src_area)/pixelarea_bytes(src_area) - width;
++ has_alpha = tag_alpha(pixelarea_tag(src_area)) == ALPHA_YES ? TRUE : FALSE;
+
+ /* buffers to hold a Lab colour value, used with Lab */
+- guint16 Lab[3],new_Lab[3];
+- gint16 new_col[3];
+- /* buffers to hold a colour value in float, used with HLS */
+- float fcol[3], fnew_col[3];
+
+- guint8 *s = (guint8 *)pixelarea_data(src_area);
+- guint8 *d = (guint8 *)pixelarea_data(dest_area);
++ s = (guint8 *)pixelarea_data(src_area);
++ d = (guint8 *)pixelarea_data(dest_area);
+ while (height--)
+ {
+ while (width--) {