1280 |
LFACE_FONT_INDEX, |
LFACE_FONT_INDEX, |
1281 |
LFACE_INHERIT_INDEX, |
LFACE_INHERIT_INDEX, |
1282 |
LFACE_AVGWIDTH_INDEX, |
LFACE_AVGWIDTH_INDEX, |
1283 |
|
LFACE_FONTSET_INDEX, |
1284 |
LFACE_VECTOR_SIZE |
LFACE_VECTOR_SIZE |
1285 |
}; |
}; |
1286 |
|
|
1365 |
reallocated. */ |
reallocated. */ |
1366 |
int font_info_id; |
int font_info_id; |
1367 |
|
|
1368 |
/* Fontset ID if this face uses a fontset, or -1. This is only >= 0 |
/* Fontset ID if for this face's fontset. Non-ASCII faces derived |
1369 |
if the face was realized for a composition sequence. |
from the same ASCII face have the same fontset. */ |
|
Otherwise, a specific font is loaded from the set of fonts |
|
|
specified by the fontset given by the family attribute of the face. */ |
|
1370 |
int fontset; |
int fontset; |
1371 |
|
|
1372 |
/* Pixmap width and height. */ |
/* Pixmap width and height. */ |
1398 |
/* The hash value of this face. */ |
/* The hash value of this face. */ |
1399 |
unsigned hash; |
unsigned hash; |
1400 |
|
|
|
/* The charset for which this face was realized if it was realized |
|
|
for use in multibyte text. If fontset >= 0, this is the charset |
|
|
of the first character of the composition sequence. A value of |
|
|
charset < 0 means the face was realized for use in unibyte text |
|
|
where the idea of Emacs charsets isn't applicable. */ |
|
|
int charset; |
|
|
|
|
1401 |
/* Non-zero if text in this face should be underlined, overlined, |
/* Non-zero if text in this face should be underlined, overlined, |
1402 |
strike-through or have a box drawn around it. */ |
strike-through or have a box drawn around it. */ |
1403 |
unsigned underline_p : 1; |
unsigned underline_p : 1; |
1443 |
/* Next and previous face in hash collision list of face cache. */ |
/* Next and previous face in hash collision list of face cache. */ |
1444 |
struct face *next, *prev; |
struct face *next, *prev; |
1445 |
|
|
1446 |
/* If this face is for ASCII characters, this points this face |
/* If this face is an ASCII face, this points to this face itself. |
1447 |
itself. Otherwise, this points a face for ASCII characters. */ |
Otherwise, this points to an ASCII face that has the same |
1448 |
|
attributes except the font. */ |
1449 |
struct face *ascii_face; |
struct face *ascii_face; |
1450 |
}; |
}; |
1451 |
|
|
1532 |
/* Non-zero if FACE is suitable for displaying character CHAR. */ |
/* Non-zero if FACE is suitable for displaying character CHAR. */ |
1533 |
|
|
1534 |
#define FACE_SUITABLE_FOR_CHAR_P(FACE, CHAR) \ |
#define FACE_SUITABLE_FOR_CHAR_P(FACE, CHAR) \ |
1535 |
(SINGLE_BYTE_CHAR_P (CHAR) \ |
(ASCII_CHAR_P (CHAR) \ |
1536 |
? (FACE) == (FACE)->ascii_face \ |
? (FACE) == (FACE)->ascii_face \ |
1537 |
: face_suitable_for_char_p ((FACE), (CHAR))) |
: face_suitable_for_char_p ((FACE), (CHAR))) |
1538 |
|
|
1541 |
This macro is only meaningful for multibyte character CHAR. */ |
This macro is only meaningful for multibyte character CHAR. */ |
1542 |
|
|
1543 |
#define FACE_FOR_CHAR(F, FACE, CHAR) \ |
#define FACE_FOR_CHAR(F, FACE, CHAR) \ |
1544 |
(SINGLE_BYTE_CHAR_P (CHAR) \ |
(ASCII_CHAR_P (CHAR) \ |
1545 |
? (FACE)->ascii_face->id \ |
? (FACE)->ascii_face->id \ |
1546 |
: face_for_char ((F), (FACE), (CHAR))) |
: face_for_char ((F), (FACE), (CHAR))) |
1547 |
|
|
1683 |
|
|
1684 |
enum prop_idx |
enum prop_idx |
1685 |
{ |
{ |
1686 |
|
AUTO_COMPOSED_PROP_IDX, |
1687 |
FONTIFIED_PROP_IDX, |
FONTIFIED_PROP_IDX, |
1688 |
FACE_PROP_IDX, |
FACE_PROP_IDX, |
1689 |
INVISIBLE_PROP_IDX, |
INVISIBLE_PROP_IDX, |
2130 |
the two-byte form of C. Encoding is returned in *CHAR2B. If |
the two-byte form of C. Encoding is returned in *CHAR2B. If |
2131 |
TWO_BYTE_P is non-null, return non-zero there if font is two-byte. */ |
TWO_BYTE_P is non-null, return non-zero there if font is two-byte. */ |
2132 |
int (*encode_char) P_ ((int c, XChar2b *char2b, |
int (*encode_char) P_ ((int c, XChar2b *char2b, |
2133 |
struct font_info *font_into, int *two_byte_p)); |
struct font_info *font_into, |
2134 |
|
struct charset *charset, |
2135 |
|
int *two_byte_p)); |
2136 |
|
|
2137 |
/* Compute left and right overhang of glyph string S. |
/* Compute left and right overhang of glyph string S. |
2138 |
A NULL pointer if platform does not support this. */ |
A NULL pointer if platform does not support this. */ |
2562 |
unsigned long load_color P_ ((struct frame *, struct face *, Lisp_Object, |
unsigned long load_color P_ ((struct frame *, struct face *, Lisp_Object, |
2563 |
enum lface_attribute_index)); |
enum lface_attribute_index)); |
2564 |
void unload_color P_ ((struct frame *, unsigned long)); |
void unload_color P_ ((struct frame *, unsigned long)); |
2565 |
|
char *choose_face_font P_ ((struct frame *, Lisp_Object *, Lisp_Object, |
2566 |
|
int *)); |
2567 |
int ascii_face_of_lisp_face P_ ((struct frame *, int)); |
int ascii_face_of_lisp_face P_ ((struct frame *, int)); |
2568 |
void prepare_face_for_display P_ ((struct frame *, struct face *)); |
void prepare_face_for_display P_ ((struct frame *, struct face *)); |
2569 |
int xstricmp P_ ((const unsigned char *, const unsigned char *)); |
int xstricmp P_ ((const unsigned char *, const unsigned char *)); |
2570 |
int lookup_face P_ ((struct frame *, Lisp_Object *, int, struct face *)); |
int lookup_face P_ ((struct frame *, Lisp_Object *)); |
2571 |
int lookup_named_face P_ ((struct frame *, Lisp_Object, int)); |
int lookup_non_ascii_face P_ ((struct frame *, int, struct face *)); |
2572 |
|
int lookup_named_face P_ ((struct frame *, Lisp_Object)); |
2573 |
int smaller_face P_ ((struct frame *, int, int)); |
int smaller_face P_ ((struct frame *, int, int)); |
2574 |
int face_with_height P_ ((struct frame *, int, int)); |
int face_with_height P_ ((struct frame *, int, int)); |
2575 |
int lookup_derived_face P_ ((struct frame *, Lisp_Object, int, int)); |
int lookup_derived_face P_ ((struct frame *, Lisp_Object, int)); |
2576 |
void init_frame_faces P_ ((struct frame *)); |
void init_frame_faces P_ ((struct frame *)); |
2577 |
void free_frame_faces P_ ((struct frame *)); |
void free_frame_faces P_ ((struct frame *)); |
2578 |
void recompute_basic_faces P_ ((struct frame *)); |
void recompute_basic_faces P_ ((struct frame *)); |
2582 |
int, int *, enum face_id, int)); |
int, int *, enum face_id, int)); |
2583 |
int compute_char_face P_ ((struct frame *, int, Lisp_Object)); |
int compute_char_face P_ ((struct frame *, int, Lisp_Object)); |
2584 |
void free_all_realized_faces P_ ((Lisp_Object)); |
void free_all_realized_faces P_ ((Lisp_Object)); |
2585 |
|
void free_realized_face P_ ((struct frame *, struct face *)); |
2586 |
extern Lisp_Object Qforeground_color, Qbackground_color; |
extern Lisp_Object Qforeground_color, Qbackground_color; |
2587 |
extern char unspecified_fg[], unspecified_bg[]; |
extern char unspecified_fg[], unspecified_bg[]; |
2588 |
void free_realized_multibyte_face P_ ((struct frame *, int)); |
extern Lisp_Object split_font_name_into_vector P_ ((Lisp_Object)); |
2589 |
|
extern Lisp_Object build_font_name_from_vector P_ ((Lisp_Object)); |
2590 |
|
|
2591 |
/* Defined in xfns.c */ |
/* Defined in xfns.c */ |
2592 |
|
|