Mercurial > emacs
comparison src/dispextern.h @ 3883:b9e5a869b33e
Separate parameter faces (those created and modified by the user)
from the computed faces (the combinations created by
compute_char_face), so that we don't waste global face id's.
* xterm.h (struct x_display): Replace the fields faces and n_faces
with fields param_faces, n_param_faces, computed_faces,
n_computed_faces, and size_computed_faces.
(FRAME_FACES, FRAME_N_FACES): Replaced by...
(FRAME_COMPUTED_FACES, FRAME_N_COMPUTED_FACES, FRAME_PARAM_FACES,
FRAME_N_PARAM_FACES): New macros.
* xfaces.c: Doc fixes.
(init_frame_faces): Call new_computed_face to create entries for
the default and mode line faces. Use the FRAME...PARAM_FACES
macros.
(free_frame_faces): Use the FRAME...PARAM_FACES and
FRAME...COMPUTED_FACES macros. Don't use the copy flag; all
parameter faces have real X resources, and all computed faces just
have copies. Free both the parameter and computed face arrays.
(new_computed_face): New function.
(intern_computed_face): Renamed from intern_frame_face; callers
changed. Call new_computed_face.
(ensure_face_ready, compute_char_face, compute_glyph_face): Use the
FRAME...PARAM_FACES macros.
(recompute_basic_faces): Use the FRAME...PARAM_FACES and
FRAME...COMPUTED_FACES macros. Produce the computed faces by
starting with the base faces and merging in the parameter faces.
(Fset_face_attribute_internal): Use the FRAME...PARAM_FACES
macros. Just call recompute_basic_faces if the default or mode
line faces have changed.
* xfns.c (Fx_list_fonts): Use the FRAME...PARAM_FACES macros.
* xterm.c (dumpglyphs): Use the FRAME...COMPUTED_FACES macros.
* dispextern.h (struct face): Remove the copy member. This is no
longer necessary; all computed faces are copies, and no parameter
faces are.
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Tue, 22 Jun 1993 07:26:44 +0000 |
parents | 905f9fda79b8 |
children | 2c6d3ba470bb |
comparison
equal
deleted
inserted
replaced
3882:a0b9347a3973 | 3883:b9e5a869b33e |
---|---|
52 /* Pixmap_depth. */ | 52 /* Pixmap_depth. */ |
53 unsigned int pixmap_w, pixmap_h; | 53 unsigned int pixmap_w, pixmap_h; |
54 | 54 |
55 /* Whether or not to underline text in this face. */ | 55 /* Whether or not to underline text in this face. */ |
56 char underline; | 56 char underline; |
57 | |
58 /* Does this face own its resources? (color, font, etcetera) | |
59 If this is a face which we computed by combining other faces, | |
60 then this is true, and we shouldn't free any of the resources | |
61 it refers to; the faces from which it was constructed own it. | |
62 On the other hand, if this is a face the user created and | |
63 filled in directly, then this is false, and we should free the | |
64 resources when we free it. */ | |
65 char copy; | |
66 }; | 57 }; |
67 | 58 |
68 /* Let's stop using this and get rid of it. */ | 59 /* Let's stop using this and get rid of it. */ |
69 typedef struct face *FACE; | 60 typedef struct face *FACE; |
70 | 61 |