mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-25 21:21:21 +00:00
Fixed up some of the bigendian 32bpp modes.
This commit is contained in:
parent
75bda50723
commit
ebe76c752c
@ -1,3 +1,10 @@
|
|||||||
|
Wed Sep 2 22:41:40 1998 Raph Levien <raph@gimp.org>
|
||||||
|
|
||||||
|
* gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
|
||||||
|
big-endian cases. Added a 4bpp packed gray mode (somewhat
|
||||||
|
incorrectly hardwired to MSB), which should take care of
|
||||||
|
Stric's hardware.
|
||||||
|
|
||||||
Thu Sep 3 04:45:57 1998 Tim Janik <timj@gtk.org>
|
Thu Sep 3 04:45:57 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
|
* gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
Wed Sep 2 22:41:40 1998 Raph Levien <raph@gimp.org>
|
||||||
|
|
||||||
|
* gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
|
||||||
|
big-endian cases. Added a 4bpp packed gray mode (somewhat
|
||||||
|
incorrectly hardwired to MSB), which should take care of
|
||||||
|
Stric's hardware.
|
||||||
|
|
||||||
Thu Sep 3 04:45:57 1998 Tim Janik <timj@gtk.org>
|
Thu Sep 3 04:45:57 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
|
* gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
Wed Sep 2 22:41:40 1998 Raph Levien <raph@gimp.org>
|
||||||
|
|
||||||
|
* gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
|
||||||
|
big-endian cases. Added a 4bpp packed gray mode (somewhat
|
||||||
|
incorrectly hardwired to MSB), which should take care of
|
||||||
|
Stric's hardware.
|
||||||
|
|
||||||
Thu Sep 3 04:45:57 1998 Tim Janik <timj@gtk.org>
|
Thu Sep 3 04:45:57 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
|
* gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
Wed Sep 2 22:41:40 1998 Raph Levien <raph@gimp.org>
|
||||||
|
|
||||||
|
* gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
|
||||||
|
big-endian cases. Added a 4bpp packed gray mode (somewhat
|
||||||
|
incorrectly hardwired to MSB), which should take care of
|
||||||
|
Stric's hardware.
|
||||||
|
|
||||||
Thu Sep 3 04:45:57 1998 Tim Janik <timj@gtk.org>
|
Thu Sep 3 04:45:57 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
|
* gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
Wed Sep 2 22:41:40 1998 Raph Levien <raph@gimp.org>
|
||||||
|
|
||||||
|
* gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
|
||||||
|
big-endian cases. Added a 4bpp packed gray mode (somewhat
|
||||||
|
incorrectly hardwired to MSB), which should take care of
|
||||||
|
Stric's hardware.
|
||||||
|
|
||||||
Thu Sep 3 04:45:57 1998 Tim Janik <timj@gtk.org>
|
Thu Sep 3 04:45:57 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
|
* gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
Wed Sep 2 22:41:40 1998 Raph Levien <raph@gimp.org>
|
||||||
|
|
||||||
|
* gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
|
||||||
|
big-endian cases. Added a 4bpp packed gray mode (somewhat
|
||||||
|
incorrectly hardwired to MSB), which should take care of
|
||||||
|
Stric's hardware.
|
||||||
|
|
||||||
Thu Sep 3 04:45:57 1998 Tim Janik <timj@gtk.org>
|
Thu Sep 3 04:45:57 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
|
* gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
Wed Sep 2 22:41:40 1998 Raph Levien <raph@gimp.org>
|
||||||
|
|
||||||
|
* gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
|
||||||
|
big-endian cases. Added a 4bpp packed gray mode (somewhat
|
||||||
|
incorrectly hardwired to MSB), which should take care of
|
||||||
|
Stric's hardware.
|
||||||
|
|
||||||
Thu Sep 3 04:45:57 1998 Tim Janik <timj@gtk.org>
|
Thu Sep 3 04:45:57 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
|
* gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
|
||||||
|
191
gdk/gdkrgb.c
191
gdk/gdkrgb.c
@ -1888,6 +1888,37 @@ gdk_rgb_convert_0888_br (GdkImage *image,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gdk_rgb_convert_8880_br (GdkImage *image,
|
||||||
|
gint x0, gint y0, gint width, gint height,
|
||||||
|
guchar *buf, int rowstride,
|
||||||
|
gint x_align, gint y_align, GdkRgbCmap *cmap)
|
||||||
|
{
|
||||||
|
int x, y;
|
||||||
|
guchar *obuf;
|
||||||
|
gint bpl;
|
||||||
|
guchar *bptr, *bp2;
|
||||||
|
int r, g, b;
|
||||||
|
|
||||||
|
bptr = buf;
|
||||||
|
bpl = image->bpl;
|
||||||
|
obuf = ((guchar *)image->mem) + y0 * bpl + x0 * 4;
|
||||||
|
for (y = 0; y < height; y++)
|
||||||
|
{
|
||||||
|
bp2 = bptr;
|
||||||
|
for (x = 0; x < width; x++)
|
||||||
|
{
|
||||||
|
r = bp2[0];
|
||||||
|
g = bp2[1];
|
||||||
|
b = bp2[2];
|
||||||
|
((unsigned long *)obuf)[x] = (b << 16) | (g << 8) | r;
|
||||||
|
bp2 += 3;
|
||||||
|
}
|
||||||
|
bptr += rowstride;
|
||||||
|
obuf += bpl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Generic truecolor/directcolor conversion function. Slow, but these
|
/* Generic truecolor/directcolor conversion function. Slow, but these
|
||||||
are oddball modes. */
|
are oddball modes. */
|
||||||
static void
|
static void
|
||||||
@ -2199,6 +2230,47 @@ gdk_rgb_convert_gray4 (GdkImage *image,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gdk_rgb_convert_gray4_pack (GdkImage *image,
|
||||||
|
gint x0, gint y0, gint width, gint height,
|
||||||
|
guchar *buf, int rowstride,
|
||||||
|
gint x_align, gint y_align, GdkRgbCmap *cmap)
|
||||||
|
{
|
||||||
|
int x, y;
|
||||||
|
gint bpl;
|
||||||
|
guchar *obuf, *obptr;
|
||||||
|
guchar *bptr, *bp2;
|
||||||
|
gint r, g, b;
|
||||||
|
gint shift;
|
||||||
|
guchar pix0, pix1;
|
||||||
|
/* todo: this is hardcoded to big-endian. Make endian-agile. */
|
||||||
|
|
||||||
|
bptr = buf;
|
||||||
|
bpl = image->bpl;
|
||||||
|
obuf = ((guchar *)image->mem) + y0 * bpl + (x0 >> 1);
|
||||||
|
shift = 9 - image_info->visual->depth;
|
||||||
|
for (y = 0; y < height; y++)
|
||||||
|
{
|
||||||
|
bp2 = bptr;
|
||||||
|
obptr = obuf;
|
||||||
|
for (x = 0; x < width; x += 2)
|
||||||
|
{
|
||||||
|
r = *bp2++;
|
||||||
|
g = *bp2++;
|
||||||
|
b = *bp2++;
|
||||||
|
pix0 = (g + ((b + r) >> 1)) >> shift;
|
||||||
|
r = *bp2++;
|
||||||
|
g = *bp2++;
|
||||||
|
b = *bp2++;
|
||||||
|
pix1 = (g + ((b + r) >> 1)) >> shift;
|
||||||
|
obptr[0] = (pix0 << 4) | pix1;
|
||||||
|
obptr++;
|
||||||
|
}
|
||||||
|
bptr += rowstride;
|
||||||
|
obuf += bpl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* This actually works for depths from 3 to 7 */
|
/* This actually works for depths from 3 to 7 */
|
||||||
static void
|
static void
|
||||||
gdk_rgb_convert_gray4_d (GdkImage *image,
|
gdk_rgb_convert_gray4_d (GdkImage *image,
|
||||||
@ -2224,9 +2296,9 @@ gdk_rgb_convert_gray4_d (GdkImage *image,
|
|||||||
{
|
{
|
||||||
bp2 = bptr;
|
bp2 = bptr;
|
||||||
obptr = obuf;
|
obptr = obuf;
|
||||||
|
dmp = DM[(y_align + y) & (DM_HEIGHT - 1)];
|
||||||
for (x = 0; x < width; x++)
|
for (x = 0; x < width; x++)
|
||||||
{
|
{
|
||||||
dmp = DM[(y_align + y) & (DM_HEIGHT - 1)];
|
|
||||||
r = *bp2++;
|
r = *bp2++;
|
||||||
g = *bp2++;
|
g = *bp2++;
|
||||||
b = *bp2++;
|
b = *bp2++;
|
||||||
@ -2240,6 +2312,55 @@ gdk_rgb_convert_gray4_d (GdkImage *image,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gdk_rgb_convert_gray4_d_pack (GdkImage *image,
|
||||||
|
gint x0, gint y0, gint width, gint height,
|
||||||
|
guchar *buf, int rowstride,
|
||||||
|
gint x_align, gint y_align, GdkRgbCmap *cmap)
|
||||||
|
{
|
||||||
|
int x, y;
|
||||||
|
gint bpl;
|
||||||
|
guchar *obuf, *obptr;
|
||||||
|
guchar *bptr, *bp2;
|
||||||
|
gint r, g, b;
|
||||||
|
guchar *dmp;
|
||||||
|
gint prec, right;
|
||||||
|
gint gray;
|
||||||
|
guchar pix0, pix1;
|
||||||
|
/* todo: this is hardcoded to big-endian. Make endian-agile. */
|
||||||
|
|
||||||
|
bptr = buf;
|
||||||
|
bpl = image->bpl;
|
||||||
|
obuf = ((guchar *)image->mem) + y0 * bpl + (x0 >> 1);
|
||||||
|
prec = image_info->visual->depth;
|
||||||
|
right = 8 - prec;
|
||||||
|
for (y = 0; y < height; y++)
|
||||||
|
{
|
||||||
|
bp2 = bptr;
|
||||||
|
obptr = obuf;
|
||||||
|
dmp = DM[(y_align + y) & (DM_HEIGHT - 1)];
|
||||||
|
for (x = 0; x < width; x += 2)
|
||||||
|
{
|
||||||
|
r = *bp2++;
|
||||||
|
g = *bp2++;
|
||||||
|
b = *bp2++;
|
||||||
|
gray = (g + ((b + r) >> 1)) >> 1;
|
||||||
|
gray += (dmp[(x_align + x) & (DM_WIDTH - 1)] << 2) >> prec;
|
||||||
|
pix0 = (gray - (gray >> prec)) >> right;
|
||||||
|
r = *bp2++;
|
||||||
|
g = *bp2++;
|
||||||
|
b = *bp2++;
|
||||||
|
gray = (g + ((b + r) >> 1)) >> 1;
|
||||||
|
gray += (dmp[(x_align + x + 1) & (DM_WIDTH - 1)] << 2) >> prec;
|
||||||
|
pix1 = (gray - (gray >> prec)) >> right;
|
||||||
|
obptr[0] = (pix0 << 4) | pix1;
|
||||||
|
obptr++;
|
||||||
|
}
|
||||||
|
bptr += rowstride;
|
||||||
|
obuf += bpl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gdk_rgb_convert_1 (GdkImage *image,
|
gdk_rgb_convert_1 (GdkImage *image,
|
||||||
gint x0, gint y0, gint width, gint height,
|
gint x0, gint y0, gint width, gint height,
|
||||||
@ -2500,10 +2621,10 @@ gdk_rgb_select_conv (GdkImage *image)
|
|||||||
GdkRgbConvFunc conv_32, conv_32_d;
|
GdkRgbConvFunc conv_32, conv_32_d;
|
||||||
GdkRgbConvFunc conv_gray, conv_gray_d;
|
GdkRgbConvFunc conv_gray, conv_gray_d;
|
||||||
GdkRgbConvFunc conv_indexed, conv_indexed_d;
|
GdkRgbConvFunc conv_indexed, conv_indexed_d;
|
||||||
gboolean lsb_24, msb_24;
|
gboolean mask_rgb, mask_bgr;
|
||||||
|
|
||||||
depth = image_info->visual->depth;
|
depth = image_info->visual->depth;
|
||||||
bpp = image->bpp;
|
bpp = ((GdkImagePrivate *)image)->ximage->bits_per_pixel;
|
||||||
|
|
||||||
byte_order = image->byte_order;
|
byte_order = image->byte_order;
|
||||||
if (gdk_rgb_verbose)
|
if (gdk_rgb_verbose)
|
||||||
@ -2525,16 +2646,8 @@ gdk_rgb_select_conv (GdkImage *image)
|
|||||||
green_mask = image_info->visual->green_mask;
|
green_mask = image_info->visual->green_mask;
|
||||||
blue_mask = image_info->visual->blue_mask;
|
blue_mask = image_info->visual->blue_mask;
|
||||||
|
|
||||||
lsb_24 =
|
mask_rgb = red_mask == 0xff0000 && green_mask == 0xff00 && blue_mask == 0xff;
|
||||||
(byte_order == GDK_LSB_FIRST &&
|
mask_bgr = red_mask == 0xff && green_mask == 0xff00 && blue_mask == 0xff0000;
|
||||||
red_mask == 0xff0000 && green_mask == 0xff00 && blue_mask == 0xff) ||
|
|
||||||
(byte_order == GDK_MSB_FIRST &&
|
|
||||||
red_mask == 0xff && green_mask == 0xff00 && blue_mask == 0xff0000);
|
|
||||||
msb_24 =
|
|
||||||
(byte_order == GDK_MSB_FIRST &&
|
|
||||||
red_mask == 0xff0000 && green_mask == 0xff00 && blue_mask == 0xff) ||
|
|
||||||
(byte_order == GDK_LSB_FIRST &&
|
|
||||||
red_mask == 0xff && green_mask == 0xff00 && blue_mask == 0xff0000);
|
|
||||||
|
|
||||||
conv = NULL;
|
conv = NULL;
|
||||||
conv_d = NULL;
|
conv_d = NULL;
|
||||||
@ -2552,7 +2665,7 @@ gdk_rgb_select_conv (GdkImage *image)
|
|||||||
|
|
||||||
if (image_info->bitmap)
|
if (image_info->bitmap)
|
||||||
conv = gdk_rgb_convert_1;
|
conv = gdk_rgb_convert_1;
|
||||||
else if (bpp == 2 && depth == 16 && !byterev &&
|
else if (bpp == 16 && depth == 16 && !byterev &&
|
||||||
red_mask == 0xf800 && green_mask == 0x7e0 && blue_mask == 0x1f)
|
red_mask == 0xf800 && green_mask == 0x7e0 && blue_mask == 0x1f)
|
||||||
{
|
{
|
||||||
conv = gdk_rgb_convert_565;
|
conv = gdk_rgb_convert_565;
|
||||||
@ -2560,36 +2673,50 @@ gdk_rgb_select_conv (GdkImage *image)
|
|||||||
conv_gray = gdk_rgb_convert_565_gray;
|
conv_gray = gdk_rgb_convert_565_gray;
|
||||||
gdk_rgb_preprocess_dm_565 ();
|
gdk_rgb_preprocess_dm_565 ();
|
||||||
}
|
}
|
||||||
else if (bpp == 2 && depth == 16 &&
|
else if (bpp == 16 && depth == 16 &&
|
||||||
vtype == GDK_VISUAL_TRUE_COLOR && byterev &&
|
vtype == GDK_VISUAL_TRUE_COLOR && byterev &&
|
||||||
red_mask == 0xf800 && green_mask == 0x7e0 && blue_mask == 0x1f)
|
red_mask == 0xf800 && green_mask == 0x7e0 && blue_mask == 0x1f)
|
||||||
conv = gdk_rgb_convert_565_br;
|
conv = gdk_rgb_convert_565_br;
|
||||||
|
|
||||||
else if (bpp == 2 && depth == 15 &&
|
else if (bpp == 16 && depth == 15 &&
|
||||||
vtype == GDK_VISUAL_TRUE_COLOR && !byterev &&
|
vtype == GDK_VISUAL_TRUE_COLOR && !byterev &&
|
||||||
red_mask == 0x7c00 && green_mask == 0x3e0 && blue_mask == 0x1f)
|
red_mask == 0x7c00 && green_mask == 0x3e0 && blue_mask == 0x1f)
|
||||||
conv = gdk_rgb_convert_555;
|
conv = gdk_rgb_convert_555;
|
||||||
|
|
||||||
else if (bpp == 2 && depth == 15 &&
|
else if (bpp == 16 && depth == 15 &&
|
||||||
vtype == GDK_VISUAL_TRUE_COLOR && byterev &&
|
vtype == GDK_VISUAL_TRUE_COLOR && byterev &&
|
||||||
red_mask == 0x7c00 && green_mask == 0x3e0 && blue_mask == 0x1f)
|
red_mask == 0x7c00 && green_mask == 0x3e0 && blue_mask == 0x1f)
|
||||||
conv = gdk_rgb_convert_555_br;
|
conv = gdk_rgb_convert_555_br;
|
||||||
|
|
||||||
/* I'm not 100% sure about the 24bpp tests - but testing will show*/
|
/* I'm not 100% sure about the 24bpp tests - but testing will show*/
|
||||||
else if (bpp == 3 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR && lsb_24)
|
else if (bpp == 24 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR &&
|
||||||
|
((mask_rgb && byte_order == GDK_LSB_FIRST) ||
|
||||||
|
(mask_bgr && byte_order == GDK_MSB_FIRST)))
|
||||||
conv = gdk_rgb_convert_888_lsb;
|
conv = gdk_rgb_convert_888_lsb;
|
||||||
else if (bpp == 3 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR && msb_24)
|
else if (bpp == 24 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR &&
|
||||||
|
((mask_rgb && byte_order == GDK_MSB_FIRST) ||
|
||||||
|
(mask_bgr && byte_order == GDK_LSB_FIRST)))
|
||||||
conv = gdk_rgb_convert_888_msb;
|
conv = gdk_rgb_convert_888_msb;
|
||||||
#ifdef WORDS_BIGENDIAN
|
#ifdef WORDS_BIGENDIAN
|
||||||
else if (bpp == 4 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR && lsb_24)
|
else if (bpp == 32 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR &&
|
||||||
|
(mask_rgb && byte_order == GDK_LSB_FIRST))
|
||||||
conv = gdk_rgb_convert_0888_br;
|
conv = gdk_rgb_convert_0888_br;
|
||||||
else if (bpp == 4 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR && msb_24)
|
else if (bpp == 32 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR &&
|
||||||
|
(mask_rgb && byte_order == GDK_MSB_FIRST))
|
||||||
conv = gdk_rgb_convert_0888;
|
conv = gdk_rgb_convert_0888;
|
||||||
|
else if (bpp == 32 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR &&
|
||||||
|
(mask_bgr && byte_order == GDK_MSB_FIRST))
|
||||||
|
conv = gdk_rgb_convert_8880_br;
|
||||||
#else
|
#else
|
||||||
else if (bpp == 4 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR && lsb_24)
|
else if (bpp == 32 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR &&
|
||||||
conv = gdk_rgb_convert_0888;
|
(mask_rgb && byte_order == GDK_MSB_FIRST))
|
||||||
else if (bpp == 4 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR && msb_24)
|
|
||||||
conv = gdk_rgb_convert_0888_br;
|
conv = gdk_rgb_convert_0888_br;
|
||||||
|
else if (bpp == 32 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR &&
|
||||||
|
(mask_rgb && byte_order == GDK_LSB_FIRST))
|
||||||
|
conv = gdk_rgb_convert_0888;
|
||||||
|
else if (bpp == 32 && depth == 24 && vtype == GDK_VISUAL_TRUE_COLOR &&
|
||||||
|
(mask_bgr && byte_order == GDK_LSB_FIRST))
|
||||||
|
conv = gdk_rgb_convert_8880_br;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
else if (vtype == GDK_VISUAL_TRUE_COLOR && byte_order == GDK_LSB_FIRST)
|
else if (vtype == GDK_VISUAL_TRUE_COLOR && byte_order == GDK_LSB_FIRST)
|
||||||
@ -2602,7 +2729,7 @@ gdk_rgb_select_conv (GdkImage *image)
|
|||||||
conv = gdk_rgb_convert_truecolor_msb;
|
conv = gdk_rgb_convert_truecolor_msb;
|
||||||
conv_d = gdk_rgb_convert_truecolor_msb_d;
|
conv_d = gdk_rgb_convert_truecolor_msb_d;
|
||||||
}
|
}
|
||||||
else if (bpp == 1 && depth == 8 && (vtype == GDK_VISUAL_PSEUDO_COLOR
|
else if (bpp == 8 && depth == 8 && (vtype == GDK_VISUAL_PSEUDO_COLOR
|
||||||
#ifdef ENABLE_GRAYSCALE
|
#ifdef ENABLE_GRAYSCALE
|
||||||
|| vtype == GDK_VISUAL_GRAYSCALE
|
|| vtype == GDK_VISUAL_GRAYSCALE
|
||||||
#endif
|
#endif
|
||||||
@ -2622,7 +2749,7 @@ gdk_rgb_select_conv (GdkImage *image)
|
|||||||
conv_indexed = gdk_rgb_convert_8_indexed;
|
conv_indexed = gdk_rgb_convert_8_indexed;
|
||||||
conv_gray = gdk_rgb_convert_gray_cmap;
|
conv_gray = gdk_rgb_convert_gray_cmap;
|
||||||
}
|
}
|
||||||
else if (bpp == 1 && depth == 8 && (vtype == GDK_VISUAL_STATIC_GRAY
|
else if (bpp == 8 && depth == 8 && (vtype == GDK_VISUAL_STATIC_GRAY
|
||||||
#ifdef not_ENABLE_GRAYSCALE
|
#ifdef not_ENABLE_GRAYSCALE
|
||||||
|| vtype == GDK_VISUAL_GRAYSCALE
|
|| vtype == GDK_VISUAL_GRAYSCALE
|
||||||
#endif
|
#endif
|
||||||
@ -2631,16 +2758,24 @@ gdk_rgb_select_conv (GdkImage *image)
|
|||||||
conv = gdk_rgb_convert_gray8;
|
conv = gdk_rgb_convert_gray8;
|
||||||
conv_gray = gdk_rgb_convert_gray8_gray;
|
conv_gray = gdk_rgb_convert_gray8_gray;
|
||||||
}
|
}
|
||||||
else if (depth < 8 && depth >= 3 && (vtype == GDK_VISUAL_STATIC_GRAY
|
else if (bpp == 8 && depth < 8 && depth >= 2 &&
|
||||||
|
(vtype == GDK_VISUAL_STATIC_GRAY
|
||||||
|| vtype == GDK_VISUAL_GRAYSCALE))
|
|| vtype == GDK_VISUAL_GRAYSCALE))
|
||||||
{
|
{
|
||||||
conv = gdk_rgb_convert_gray4;
|
conv = gdk_rgb_convert_gray4;
|
||||||
conv_d = gdk_rgb_convert_gray4_d;
|
conv_d = gdk_rgb_convert_gray4_d;
|
||||||
}
|
}
|
||||||
else if (depth < 8 && depth >= 3)
|
else if (bpp == 8 && depth < 8 && depth >= 3)
|
||||||
{
|
{
|
||||||
conv = gdk_rgb_convert_4;
|
conv = gdk_rgb_convert_4;
|
||||||
}
|
}
|
||||||
|
else if (bpp == 4 && depth <= 4 && depth >= 2 &&
|
||||||
|
(vtype == GDK_VISUAL_STATIC_GRAY
|
||||||
|
|| vtype == GDK_VISUAL_GRAYSCALE))
|
||||||
|
{
|
||||||
|
conv = gdk_rgb_convert_gray4_pack;
|
||||||
|
conv_d = gdk_rgb_convert_gray4_d_pack;
|
||||||
|
}
|
||||||
|
|
||||||
if (conv_d == NULL)
|
if (conv_d == NULL)
|
||||||
conv_d = conv;
|
conv_d = conv;
|
||||||
|
@ -298,7 +298,7 @@ EXTRA_DIST = \
|
|||||||
|
|
||||||
INCLUDES = -I$(top_srcdir) @GLIB_CFLAGS@ @x_cflags@
|
INCLUDES = -I$(top_srcdir) @GLIB_CFLAGS@ @x_cflags@
|
||||||
|
|
||||||
noinst_PROGRAMS = testgtk testinput testselection testthreads simple
|
noinst_PROGRAMS = testgtk testinput testselection testthreads testrgb simple
|
||||||
|
|
||||||
# FIXME, we currently rely on linking against libglib-1.1
|
# FIXME, we currently rely on linking against libglib-1.1
|
||||||
|
|
||||||
@ -318,12 +318,14 @@ testgtk_DEPENDENCIES = $(DEPS)
|
|||||||
testinput_DEPENDENCIES = $(DEPS)
|
testinput_DEPENDENCIES = $(DEPS)
|
||||||
testthreads_DEPENDENCIES = $(DEPS)
|
testthreads_DEPENDENCIES = $(DEPS)
|
||||||
testselection_DEPENDENCIES = $(DEPS)
|
testselection_DEPENDENCIES = $(DEPS)
|
||||||
|
testrgb_DEPENDENCIES = $(DEPS)
|
||||||
simple_DEPENDENCIES = $(DEPS)
|
simple_DEPENDENCIES = $(DEPS)
|
||||||
|
|
||||||
testgtk_LDADD = $(LDADDS)
|
testgtk_LDADD = $(LDADDS)
|
||||||
testinput_LDADD = $(LDADDS)
|
testinput_LDADD = $(LDADDS)
|
||||||
testthreads_LDADD = $(LDADDS)
|
testthreads_LDADD = $(LDADDS)
|
||||||
testselection_LDADD = $(LDADDS)
|
testselection_LDADD = $(LDADDS)
|
||||||
|
testrgb_LDADD = $(LDADDS)
|
||||||
simple_LDADD = $(LDADDS)
|
simple_LDADD = $(LDADDS)
|
||||||
|
|
||||||
.PHONY: files test test-debug
|
.PHONY: files test test-debug
|
||||||
|
Loading…
Reference in New Issue
Block a user