diff options
author | Raph Levien <raph@src.gnome.org> | 1998-09-11 00:11:05 +0000 |
---|---|---|
committer | Raph Levien <raph@src.gnome.org> | 1998-09-11 00:11:05 +0000 |
commit | 6d13f0f9b336986ca246ae469a59aeb04853b31d (patch) | |
tree | f0bea284f914e40f8b05ff7b43149263250481f8 | |
parent | 683cb5753ebcf57b9f3218798fa13237e8f52a5a (diff) | |
download | gdk-pixbuf-6d13f0f9b336986ca246ae469a59aeb04853b31d.tar.gz |
Checking in minor changes. Now synced with 0.9.0.GTK_1_1_2
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-0 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-2 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-4 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 8 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 8 | ||||
-rw-r--r-- | gdk/gdkrgb.c | 38 | ||||
-rw-r--r-- | gtk/testrgb.c | 52 | ||||
-rw-r--r-- | tests/testrgb.c | 52 |
10 files changed, 192 insertions, 6 deletions
@@ -1,3 +1,11 @@ +Thu Sep 10 17:04:03 1998 Raph Levien <raph@gimp.org> + + * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test + pattern. + + * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment + bugs in the 4bit gray cases. + Wed Sep 9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org> * configure.in: added -posix check for NeXTStep diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index f4c478ef5..b940e6e22 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,11 @@ +Thu Sep 10 17:04:03 1998 Raph Levien <raph@gimp.org> + + * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test + pattern. + + * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment + bugs in the 4bit gray cases. + Wed Sep 9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org> * configure.in: added -posix check for NeXTStep diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index f4c478ef5..b940e6e22 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +Thu Sep 10 17:04:03 1998 Raph Levien <raph@gimp.org> + + * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test + pattern. + + * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment + bugs in the 4bit gray cases. + Wed Sep 9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org> * configure.in: added -posix check for NeXTStep diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index f4c478ef5..b940e6e22 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,11 @@ +Thu Sep 10 17:04:03 1998 Raph Levien <raph@gimp.org> + + * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test + pattern. + + * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment + bugs in the 4bit gray cases. + Wed Sep 9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org> * configure.in: added -posix check for NeXTStep diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index f4c478ef5..b940e6e22 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,11 @@ +Thu Sep 10 17:04:03 1998 Raph Levien <raph@gimp.org> + + * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test + pattern. + + * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment + bugs in the 4bit gray cases. + Wed Sep 9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org> * configure.in: added -posix check for NeXTStep diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index f4c478ef5..b940e6e22 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,11 @@ +Thu Sep 10 17:04:03 1998 Raph Levien <raph@gimp.org> + + * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test + pattern. + + * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment + bugs in the 4bit gray cases. + Wed Sep 9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org> * configure.in: added -posix check for NeXTStep diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index f4c478ef5..b940e6e22 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +Thu Sep 10 17:04:03 1998 Raph Levien <raph@gimp.org> + + * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test + pattern. + + * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment + bugs in the 4bit gray cases. + Wed Sep 9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org> * configure.in: added -posix check for NeXTStep diff --git a/gdk/gdkrgb.c b/gdk/gdkrgb.c index e91e4c514..46653b6ea 100644 --- a/gdk/gdkrgb.c +++ b/gdk/gdkrgb.c @@ -649,7 +649,13 @@ gdk_rgb_xpixel_from_rgb (guint32 rgb) { gulong pixel; - if (image_info->visual->type == GDK_VISUAL_PSEUDO_COLOR) + if (image_info->bitmap) + { + return ((rgb & 0xff0000) >> 16) + + ((rgb & 0xff00) >> 7) + + (rgb & 0xff) > 510; + } + else if (image_info->visual->type == GDK_VISUAL_PSEUDO_COLOR) pixel = colorcube[((rgb & 0xf00000) >> 12) | ((rgb & 0xf000) >> 8) | ((rgb & 0xf0) >> 4)]; @@ -660,7 +666,8 @@ gdk_rgb_xpixel_from_rgb (guint32 rgb) ((rgb & 0x8000) >> 12) | ((rgb & 0x80) >> 7)]; } - else + else if (image_info->visual->type == GDK_VISUAL_TRUE_COLOR || + image_info->visual->type == GDK_VISUAL_DIRECT_COLOR) { #ifdef VERBOSE g_print ("shift, prec: r %d %d g %d %d b %d %d\n", @@ -682,6 +689,15 @@ gdk_rgb_xpixel_from_rgb (guint32 rgb) (8 - image_info->visual->blue_prec)) << image_info->visual->blue_shift)); } + else if (image_info->visual->type == GDK_VISUAL_STATIC_GRAY || + image_info->visual->type == GDK_VISUAL_GRAYSCALE) + { + int gray = ((rgb & 0xff0000) >> 16) + + ((rgb & 0xff00) >> 7) + + (rgb & 0xff); + + return gray >> (10 - image_info->visual->depth); + } return pixel; } @@ -2266,6 +2282,14 @@ gdk_rgb_convert_gray4_pack (GdkImage *image, obptr[0] = (pix0 << 4) | pix1; obptr++; } + if (width & 1) + { + r = *bp2++; + g = *bp2++; + b = *bp2++; + pix0 = (g + ((b + r) >> 1)) >> shift; + obptr[0] = (pix0 << 4); + } bptr += rowstride; obuf += bpl; } @@ -2356,6 +2380,16 @@ gdk_rgb_convert_gray4_d_pack (GdkImage *image, obptr[0] = (pix0 << 4) | pix1; obptr++; } + if (width & 1) + { + r = *bp2++; + g = *bp2++; + b = *bp2++; + gray = (g + ((b + r) >> 1)) >> 1; + gray += (dmp[(x_align + x + 1) & (DM_WIDTH - 1)] << 2) >> prec; + pix0 = (gray - (gray >> prec)) >> right; + obptr[0] = (pix0 << 4); + } bptr += rowstride; obuf += bpl; } diff --git a/gtk/testrgb.c b/gtk/testrgb.c index 4240d3918..d3eec48c0 100644 --- a/gtk/testrgb.c +++ b/gtk/testrgb.c @@ -137,11 +137,59 @@ testrgb_rgb_test (GtkWidget *drawing_area) buf[x * 3 + 1] = cindex & 2 ? 0 : 255; buf[x * 3 + 2] = cindex & 1 ? 0 : 255; } - for (y = 1; y < (HEIGHT * 3) / 4; y++) + for (y = 1; y < (HEIGHT * 19) / 32; y++) { memcpy (buf + y * WIDTH * 3, buf, WIDTH * 3); } - for (; y < (HEIGHT * 13) / 16; y++) + for (; y < (HEIGHT * 20) / 32; y++) + { + for (x = 0; x < WIDTH; x++) + { + guchar gray; + + gray = (x * 255) / (WIDTH - 1); + buf[y * WIDTH * 3 + x * 3] = gray; + buf[y * WIDTH * 3 + x * 3 + 1] = 0; + buf[y * WIDTH * 3 + x * 3 + 2] = 0; + } + } + for (; y < (HEIGHT * 21) / 32; y++) + { + for (x = 0; x < WIDTH; x++) + { + guchar gray; + + gray = (x * 255) / (WIDTH - 1); + buf[y * WIDTH * 3 + x * 3] = 0; + buf[y * WIDTH * 3 + x * 3 + 1] = gray; + buf[y * WIDTH * 3 + x * 3 + 2] = 0; + } + } + for (; y < (HEIGHT * 22) / 32; y++) + { + for (x = 0; x < WIDTH; x++) + { + guchar gray; + + gray = (x * 255) / (WIDTH - 1); + buf[y * WIDTH * 3 + x * 3] = 0; + buf[y * WIDTH * 3 + x * 3 + 1] = 0; + buf[y * WIDTH * 3 + x * 3 + 2] = gray; + } + } + for (; y < (HEIGHT * 24) / 32; y++) + { + for (x = 0; x < WIDTH; x++) + { + guchar gray; + + gray = 112 + (x * 31) / (WIDTH - 1); + buf[y * WIDTH * 3 + x * 3] = gray; + buf[y * WIDTH * 3 + x * 3 + 1] = gray; + buf[y * WIDTH * 3 + x * 3 + 2] = gray; + } + } + for (; y < (HEIGHT * 26) / 32; y++) { for (x = 0; x < WIDTH; x++) { diff --git a/tests/testrgb.c b/tests/testrgb.c index 4240d3918..d3eec48c0 100644 --- a/tests/testrgb.c +++ b/tests/testrgb.c @@ -137,11 +137,59 @@ testrgb_rgb_test (GtkWidget *drawing_area) buf[x * 3 + 1] = cindex & 2 ? 0 : 255; buf[x * 3 + 2] = cindex & 1 ? 0 : 255; } - for (y = 1; y < (HEIGHT * 3) / 4; y++) + for (y = 1; y < (HEIGHT * 19) / 32; y++) { memcpy (buf + y * WIDTH * 3, buf, WIDTH * 3); } - for (; y < (HEIGHT * 13) / 16; y++) + for (; y < (HEIGHT * 20) / 32; y++) + { + for (x = 0; x < WIDTH; x++) + { + guchar gray; + + gray = (x * 255) / (WIDTH - 1); + buf[y * WIDTH * 3 + x * 3] = gray; + buf[y * WIDTH * 3 + x * 3 + 1] = 0; + buf[y * WIDTH * 3 + x * 3 + 2] = 0; + } + } + for (; y < (HEIGHT * 21) / 32; y++) + { + for (x = 0; x < WIDTH; x++) + { + guchar gray; + + gray = (x * 255) / (WIDTH - 1); + buf[y * WIDTH * 3 + x * 3] = 0; + buf[y * WIDTH * 3 + x * 3 + 1] = gray; + buf[y * WIDTH * 3 + x * 3 + 2] = 0; + } + } + for (; y < (HEIGHT * 22) / 32; y++) + { + for (x = 0; x < WIDTH; x++) + { + guchar gray; + + gray = (x * 255) / (WIDTH - 1); + buf[y * WIDTH * 3 + x * 3] = 0; + buf[y * WIDTH * 3 + x * 3 + 1] = 0; + buf[y * WIDTH * 3 + x * 3 + 2] = gray; + } + } + for (; y < (HEIGHT * 24) / 32; y++) + { + for (x = 0; x < WIDTH; x++) + { + guchar gray; + + gray = 112 + (x * 31) / (WIDTH - 1); + buf[y * WIDTH * 3 + x * 3] = gray; + buf[y * WIDTH * 3 + x * 3 + 1] = gray; + buf[y * WIDTH * 3 + x * 3 + 2] = gray; + } + } + for (; y < (HEIGHT * 26) / 32; y++) { for (x = 0; x < WIDTH; x++) { |