From 9ceb330eb3bede57b91be25b93d68afd93199c7c Mon Sep 17 00:00:00 2001 From: Sven Neumann Date: Fri, 13 Sep 2002 16:11:50 +0000 Subject: [PATCH] use the most significant bits of the GdkColor components (#89703). 2002-09-13 Sven Neumann * gdk/gdkpixbuf-drawable.c: use the most significant bits of the GdkColor components (#89703). --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-2 | 5 +++++ ChangeLog.pre-2-4 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gdk/gdkpixbuf-drawable.c | 42 ++++++++++++++++++++-------------------- 7 files changed, 51 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7cf31f6a6..5b52c814b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-09-13 Sven Neumann + + * gdk/gdkpixbuf-drawable.c: use the most significant bits of the + GdkColor components (#89703). + 2002-09-12 Tor Lillqvist * gdk/win32/gdkinput-win32.c (gdk_input_wintab_init): Use correct diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 7cf31f6a6..5b52c814b 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2002-09-13 Sven Neumann + + * gdk/gdkpixbuf-drawable.c: use the most significant bits of the + GdkColor components (#89703). + 2002-09-12 Tor Lillqvist * gdk/win32/gdkinput-win32.c (gdk_input_wintab_init): Use correct diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 7cf31f6a6..5b52c814b 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +2002-09-13 Sven Neumann + + * gdk/gdkpixbuf-drawable.c: use the most significant bits of the + GdkColor components (#89703). + 2002-09-12 Tor Lillqvist * gdk/win32/gdkinput-win32.c (gdk_input_wintab_init): Use correct diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 7cf31f6a6..5b52c814b 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +2002-09-13 Sven Neumann + + * gdk/gdkpixbuf-drawable.c: use the most significant bits of the + GdkColor components (#89703). + 2002-09-12 Tor Lillqvist * gdk/win32/gdkinput-win32.c (gdk_input_wintab_init): Use correct diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 7cf31f6a6..5b52c814b 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +2002-09-13 Sven Neumann + + * gdk/gdkpixbuf-drawable.c: use the most significant bits of the + GdkColor components (#89703). + 2002-09-12 Tor Lillqvist * gdk/win32/gdkinput-win32.c (gdk_input_wintab_init): Use correct diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 7cf31f6a6..5b52c814b 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2002-09-13 Sven Neumann + + * gdk/gdkpixbuf-drawable.c: use the most significant bits of the + GdkColor components (#89703). + 2002-09-12 Tor Lillqvist * gdk/win32/gdkinput-win32.c (gdk_input_wintab_init): Use correct diff --git a/gdk/gdkpixbuf-drawable.c b/gdk/gdkpixbuf-drawable.c index ec7d650a7..042db4878 100644 --- a/gdk/gdkpixbuf-drawable.c +++ b/gdk/gdkpixbuf-drawable.c @@ -204,9 +204,9 @@ rgb1 (GdkImage *image, (0x80 >> (xx & 7)) : (1 << (xx & 7))); - *o++ = colormap->colors[data].red; - *o++ = colormap->colors[data].green; - *o++ = colormap->colors[data].blue; + *o++ = colormap->colors[data].red >> 8; + *o++ = colormap->colors[data].green >> 8; + *o++ = colormap->colors[data].blue >> 8; } srow += bpl; orow += rowstride; @@ -251,9 +251,9 @@ rgb1a (GdkImage *image, (0x80 >> (xx & 7)) : (1 << (xx & 7))); - *o++ = colormap->colors[data].red; - *o++ = colormap->colors[data].green; - *o++ = colormap->colors[data].blue; + *o++ = colormap->colors[data].red >> 8; + *o++ = colormap->colors[data].green >> 8; + *o++ = colormap->colors[data].blue >> 8; *o++ = 255; } srow += bpl; @@ -296,9 +296,9 @@ rgb8 (GdkImage *image, for (xx = x1; xx < x2; xx++) { data = *s++ & mask; - *o++ = colormap->colors[data].red; - *o++ = colormap->colors[data].green; - *o++ = colormap->colors[data].blue; + *o++ = colormap->colors[data].red >> 8; + *o++ = colormap->colors[data].green >> 8; + *o++ = colormap->colors[data].blue >> 8; } srow += bpl; orow += rowstride; @@ -338,14 +338,14 @@ rgb8a (GdkImage *image, { #ifdef LITTLE remap[xx] = 0xff000000 - | colormap->colors[xx].blue << 16 - | colormap->colors[xx].green << 8 - | colormap->colors[xx].red; + | (colormap->colors[xx].blue & 0xff00) << 8 + | (colormap->colors[xx].green & 0xff00) + | (colormap->colors[xx].red >> 8); #else remap[xx] = 0xff - | colormap->colors[xx].red << 24 - | colormap->colors[xx].green << 16 - | colormap->colors[xx].blue << 8; + | (colormap->colors[xx].red & 0xff00) << 16 + | (colormap->colors[xx].green & 0xff00) << 8 + | (colormap->colors[xx].blue & 0xff00)); #endif } @@ -1244,9 +1244,9 @@ convert_real_slow (GdkImage *image, case GDK_VISUAL_GRAYSCALE: case GDK_VISUAL_STATIC_COLOR: case GDK_VISUAL_PSEUDO_COLOR: - *o++ = cmap->colors[pixel].red; - *o++ = cmap->colors[pixel].green; - *o++ = cmap->colors[pixel].blue; + *o++ = cmap->colors[pixel].red >> 8; + *o++ = cmap->colors[pixel].green >> 8; + *o++ = cmap->colors[pixel].blue >> 8; break; case GDK_VISUAL_TRUE_COLOR: /* This is odd because it must sometimes shift left (otherwise @@ -1267,9 +1267,9 @@ convert_real_slow (GdkImage *image, *o++ = component; break; case GDK_VISUAL_DIRECT_COLOR: - *o++ = cmap->colors[((pixel & v->red_mask) << (32 - v->red_shift - v->red_prec)) >> 24].red; - *o++ = cmap->colors[((pixel & v->green_mask) << (32 - v->green_shift - v->green_prec)) >> 24].green; - *o++ = cmap->colors[((pixel & v->blue_mask) << (32 - v->blue_shift - v->blue_prec)) >> 24].blue; + *o++ = cmap->colors[((pixel & v->red_mask) << (32 - v->red_shift - v->red_prec)) >> 24].red >> 8; + *o++ = cmap->colors[((pixel & v->green_mask) << (32 - v->green_shift - v->green_prec)) >> 24].green >> 8; + *o++ = cmap->colors[((pixel & v->blue_mask) << (32 - v->blue_shift - v->blue_prec)) >> 24].blue >> 8; break; } if (alpha)