From: Alexander Gramiak Date: Thu, 9 May 2019 19:07:35 +0000 (-0600) Subject: Introduce Emacs_Color struct and typedef X-Git-Tag: emacs-27.0.90~2805^2~41 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c0e146e4ec266edf348473c3db7ca8d16745f4f7;p=emacs.git Introduce Emacs_Color struct and typedef This avoids clashing with the XColor struct from X. * src/dispextern [HAVE_X_WINDOWS]: Define Emacs_Color alias. [!HAVE_X_WINDOWS]: Rename XColor compatibility struct to Emacs_Color. Remove unused fields. * src/gtkutil.c: * src/gtkutil.h: * src/image.c: * src/nsterm.h: * src/nsterm.m: * src/termhooks.h: * src/w32fns.c: * src/w32term.c: * src/w32term.h: * src/xfaces.c: * src/xfns.c: * src/xterm.h: Use Emacs_Color over XColor outside of X-specific sections. --- diff --git a/src/dispextern.h b/src/dispextern.h index e86ea6a02ae..e3f4297e313 100644 --- a/src/dispextern.h +++ b/src/dispextern.h @@ -34,16 +34,17 @@ along with GNU Emacs. If not, see . */ #ifdef HAVE_XRENDER # include #endif + +typedef XColor Emacs_Color; #else /* !HAVE_X_WINDOWS */ -/* X-related stuff used by non-X gui code. */ +/* XColor-like struct used by non-X code. */ -typedef struct { +typedef struct +{ unsigned long pixel; unsigned short red, green, blue; - char flags; - char pad; -} XColor; +} Emacs_Color; #endif /* HAVE_X_WINDOWS */ @@ -3410,8 +3411,8 @@ void x_free_colors (struct frame *, unsigned long *, int); void update_face_from_frame_parameter (struct frame *, Lisp_Object, Lisp_Object); -extern bool tty_defined_color (struct frame *f, const char *, XColor *, bool, - bool); +extern bool tty_defined_color (struct frame *, const char *, Emacs_Color *, + bool, bool); Lisp_Object tty_color_name (struct frame *, int); void clear_face_cache (bool); diff --git a/src/gtkutil.c b/src/gtkutil.c index 48233576531..43918dd3da5 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c @@ -520,7 +520,7 @@ get_utf8_string (const char *str) bool xg_check_special_colors (struct frame *f, const char *color_name, - XColor *color) + Emacs_Color *color) { bool success_p = 0; bool get_bg = strcmp ("gtk_selection_bg_color", color_name) == 0; diff --git a/src/gtkutil.h b/src/gtkutil.h index ec899781ca8..229aa08f817 100644 --- a/src/gtkutil.h +++ b/src/gtkutil.h @@ -166,7 +166,7 @@ extern void xg_free_frame_widgets (struct frame *f); extern void xg_set_background_color (struct frame *f, unsigned long bg); extern bool xg_check_special_colors (struct frame *f, const char *color_name, - XColor *color); + Emacs_Color *color); extern void xg_set_frame_icon (struct frame *f, Pixmap icon_pixmap, diff --git a/src/image.c b/src/image.c index 071b92a741e..c768ece9786 100644 --- a/src/image.c +++ b/src/image.c @@ -1076,10 +1076,10 @@ image_ascent (struct image *img, struct face *face, struct glyph_slice *slice) #ifdef USE_CAIRO static uint32_t -xcolor_to_argb32 (XColor xc) +emacs_color_to_argb32 (Emacs_Color *ec) { - return ((0xffu << 24) | ((xc.red / 256) << 16) - | ((xc.green / 256) << 8) | (xc.blue / 256)); + return ((0xffu << 24) | ((ec->red / 256) << 16) + | ((ec->green / 256) << 8) | (ec->blue / 256)); } static uint32_t @@ -1087,11 +1087,11 @@ get_spec_bg_or_alpha_as_argb (struct image *img, struct frame *f) { uint32_t bgcolor = 0; - XColor xbgcolor; + Emacs_Color xbgcolor; Lisp_Object bg = image_spec_value (img->spec, QCbackground, NULL); if (STRINGP (bg) && x_parse_color (f, SSDATA (bg), &xbgcolor)) - bgcolor = xcolor_to_argb32 (xbgcolor); + bgcolor = emacs_color_to_argb32 (&xbgcolor); return bgcolor; } @@ -1321,7 +1321,7 @@ static unsigned long image_alloc_image_color (struct frame *f, struct image *img, Lisp_Object color_name, unsigned long dflt) { - XColor color; + Emacs_Color color; unsigned long result; eassert (STRINGP (color_name)); @@ -4286,7 +4286,7 @@ xpm_load_image (struct frame *f, char *color, *max_color; int key, next_key, max_key = 0; Lisp_Object symbol_color = Qnil, color_val; - XColor cdef; + Emacs_Color cdef; expect (XPM_TK_STRING); if (len <= chars_per_pixel || len >= BUFSIZ + chars_per_pixel) @@ -4772,17 +4772,17 @@ static int laplace_matrix[9] = { #define COLOR_INTENSITY(R, G, B) ((2 * (R) + 3 * (G) + (B)) / 6) -/* On frame F, return an array of XColor structures describing image - IMG->pixmap. Each XColor structure has its pixel color set. RGB_P - means also fill the red/green/blue members of the XColor - structures. Value is a pointer to the array of XColors structures, +/* On frame F, return an array of Emacs_Color structures describing image + IMG->pixmap. Each Emacs_Color structure has its pixel color set. RGB_P + means also fill the red/green/blue members of the Emacs_Color + structures. Value is a pointer to the array of Emacs_Color structures, allocated with xmalloc; it must be freed by the caller. */ -static XColor * -image_to_xcolors (struct frame *f, struct image *img, bool rgb_p) +static Emacs_Color * +image_to_emacs_colors (struct frame *f, struct image *img, bool rgb_p) { int x, y; - XColor *colors, *p; + Emacs_Color *colors, *p; XImagePtr_or_DC ximg; ptrdiff_t nbytes; #ifdef HAVE_NTGUI @@ -4798,13 +4798,13 @@ image_to_xcolors (struct frame *f, struct image *img, bool rgb_p) /* Get the X image or create a memory device context for IMG. */ ximg = image_get_x_image_or_dc (f, img, 0, &prev); - /* Fill the `pixel' members of the XColor array. I wished there + /* Fill the `pixel' members of the Emacs_Color array. I wished there were an easy and portable way to circumvent XGetPixel. */ p = colors; for (y = 0; y < img->height; ++y) { #if defined (HAVE_X_WINDOWS) || defined (HAVE_NTGUI) - XColor *row = p; + Emacs_Color *row = p; for (x = 0; x < img->width; ++x, ++p) p->pixel = GET_PIXEL (ximg, x, y); if (rgb_p) @@ -4878,16 +4878,16 @@ XPutPixel (XImagePtr ximg, int x, int y, COLORREF color) #endif /* HAVE_NTGUI */ -/* Create IMG->pixmap from an array COLORS of XColor structures, whose +/* Create IMG->pixmap from an array COLORS of Emacs_Color structures, whose RGB members are set. F is the frame on which this all happens. COLORS will be freed; an existing IMG->pixmap will be freed, too. */ static void -image_from_xcolors (struct frame *f, struct image *img, XColor *colors) +image_from_emacs_colors (struct frame *f, struct image *img, Emacs_Color *colors) { int x, y; XImagePtr oimg = NULL; - XColor *p; + Emacs_Color *p; init_color_table (); @@ -4925,8 +4925,8 @@ static void image_detect_edges (struct frame *f, struct image *img, int *matrix, int color_adjust) { - XColor *colors = image_to_xcolors (f, img, 1); - XColor *new, *p; + Emacs_Color *colors = image_to_emacs_colors (f, img, 1); + Emacs_Color *new, *p; int x, y, i, sum; ptrdiff_t nbytes; @@ -4969,7 +4969,7 @@ image_detect_edges (struct frame *f, struct image *img, for (xx = x - 1; xx < x + 2; ++xx, ++i) if (matrix[i]) { - XColor *t = COLOR (colors, xx, yy); + Emacs_Color *t = COLOR (colors, xx, yy); r += matrix[i] * t->red; g += matrix[i] * t->green; b += matrix[i] * t->blue; @@ -4983,7 +4983,7 @@ image_detect_edges (struct frame *f, struct image *img, } xfree (colors); - image_from_xcolors (f, img, new); + image_from_emacs_colors (f, img, new); #undef COLOR } @@ -5066,8 +5066,8 @@ image_disable_image (struct frame *f, struct image *img) /* Color (or grayscale). Convert to gray, and equalize. Just drawing such images with a stipple can look very odd, so we're using this method instead. */ - XColor *colors = image_to_xcolors (f, img, 1); - XColor *p, *end; + Emacs_Color *colors = image_to_emacs_colors (f, img, 1); + Emacs_Color *p, *end; const int h = 15000; const int l = 30000; @@ -5080,7 +5080,7 @@ image_disable_image (struct frame *f, struct image *img) p->red = p->green = p->blue = i2; } - image_from_xcolors (f, img, colors); + image_from_emacs_colors (f, img, colors); } /* Draw a cross over the disabled image, if we must or if we @@ -5522,7 +5522,7 @@ pbm_load (struct frame *f, struct image *img) unsigned long fg = FRAME_FOREGROUND_PIXEL (f); unsigned long bg = FRAME_BACKGROUND_PIXEL (f); #ifdef USE_CAIRO - XColor xfg, xbg; + Emacs_Color xfg, xbg; int fga32, bga32; #endif /* Parse the image specification. */ @@ -5542,7 +5542,7 @@ pbm_load (struct frame *f, struct image *img) xfg.pixel = fg; x_query_colors (f, &xfg, 1); } - fga32 = xcolor_to_argb32 (xfg); + fga32 = emacs_color_to_argb32 (&xfg); if (! fmt[PBM_BACKGROUND].count || ! STRINGP (fmt[PBM_BACKGROUND].value) @@ -5555,7 +5555,7 @@ pbm_load (struct frame *f, struct image *img) xbg.pixel = bg; x_query_colors (f, &xbg, 1); } - bga32 = xcolor_to_argb32 (xbg); + bga32 = emacs_color_to_argb32 (&xbg); #else if (fmt[PBM_FOREGROUND].count && STRINGP (fmt[PBM_FOREGROUND].value)) @@ -6180,7 +6180,7 @@ png_load_body (struct frame *f, struct image *img, struct png_load_context *c) /* png_color_16 *image_bg; */ Lisp_Object specified_bg = image_spec_value (img->spec, QCbackground, NULL); - XColor color; + Emacs_Color color; /* If the user specified a color, try to use it; if not, use the current frame background, ignoring any default background @@ -7813,7 +7813,7 @@ gif_load (struct frame *f, struct image *img) uint32_t *data32 = (uint32_t *) cairo_image_surface_get_data (surface); if (STRINGP (specified_bg)) { - XColor color; + Emacs_Color color; if (FRAME_TERMINAL (f)->defined_color_hook (f, SSDATA (specified_bg), &color, false, false)) { @@ -8548,7 +8548,7 @@ imagemagick_load_image (struct frame *f, struct image *img, /* Retrieve the frame's background color, for use later. */ { - XColor bgcolor; + Emacs_Color bgcolor; Lisp_Object specified_bg; specified_bg = image_spec_value (img->spec, QCbackground, NULL); @@ -9285,7 +9285,7 @@ svg_load_image (struct frame *f, struct image *img, char *contents, /* Handle alpha channel by combining the image with a background color. */ - XColor background; + Emacs_Color background; Lisp_Object specified_bg = image_spec_value (img->spec, QCbackground, NULL); if (!STRINGP (specified_bg) || !FRAME_TERMINAL (f)->defined_color_hook (f, diff --git a/src/nsgui.h b/src/nsgui.h index ab6cdff1e5c..81be68b574d 100644 --- a/src/nsgui.h +++ b/src/nsgui.h @@ -109,11 +109,6 @@ typedef void *Cursor; #define No_Cursor (0) -#ifdef __OBJC__ -typedef NSColor * Color; -#else -typedef void * Color; -#endif typedef int Window; diff --git a/src/nsterm.h b/src/nsterm.h index ffaf809785e..ad1af3098d6 100644 --- a/src/nsterm.h +++ b/src/nsterm.h @@ -1134,10 +1134,10 @@ extern void ns_set_doc_edited (void); extern bool ns_defined_color (struct frame *f, const char *name, - XColor *color_def, bool alloc, + Emacs_Color *color_def, bool alloc, bool makeIndex); extern void -ns_query_color (void *col, XColor *color_def, bool setPixel); +ns_query_color (void *col, Emacs_Color *color_def, bool setPixel); #ifdef __OBJC__ extern int ns_lisp_to_color (Lisp_Object color, NSColor **col); diff --git a/src/nsterm.m b/src/nsterm.m index d688aceca53..deac229c98b 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -2327,7 +2327,7 @@ ns_color_index_to_rgba(int idx, struct frame *f) } void -ns_query_color(void *col, XColor *color_def, bool setPixel) +ns_query_color(void *col, Emacs_Color *color_def, bool setPixel) /* -------------------------------------------------------------------------- Get ARGB values out of NSColor col and put them into color_def. If setPixel, set the pixel to a concatenated version. @@ -2350,7 +2350,7 @@ ns_query_color(void *col, XColor *color_def, bool setPixel) bool ns_defined_color (struct frame *f, const char *name, - XColor *color_def, + Emacs_Color *color_def, bool alloc, bool makeIndex) /* -------------------------------------------------------------------------- @@ -2378,7 +2378,7 @@ ns_defined_color (struct frame *f, } static void -ns_query_frame_background_color (struct frame *f, XColor *bgcolor) +ns_query_frame_background_color (struct frame *f, Emacs_Color *bgcolor) /* -------------------------------------------------------------------------- External (hook): Store F's background color into *BGCOLOR -------------------------------------------------------------------------- */ diff --git a/src/termhooks.h b/src/termhooks.h index 0962add0817..410273875a6 100644 --- a/src/termhooks.h +++ b/src/termhooks.h @@ -496,7 +496,7 @@ struct terminal If MAKEINDEX (on NS), set COLOR_DEF pixel to ARGB. */ bool (*defined_color_hook) (struct frame *f, const char *color_name, - XColor *color_def, + Emacs_Color *color_def, bool alloc, bool makeIndex); @@ -515,13 +515,13 @@ struct terminal /* This hook is called to store the frame's background color into BGCOLOR. */ - void (*query_frame_background_color) (struct frame *f, XColor *bgcolor); + void (*query_frame_background_color) (struct frame *f, Emacs_Color *bgcolor); #if defined (HAVE_X_WINDOWS) || defined (HAVE_NTGUI) /* On frame F, translate pixel colors to RGB values for the NCOLORS colors in COLORS. Use cached information, if available. */ - void (*query_colors) (struct frame *f, XColor *colors, int ncolors); + void (*query_colors) (struct frame *f, Emacs_Color *colors, int ncolors); #endif /* Return the current position of the mouse. diff --git a/src/w32fns.c b/src/w32fns.c index 525642bfaab..2f54bdc1da1 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -1174,7 +1174,7 @@ gamma_correct (struct frame *f, COLORREF *color) If ALLOC is nonzero, allocate a new colormap cell. */ bool -w32_defined_color (struct frame *f, const char *color, XColor *color_def, +w32_defined_color (struct frame *f, const char *color, Emacs_Color *color_def, bool alloc_p, bool _makeIndex) { register Lisp_Object tem; @@ -1248,7 +1248,7 @@ w32_defined_color (struct frame *f, const char *color, XColor *color_def, static int w32_decode_color (struct frame *f, Lisp_Object arg, int def) { - XColor cdef; + Emacs_Color cdef; CHECK_STRING (arg); @@ -6100,7 +6100,7 @@ DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0, doc: /* SKIP: real doc in xfns.c. */) (Lisp_Object color, Lisp_Object frame) { - XColor foo; + Emacs_Color foo; struct frame *f = decode_window_system_frame (frame); CHECK_STRING (color); @@ -6115,7 +6115,7 @@ DEFUN ("xw-color-values", Fxw_color_values, Sxw_color_values, 1, 2, 0, doc: /* SKIP: real doc in xfns.c. */) (Lisp_Object color, Lisp_Object frame) { - XColor foo; + Emacs_Color foo; struct frame *f = decode_window_system_frame (frame); CHECK_STRING (color); diff --git a/src/w32gui.h b/src/w32gui.h index 5dcbbd95166..b2ad28366c3 100644 --- a/src/w32gui.h +++ b/src/w32gui.h @@ -43,7 +43,6 @@ typedef HBITMAP Pixmap; typedef HBITMAP Bitmap; typedef XGCValues * GC; -typedef COLORREF Color; typedef HWND Window; typedef HDC Display; /* HDC so it doesn't conflict with xpm lib. */ typedef HCURSOR Cursor; diff --git a/src/w32term.c b/src/w32term.c index 435455e1a6d..6c53bc147a0 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -1517,7 +1517,7 @@ w32_alloc_lighter_color (struct frame *f, COLORREF *color, colors in COLORS. On W32, we no longer try to map colors to a palette. */ static void -w32_query_colors (struct frame *f, XColor *colors, int ncolors) +w32_query_colors (struct frame *f, Emacs_Color *colors, int ncolors) { int i; @@ -1534,7 +1534,7 @@ w32_query_colors (struct frame *f, XColor *colors, int ncolors) /* Store F's background color into *BGCOLOR. */ static void -w32_query_frame_background_color (struct frame *f, XColor *bgcolor) +w32_query_frame_background_color (struct frame *f, Emacs_Color *bgcolor) { bgcolor->pixel = FRAME_BACKGROUND_PIXEL (f); w32_query_colors (f, bgcolor, 1); @@ -7208,7 +7208,7 @@ w32_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name) /* initialize palette with white and black */ { - XColor color; + Emacs_Color color; w32_defined_color (0, "white", &color, true, false); w32_defined_color (0, "black", &color, true, false); } diff --git a/src/w32term.h b/src/w32term.h index a03b9fd3311..0dffd3db070 100644 --- a/src/w32term.h +++ b/src/w32term.h @@ -241,7 +241,7 @@ extern void w32_set_scroll_bar_default_height (struct frame *); extern struct w32_display_info *w32_term_init (Lisp_Object, char *, char *); -extern bool w32_defined_color (struct frame *, const char *, XColor *, +extern bool w32_defined_color (struct frame *, const char *, Emacs_Color *, bool, bool); extern int w32_display_pixel_height (struct w32_display_info *); extern int w32_display_pixel_width (struct w32_display_info *); @@ -721,7 +721,7 @@ extern void complete_deferred_msg (HWND hwnd, UINT msg, LRESULT result); extern BOOL parse_button (int, int, int *, int *); extern void w32_sys_ring_bell (struct frame *f); -extern void w32_query_color (struct frame *, XColor *); +extern void w32_query_color (struct frame *, Emacs_Color *); extern void w32_delete_display (struct w32_display_info *dpyinfo); #define FILE_NOTIFICATIONS_SIZE 16384 diff --git a/src/xfaces.c b/src/xfaces.c index 5c2414b7b0e..a8fdca70c9e 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -348,7 +348,7 @@ static void free_face_cache (struct face_cache *); static bool merge_face_ref (struct window *w, struct frame *, Lisp_Object, Lisp_Object *, bool, struct named_merge_point *); -static int color_distance (XColor *x, XColor *y); +static int color_distance (Emacs_Color *x, Emacs_Color *y); #ifdef HAVE_WINDOW_SYSTEM static void set_font_frame_param (Lisp_Object, Lisp_Object); @@ -802,7 +802,7 @@ load_pixmap (struct frame *f, Lisp_Object name) /*********************************************************************** - X Colors + Color Handling ***********************************************************************/ /* Parse RGB_LIST, and fill in the RGB fields of COLOR. @@ -810,7 +810,7 @@ load_pixmap (struct frame *f, Lisp_Object name) Return true iff RGB_LIST is OK. */ static bool -parse_rgb_list (Lisp_Object rgb_list, XColor *color) +parse_rgb_list (Lisp_Object rgb_list, Emacs_Color *color) { #define PARSE_RGB_LIST_FIELD(field) \ if (CONSP (rgb_list) && FIXNUMP (XCAR (rgb_list))) \ @@ -835,8 +835,8 @@ parse_rgb_list (Lisp_Object rgb_list, XColor *color) returned in it. */ static bool -tty_lookup_color (struct frame *f, Lisp_Object color, XColor *tty_color, - XColor *std_color) +tty_lookup_color (struct frame *f, Lisp_Object color, Emacs_Color *tty_color, + Emacs_Color *std_color) { Lisp_Object frame, color_desc; @@ -897,7 +897,7 @@ tty_lookup_color (struct frame *f, Lisp_Object color, XColor *tty_color, bool tty_defined_color (struct frame *f, const char *color_name, - XColor *color_def, bool alloc, bool _makeIndex) + Emacs_Color *color_def, bool alloc, bool _makeIndex) { bool status = true; @@ -965,7 +965,7 @@ tty_color_name (struct frame *f, int idx) static bool face_color_gray_p (struct frame *f, const char *color_name) { - XColor color; + Emacs_Color color; bool gray_p; if (FRAME_TERMINAL (f)->defined_color_hook @@ -994,7 +994,7 @@ face_color_supported_p (struct frame *f, const char *color_name, bool background_p) { Lisp_Object frame; - XColor not_used; + Emacs_Color not_used; XSETFRAME (frame, f); return @@ -1043,7 +1043,7 @@ COLOR must be a valid color name. */) static unsigned long load_color2 (struct frame *f, struct face *face, Lisp_Object name, - enum lface_attribute_index target_index, XColor *color) + enum lface_attribute_index target_index, Emacs_Color *color) { eassert (STRINGP (name)); eassert (target_index == LFACE_FOREGROUND_INDEX @@ -1117,7 +1117,7 @@ unsigned long load_color (struct frame *f, struct face *face, Lisp_Object name, enum lface_attribute_index target_index) { - XColor color; + Emacs_Color color; return load_color2 (f, face, name, target_index, &color); } @@ -1134,7 +1134,7 @@ load_face_colors (struct frame *f, struct face *face, Lisp_Object attrs[LFACE_VECTOR_SIZE]) { Lisp_Object fg, bg, dfg; - XColor xfg, xbg; + Emacs_Color xfg, xbg; bg = attrs[LFACE_BACKGROUND_INDEX]; fg = attrs[LFACE_FOREGROUND_INDEX]; @@ -4170,7 +4170,7 @@ prepare_face_for_display (struct frame *f, struct face *face) /* Returns the `distance' between the colors X and Y. */ static int -color_distance (XColor *x, XColor *y) +color_distance (Emacs_Color *x, Emacs_Color *y) { /* This formula is from a paper titled `Colour metric' by Thiadmer Riemersma. Quoting from that paper: @@ -4205,7 +4205,7 @@ two lists of the form (RED GREEN BLUE) aforementioned. */) Lisp_Object metric) { struct frame *f = decode_live_frame (frame); - XColor cdef1, cdef2; + Emacs_Color cdef1, cdef2; if (!(CONSP (color1) && parse_rgb_list (color1, &cdef1)) && !(STRINGP (color1) @@ -4885,8 +4885,8 @@ tty_supports_face_attributes_p (struct frame *f, { int weight, slant; Lisp_Object val, fg, bg; - XColor fg_tty_color, fg_std_color; - XColor bg_tty_color, bg_std_color; + Emacs_Color fg_tty_color, fg_std_color; + Emacs_Color bg_tty_color, bg_std_color; unsigned test_caps = 0; Lisp_Object *def_attrs = def_face->lface; @@ -4988,7 +4988,7 @@ tty_supports_face_attributes_p (struct frame *f, else /* Make sure the color is really different than the default. */ { - XColor def_fg_color; + Emacs_Color def_fg_color; if (tty_lookup_color (f, def_fg, &def_fg_color, 0) && (color_distance (&fg_tty_color, &def_fg_color) <= TTY_SAME_COLOR_THRESHOLD)) @@ -5012,7 +5012,7 @@ tty_supports_face_attributes_p (struct frame *f, else /* Make sure the color is really different than the default. */ { - XColor def_bg_color; + Emacs_Color def_bg_color; if (tty_lookup_color (f, def_bg, &def_bg_color, 0) && (color_distance (&bg_tty_color, &def_bg_color) <= TTY_SAME_COLOR_THRESHOLD)) diff --git a/src/xfns.c b/src/xfns.c index c8cc1704a47..4195980d33e 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -653,7 +653,7 @@ gamma_correct (struct frame *f, XColor *color) bool x_defined_color (struct frame *f, const char *color_name, - XColor *color, bool alloc_p, bool _makeIndex) + Emacs_Color *color, bool alloc_p, bool _makeIndex) { bool success_p = false; Colormap cmap = FRAME_X_COLORMAP (f); diff --git a/src/xterm.h b/src/xterm.h index 84030d5c25e..758a1939d6e 100644 --- a/src/xterm.h +++ b/src/xterm.h @@ -1224,7 +1224,8 @@ extern void destroy_frame_xic (struct frame *); extern void xic_set_preeditarea (struct window *, int, int); extern void xic_set_statusarea (struct frame *); extern void xic_set_xfontset (struct frame *, const char *); -extern bool x_defined_color (struct frame *, const char *, XColor *, bool, bool); +extern bool x_defined_color (struct frame *, const char *, Emacs_Color *, + bool, bool); #ifdef HAVE_X_I18N extern void free_frame_xic (struct frame *); # if defined HAVE_X_WINDOWS && defined USE_X_TOOLKIT