summaryrefslogtreecommitdiff
path: root/src/image.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/image.c')
-rw-r--r--src/image.c50
1 files changed, 36 insertions, 14 deletions
diff --git a/src/image.c b/src/image.c
index 47e86436912..e3b7873f0a4 100644
--- a/src/image.c
+++ b/src/image.c
@@ -89,8 +89,6 @@ typedef struct w32_bitmap_record Bitmap_Record;
#define PIX_MASK_RETAIN 0
#define PIX_MASK_DRAW 1
-#define x_defined_color w32_defined_color
-
#endif /* HAVE_NTGUI */
#ifdef HAVE_NS
@@ -101,8 +99,6 @@ typedef struct ns_bitmap_record Bitmap_Record;
#define PIX_MASK_RETAIN 0
-#define x_defined_color(f, name, color_def, alloc) \
- ns_defined_color (f, name, color_def, alloc, 0)
#endif /* HAVE_NS */
#if (defined HAVE_X_WINDOWS \
@@ -1424,7 +1420,11 @@ image_alloc_image_color (struct frame *f, struct image *img,
eassert (STRINGP (color_name));
- if (x_defined_color (f, SSDATA (color_name), &color, 1)
+ if (FRAME_TERMINAL (f)->defined_color_hook (f,
+ SSDATA (color_name),
+ &color,
+ true,
+ false)
&& img->ncolors < min (min (PTRDIFF_MAX, SIZE_MAX) / sizeof *img->colors,
INT_MAX))
{
@@ -4470,8 +4470,8 @@ xpm_load_image (struct frame *f,
{
if (xstrcasecmp (SSDATA (XCDR (specified_color)), "None") == 0)
color_val = Qt;
- else if (x_defined_color (f, SSDATA (XCDR (specified_color)),
- &cdef, 0))
+ else if (FRAME_TERMINAL (f)->defined_color_hook
+ (f, SSDATA (XCDR (specified_color)), &cdef, false, false))
color_val = make_fixnum (cdef.pixel);
}
}
@@ -4479,7 +4479,8 @@ xpm_load_image (struct frame *f,
{
if (xstrcasecmp (max_color, "None") == 0)
color_val = Qt;
- else if (x_defined_color (f, max_color, &cdef, 0))
+ else if (FRAME_TERMINAL (f)->defined_color_hook
+ (f, max_color, &cdef, false, false))
color_val = make_fixnum (cdef.pixel);
}
if (!NILP (color_val))
@@ -5685,7 +5686,11 @@ pbm_load (struct frame *f, struct image *img)
#ifdef USE_CAIRO
if (! fmt[PBM_FOREGROUND].count
|| ! STRINGP (fmt[PBM_FOREGROUND].value)
- || ! x_defined_color (f, SSDATA (fmt[PBM_FOREGROUND].value), &xfg, 0))
+ || ! FRAME_TERMINAL (f)->defined_color_hook (f,
+ SSDATA (fmt[PBM_FOREGROUND].value),
+ &xfg,
+ false,
+ false))
{
xfg.pixel = fg;
x_query_colors (f, &xfg, 1);
@@ -5694,7 +5699,11 @@ pbm_load (struct frame *f, struct image *img)
if (! fmt[PBM_BACKGROUND].count
|| ! STRINGP (fmt[PBM_BACKGROUND].value)
- || ! x_defined_color (f, SSDATA (fmt[PBM_BACKGROUND].value), &xbg, 0))
+ || ! FRAME_TERMINAL (f)->defined_color_hook (f,
+ SSDATA (fmt[PBM_BACKGROUND].value),
+ &xbg,
+ false,
+ false))
{
xbg.pixel = bg;
x_query_colors (f, &xbg, 1);
@@ -6353,7 +6362,11 @@ png_load_body (struct frame *f, struct image *img, struct png_load_context *c)
current frame background, ignoring any default background
color set by the image. */
if (STRINGP (specified_bg)
- ? x_defined_color (f, SSDATA (specified_bg), &color, false)
+ ? FRAME_TERMINAL (f)->defined_color_hook (f,
+ SSDATA (specified_bg),
+ &color,
+ false,
+ false)
: (image_query_frame_background_color (f, &color), true))
/* The user specified `:background', use that. */
{
@@ -8038,7 +8051,8 @@ gif_load (struct frame *f, struct image *img)
if (STRINGP (specified_bg))
{
XColor color;
- if (x_defined_color (f, SSDATA (specified_bg), &color, 0))
+ if (FRAME_TERMINAL (f)->defined_color_hook
+ (f, SSDATA (specified_bg), &color, false, false))
{
uint32_t *dataptr = data32;
int r = color.red/256;
@@ -8799,7 +8813,11 @@ imagemagick_load_image (struct frame *f, struct image *img,
specified_bg = image_spec_value (img->spec, QCbackground, NULL);
if (!STRINGP (specified_bg)
- || !x_defined_color (f, SSDATA (specified_bg), &bgcolor, 0))
+ || !FRAME_TERMINAL (f)->defined_color_hook (f,
+ SSDATA (specified_bg),
+ &bgcolor,
+ false,
+ false))
image_query_frame_background_color (f, &bgcolor);
bg_wand = NewPixelWand ();
@@ -9534,7 +9552,11 @@ svg_load_image (struct frame *f, struct image *img, char *contents,
XColor background;
Lisp_Object specified_bg = image_spec_value (img->spec, QCbackground, NULL);
if (!STRINGP (specified_bg)
- || !x_defined_color (f, SSDATA (specified_bg), &background, 0))
+ || !FRAME_TERMINAL (f)->defined_color_hook (f,
+ SSDATA (specified_bg),
+ &background,
+ false,
+ false))
image_query_frame_background_color (f, &background);
/* SVG pixmaps specify transparency in the last byte, so right