… | |
… | |
383 | } |
383 | } |
384 | |
384 | |
385 | if ((tr_flags & BG_NEEDS_BLUR) && background != NULL) |
385 | if ((tr_flags & BG_NEEDS_BLUR) && background != NULL) |
386 | { |
386 | { |
387 | ASImage *tmp = blur_asimage_gauss (asv, background, h_blurRadius, v_blurRadius, 0xFFFFFFFF, |
387 | ASImage *tmp = blur_asimage_gauss (asv, background, h_blurRadius, v_blurRadius, 0xFFFFFFFF, |
388 | (original_asim == NULL || tint == TINT_LEAVE_SAME) ? ASA_XImage : ASA_ASImage, |
388 | ASA_XImage, |
389 | 100, ASIMAGE_QUALITY_DEFAULT); |
389 | 100, ASIMAGE_QUALITY_DEFAULT); |
390 | if (tmp) |
390 | if (tmp) |
391 | { |
391 | { |
392 | destroy_asimage (&background); |
392 | destroy_asimage (&background); |
393 | background = tmp; |
393 | background = tmp; |
… | |
… | |
442 | if ((w != original_asim->width) |
442 | if ((w != original_asim->width) |
443 | || (h != original_asim->height)) |
443 | || (h != original_asim->height)) |
444 | { |
444 | { |
445 | result = scale_asimage (asv, original_asim, |
445 | result = scale_asimage (asv, original_asim, |
446 | w, h, |
446 | w, h, |
447 | background ? ASA_ASImage : ASA_XImage, |
447 | ASA_XImage, |
448 | 100, ASIMAGE_QUALITY_DEFAULT); |
448 | 100, ASIMAGE_QUALITY_DEFAULT); |
449 | } |
449 | } |
450 | |
450 | |
451 | if (background == NULL) |
451 | if (background == NULL) |
452 | { |
452 | { |
… | |
… | |
1341 | { |
1341 | { |
1342 | /* we need to re-generate transparency pixmap in that case ! */ |
1342 | /* we need to re-generate transparency pixmap in that case ! */ |
1343 | tr_flags = make_transparency_pixmap (); |
1343 | tr_flags = make_transparency_pixmap (); |
1344 | if (tr_flags == 0) |
1344 | if (tr_flags == 0) |
1345 | return false; |
1345 | return false; |
1346 | else if (!(tr_flags & BG_EFFECTS_FLAGS)) |
|
|
1347 | bg_flags |= BG_IS_VALID; |
1346 | bg_flags |= BG_IS_VALID; |
1348 | } |
1347 | } |
1349 | # endif |
1348 | # endif |
1350 | |
1349 | |
1351 | # ifdef BG_IMAGE_FROM_FILE |
1350 | # ifdef BG_IMAGE_FROM_FILE |
1352 | if ((bg_flags & BG_IS_FROM_FILE) |
1351 | if ((bg_flags & BG_IS_FROM_FILE) |
… | |
… | |
1358 | # endif |
1357 | # endif |
1359 | |
1358 | |
1360 | # if defined(ENABLE_TRANSPARENCY) && !defined(HAVE_AFTERIMAGE) |
1359 | # if defined(ENABLE_TRANSPARENCY) && !defined(HAVE_AFTERIMAGE) |
1361 | XImage *result = NULL; |
1360 | XImage *result = NULL; |
1362 | |
1361 | |
1363 | if (tr_flags && !(bg_flags & BG_IS_VALID)) |
1362 | if (tr_flags & BG_NEEDS_TINT) |
1364 | { |
1363 | { |
1365 | result = XGetImage (dpy, bg_pixmap, 0, 0, bg_pmap_width, bg_pmap_height, AllPlanes, ZPixmap); |
1364 | result = XGetImage (dpy, bg_pixmap, 0, 0, bg_pmap_width, bg_pmap_height, AllPlanes, ZPixmap); |
1366 | } |
1365 | } |
1367 | |
1366 | |
1368 | if (result) |
1367 | if (result) |
1369 | { |
1368 | { |
1370 | /* our own client-side tinting */ |
1369 | /* our own client-side tinting */ |
1371 | if (tr_flags & BG_NEEDS_TINT) |
1370 | //if (tr_flags & BG_NEEDS_TINT) |
|
|
1371 | if (1) |
1372 | { |
1372 | { |
1373 | rgba c (rgba::MAX_CC,rgba::MAX_CC,rgba::MAX_CC); |
1373 | rgba c (rgba::MAX_CC,rgba::MAX_CC,rgba::MAX_CC); |
1374 | if (bg_flags & BG_TINT_SET) |
1374 | if (bg_flags & BG_TINT_SET) |
1375 | tint.get (c); |
1375 | tint.get (c); |
1376 | shade_ximage (DefaultVisual (dpy, display->screen), result, shade, c); |
1376 | shade_ximage (DefaultVisual (dpy, display->screen), result, shade, c); |
… | |
… | |
1381 | if (gc) |
1381 | if (gc) |
1382 | { |
1382 | { |
1383 | XPutImage (dpy, bg_pixmap, gc, result, 0, 0, 0, 0, result->width, result->height); |
1383 | XPutImage (dpy, bg_pixmap, gc, result, 0, 0, 0, 0, result->width, result->height); |
1384 | |
1384 | |
1385 | XFreeGC (dpy, gc); |
1385 | XFreeGC (dpy, gc); |
1386 | bg_flags |= BG_IS_VALID; |
|
|
1387 | } |
1386 | } |
1388 | |
1387 | |
1389 | XDestroyImage (result); |
1388 | XDestroyImage (result); |
1390 | } |
1389 | } |
1391 | # endif |
1390 | # endif |
… | |
… | |
1432 | } |
1431 | } |
1433 | |
1432 | |
1434 | #endif /* HAVE_BG_PIXMAP */ |
1433 | #endif /* HAVE_BG_PIXMAP */ |
1435 | |
1434 | |
1436 | #if defined(ENABLE_TRANSPARENCY) && !defined(HAVE_AFTERIMAGE) |
1435 | #if defined(ENABLE_TRANSPARENCY) && !defined(HAVE_AFTERIMAGE) |
1437 | /* taken from aterm-0.4.2 */ |
1436 | /* based on code from aterm-0.4.2 */ |
1438 | |
1437 | |
1439 | static void |
1438 | static void |
1440 | shade_ximage (Visual *visual, XImage *ximage, int shade, const rgba &c) |
1439 | shade_ximage (Visual *visual, XImage *ximage, int shade, const rgba &c) |
1441 | { |
1440 | { |
1442 | int sh_r, sh_g, sh_b; |
1441 | int sh_r, sh_g, sh_b; |