aboutsummaryrefslogtreecommitdiffstats
path: root/src/xfaces.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xfaces.c')
-rw-r--r--src/xfaces.c111
1 files changed, 28 insertions, 83 deletions
diff --git a/src/xfaces.c b/src/xfaces.c
index 0600f53ba1e..6ecd857d685 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -278,57 +278,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
278 278
279#define FACE_CACHE_BUCKETS_SIZE 1001 279#define FACE_CACHE_BUCKETS_SIZE 1001
280 280
281/* Keyword symbols used for face attribute names. */
282
283Lisp_Object QCfamily, QCheight, QCweight, QCslant;
284static Lisp_Object QCunderline;
285static Lisp_Object QCinverse_video, QCstipple;
286Lisp_Object QCforeground, QCbackground;
287Lisp_Object QCwidth;
288static Lisp_Object QCfont, QCbold, QCitalic;
289static Lisp_Object QCreverse_video;
290static Lisp_Object QCoverline, QCstrike_through, QCbox, QCinherit;
291static Lisp_Object QCfontset, QCdistant_foreground;
292
293/* Symbols used for attribute values. */
294
295Lisp_Object Qnormal;
296Lisp_Object Qbold;
297static Lisp_Object Qline, Qwave;
298Lisp_Object Qextra_light, Qlight;
299Lisp_Object Qsemi_light, Qsemi_bold, Qextra_bold, Qultra_bold;
300Lisp_Object Qoblique;
301Lisp_Object Qitalic;
302static Lisp_Object Qreleased_button, Qpressed_button;
303static Lisp_Object QCstyle, QCcolor, QCline_width;
304Lisp_Object Qunspecified; /* used in dosfns.c */
305static Lisp_Object QCignore_defface;
306
307char unspecified_fg[] = "unspecified-fg", unspecified_bg[] = "unspecified-bg"; 281char unspecified_fg[] = "unspecified-fg", unspecified_bg[] = "unspecified-bg";
308 282
309/* The name of the function to call when the background of the frame
310 has changed, frame_set_background_mode. */
311
312static Lisp_Object Qframe_set_background_mode;
313
314/* Names of basic faces. */
315
316Lisp_Object Qdefault, Qtool_bar, Qfringe;
317static Lisp_Object Qregion;
318Lisp_Object Qheader_line, Qscroll_bar, Qcursor;
319static Lisp_Object Qborder, Qmouse, Qmenu;
320Lisp_Object Qmode_line_inactive;
321static Lisp_Object Qvertical_border;
322static Lisp_Object Qwindow_divider;
323static Lisp_Object Qwindow_divider_first_pixel;
324static Lisp_Object Qwindow_divider_last_pixel;
325
326/* The symbol `face-alias'. A symbols having that property is an
327 alias for another face. Value of the property is the name of
328 the aliased face. */
329
330static Lisp_Object Qface_alias;
331
332/* Alist of alternative font families. Each element is of the form 283/* Alist of alternative font families. Each element is of the form
333 (FAMILY FAMILY1 FAMILY2 ...). If fonts of FAMILY can't be loaded, 284 (FAMILY FAMILY1 FAMILY2 ...). If fonts of FAMILY can't be loaded,
334 try FAMILY1, then FAMILY2, ... */ 285 try FAMILY1, then FAMILY2, ... */
@@ -341,32 +292,6 @@ Lisp_Object Vface_alternative_font_family_alist;
341 292
342Lisp_Object Vface_alternative_font_registry_alist; 293Lisp_Object Vface_alternative_font_registry_alist;
343 294
344/* Allowed scalable fonts. A value of nil means don't allow any
345 scalable fonts. A value of t means allow the use of any scalable
346 font. Otherwise, value must be a list of regular expressions. A
347 font may be scaled if its name matches a regular expression in the
348 list. */
349
350static Lisp_Object Qscalable_fonts_allowed;
351
352/* The symbols `foreground-color' and `background-color' which can be
353 used as part of a `face' property. This is for compatibility with
354 Emacs 20.2. */
355
356Lisp_Object Qforeground_color, Qbackground_color;
357
358/* The symbols `face' and `mouse-face' used as text properties. */
359
360Lisp_Object Qface;
361
362/* Property for basic faces which other faces cannot inherit. */
363
364static Lisp_Object Qface_no_inherit;
365
366/* Error symbol for wrong_type_argument in load_pixmap. */
367
368static Lisp_Object Qbitmap_spec_p;
369
370/* The next ID to assign to Lisp faces. */ 295/* The next ID to assign to Lisp faces. */
371 296
372static int next_lface_id; 297static int next_lface_id;
@@ -376,14 +301,6 @@ static int next_lface_id;
376static Lisp_Object *lface_id_to_name; 301static Lisp_Object *lface_id_to_name;
377static ptrdiff_t lface_id_to_name_size; 302static ptrdiff_t lface_id_to_name_size;
378 303
379/* TTY color-related functions (defined in tty-colors.el). */
380
381static Lisp_Object Qtty_color_desc, Qtty_color_by_index, Qtty_color_standard_values;
382
383/* The name of the function used to compute colors on TTYs. */
384
385static Lisp_Object Qtty_color_alist;
386
387#ifdef HAVE_WINDOW_SYSTEM 304#ifdef HAVE_WINDOW_SYSTEM
388 305
389/* Counter for calls to clear_face_cache. If this counter reaches 306/* Counter for calls to clear_face_cache. If this counter reaches
@@ -6397,9 +6314,17 @@ DEFUN ("show-face-resources", Fshow_face_resources, Sshow_face_resources,
6397void 6314void
6398syms_of_xfaces (void) 6315syms_of_xfaces (void)
6399{ 6316{
6317 /* The symbols `face' and `mouse-face' used as text properties. */
6400 DEFSYM (Qface, "face"); 6318 DEFSYM (Qface, "face");
6319
6320 /* Property for basic faces which other faces cannot inherit. */
6401 DEFSYM (Qface_no_inherit, "face-no-inherit"); 6321 DEFSYM (Qface_no_inherit, "face-no-inherit");
6322
6323 /* Error symbol for wrong_type_argument in load_pixmap. */
6402 DEFSYM (Qbitmap_spec_p, "bitmap-spec-p"); 6324 DEFSYM (Qbitmap_spec_p, "bitmap-spec-p");
6325
6326 /* The name of the function to call when the background of the frame
6327 has changed, frame_set_background_mode. */
6403 DEFSYM (Qframe_set_background_mode, "frame-set-background-mode"); 6328 DEFSYM (Qframe_set_background_mode, "frame-set-background-mode");
6404 6329
6405 /* Lisp face attribute keywords. */ 6330 /* Lisp face attribute keywords. */
@@ -6442,12 +6367,22 @@ syms_of_xfaces (void)
6442 DEFSYM (Qultra_bold, "ultra-bold"); 6367 DEFSYM (Qultra_bold, "ultra-bold");
6443 DEFSYM (Qoblique, "oblique"); 6368 DEFSYM (Qoblique, "oblique");
6444 DEFSYM (Qitalic, "italic"); 6369 DEFSYM (Qitalic, "italic");
6370
6371 /* The symbols `foreground-color' and `background-color' which can be
6372 used as part of a `face' property. This is for compatibility with
6373 Emacs 20.2. */
6445 DEFSYM (Qbackground_color, "background-color"); 6374 DEFSYM (Qbackground_color, "background-color");
6446 DEFSYM (Qforeground_color, "foreground-color"); 6375 DEFSYM (Qforeground_color, "foreground-color");
6376
6447 DEFSYM (Qunspecified, "unspecified"); 6377 DEFSYM (Qunspecified, "unspecified");
6448 DEFSYM (QCignore_defface, ":ignore-defface"); 6378 DEFSYM (QCignore_defface, ":ignore-defface");
6449 6379
6380 /* The symbol `face-alias'. A symbol having that property is an
6381 alias for another face. Value of the property is the name of
6382 the aliased face. */
6450 DEFSYM (Qface_alias, "face-alias"); 6383 DEFSYM (Qface_alias, "face-alias");
6384
6385 /* Names of basic faces. */
6451 DEFSYM (Qdefault, "default"); 6386 DEFSYM (Qdefault, "default");
6452 DEFSYM (Qtool_bar, "tool-bar"); 6387 DEFSYM (Qtool_bar, "tool-bar");
6453 DEFSYM (Qregion, "region"); 6388 DEFSYM (Qregion, "region");
@@ -6460,13 +6395,23 @@ syms_of_xfaces (void)
6460 DEFSYM (Qmouse, "mouse"); 6395 DEFSYM (Qmouse, "mouse");
6461 DEFSYM (Qmode_line_inactive, "mode-line-inactive"); 6396 DEFSYM (Qmode_line_inactive, "mode-line-inactive");
6462 DEFSYM (Qvertical_border, "vertical-border"); 6397 DEFSYM (Qvertical_border, "vertical-border");
6398
6399 /* TTY color-related functions (defined in tty-colors.el). */
6463 DEFSYM (Qwindow_divider, "window-divider"); 6400 DEFSYM (Qwindow_divider, "window-divider");
6464 DEFSYM (Qwindow_divider_first_pixel, "window-divider-first-pixel"); 6401 DEFSYM (Qwindow_divider_first_pixel, "window-divider-first-pixel");
6465 DEFSYM (Qwindow_divider_last_pixel, "window-divider-last-pixel"); 6402 DEFSYM (Qwindow_divider_last_pixel, "window-divider-last-pixel");
6466 DEFSYM (Qtty_color_desc, "tty-color-desc"); 6403 DEFSYM (Qtty_color_desc, "tty-color-desc");
6467 DEFSYM (Qtty_color_standard_values, "tty-color-standard-values"); 6404 DEFSYM (Qtty_color_standard_values, "tty-color-standard-values");
6468 DEFSYM (Qtty_color_by_index, "tty-color-by-index"); 6405 DEFSYM (Qtty_color_by_index, "tty-color-by-index");
6406
6407 /* The name of the function used to compute colors on TTYs. */
6469 DEFSYM (Qtty_color_alist, "tty-color-alist"); 6408 DEFSYM (Qtty_color_alist, "tty-color-alist");
6409
6410 /* Allowed scalable fonts. A value of nil means don't allow any
6411 scalable fonts. A value of t means allow the use of any scalable
6412 font. Otherwise, value must be a list of regular expressions. A
6413 font may be scaled if its name matches a regular expression in the
6414 list. */
6470 DEFSYM (Qscalable_fonts_allowed, "scalable-fonts-allowed"); 6415 DEFSYM (Qscalable_fonts_allowed, "scalable-fonts-allowed");
6471 6416
6472 Vparam_value_alist = list1 (Fcons (Qnil, Qnil)); 6417 Vparam_value_alist = list1 (Fcons (Qnil, Qnil));