]> git.eshelyaron.com Git - emacs.git/commitdiff
(x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
authorMiles Bader <miles@gnu.org>
Wed, 24 Oct 2001 18:05:05 +0000 (18:05 +0000)
committerMiles Bader <miles@gnu.org>
Wed, 24 Oct 2001 18:05:05 +0000 (18:05 +0000)
`IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background color
to use for image glyph reliefs.

src/ChangeLog
src/xterm.c

index 463bcdc03641dce57131cddfe96b857cc180f4ec..7575bb252610ed35defa29a54f3fb072769cca02 100644 (file)
@@ -1,3 +1,32 @@
+2001-10-25  Miles Bader  <miles@gnu.org>
+
+       * dispextern.h (struct image): Add `background',
+       `background_valid', and `background_transparent' fields.
+       (image_background, image_background_transparent): New declarations.
+       (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
+       * xfns.c (image_background, image_background_transparent)
+       (four_corners_best): New functions.
+       (xpm_format, png_format, jpeg_format, tiff_format, gif_format) 
+       (gs_format): Add `:background' entry.
+       (lookup_image): Set IMG's background color if specified.
+       (pbm_load, xbm_load_image, png_load): Set IMG's background field
+       when appropriate.
+       (x_clear_image_1): Reset `background_valid' and
+       `background_transparent_valid' fields.
+       (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
+       calculating it here.  Set IMG's background_transparent field.
+       (enum xpm_keyword_index): Add XPM_BACKGROUND.
+       (enum png_keyword_index): Add PNG_BACKGROUND.
+       (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
+       (enum tiff_keyword_index): Add TIFF_BACKGROUND.
+       (enum gif_keyword_index): Add GIF_BACKGROUND.
+       (enum gs_keyword_index): Add GS_BACKGROUND.
+       (pbm_load, png_load, jpeg_load, tiff_load, gif_load): 
+       Pre-calculate image background color where necessary.
+       * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
+       `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
+       color to use for image glyph reliefs.
+
 2001-10-24  Gerd Moellmann  <gerd@gnu.org>
 
        * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
index a757caaa668a101133bb4cc3f3a0c89af9e3ed2b..11a8e07bc4af564e2d53bae5cea926dd9d2b59dd 100644 (file)
@@ -3823,6 +3823,9 @@ x_setup_relief_colors (s)
 
   if (s->face->use_box_color_for_shadows_p)
     color = s->face->box_color;
+  else if (s->first_glyph->type == IMAGE_GLYPH
+          && !IMAGE_BACKGROUND_TRANSPARENT (s->img, s->f, 0))
+    color = IMAGE_BACKGROUND (s->img, s->f, 0);
   else
     {
       XGCValues xgcv;