mirror of
https://github.com/gryf/wmaker.git
synced 2026-01-05 13:24:14 +01:00
Fixed calls to hermes lib to work correctly with all depths
This commit is contained in:
@@ -802,38 +802,31 @@ hermesConvert(RContext *context, RImage *image)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (HAS_ALPHA(image)) {
|
if (HAS_ALPHA(image)) {
|
||||||
if (ximage->image->byte_order==LSBFirst) {
|
source.r = 0xff000000;
|
||||||
source.r = 0x000000ff;
|
source.g = 0x00ff0000;
|
||||||
source.g = 0x0000ff00;
|
source.b = 0x0000ff00;
|
||||||
source.b = 0x00ff0000;
|
source.a = 0x000000ff;
|
||||||
source.a = 0xff000000;
|
|
||||||
} else {
|
|
||||||
source.r = 0xff000000;
|
|
||||||
source.g = 0x00ff0000;
|
|
||||||
source.b = 0x0000ff00;
|
|
||||||
source.a = 0x000000ff;
|
|
||||||
}
|
|
||||||
source.bits = 32;
|
source.bits = 32;
|
||||||
} else {
|
} else {
|
||||||
if (ximage->image->byte_order==LSBFirst) {
|
source.r = 0xff0000;
|
||||||
source.r = 0x0000ff;
|
source.g = 0x00ff00;
|
||||||
source.g = 0x00ff00;
|
source.b = 0x0000ff;
|
||||||
source.b = 0xff0000;
|
|
||||||
} else {
|
|
||||||
source.r = 0xff0000;
|
|
||||||
source.g = 0x00ff00;
|
|
||||||
source.b = 0x0000ff;
|
|
||||||
}
|
|
||||||
source.a = 0x000000;
|
source.a = 0x000000;
|
||||||
source.bits = 24;
|
source.bits = 24;
|
||||||
}
|
}
|
||||||
|
|
||||||
source.indexed = 0;
|
source.indexed = 0;
|
||||||
source.has_colorkey = 0;
|
source.has_colorkey = 0;
|
||||||
|
|
||||||
dest.r = context->visual->red_mask;
|
/* This is a hack and certainly looks weird, but it works :P */
|
||||||
dest.g = context->visual->green_mask;
|
if (ximage->image->byte_order==LSBFirst) {
|
||||||
dest.b = context->visual->blue_mask;
|
dest.b = context->visual->red_mask;
|
||||||
|
dest.g = context->visual->green_mask;
|
||||||
|
dest.r = context->visual->blue_mask;
|
||||||
|
} else {
|
||||||
|
dest.r = context->visual->red_mask;
|
||||||
|
dest.g = context->visual->green_mask;
|
||||||
|
dest.b = context->visual->blue_mask;
|
||||||
|
}
|
||||||
dest.a = 0;
|
dest.a = 0;
|
||||||
dest.bits = ximage->image->bits_per_pixel;
|
dest.bits = ximage->image->bits_per_pixel;
|
||||||
if (context->vclass == TrueColor)
|
if (context->vclass == TrueColor)
|
||||||
|
|||||||
Reference in New Issue
Block a user