Mercurial > hg > xemacs-beta
comparison src/faces.h @ 398:74fd4e045ea6 r21-2-29
Import from CVS: tag r21-2-29
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:13:30 +0200 |
parents | bbff43aa5eb7 |
children | 2f8bb876ab1d |
comparison
equal
deleted
inserted
replaced
397:f4aeb21a5bad | 398:74fd4e045ea6 |
---|---|
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
20 Boston, MA 02111-1307, USA. */ | 20 Boston, MA 02111-1307, USA. */ |
21 | 21 |
22 /* Synched up with: Not in FSF. */ | 22 /* Synched up with: Not in FSF. */ |
23 | 23 |
24 #ifndef _XEMACS_FACES_H_ | 24 #ifndef INCLUDED_faces_h_ |
25 #define _XEMACS_FACES_H_ | 25 #define INCLUDED_faces_h_ |
26 | 26 |
27 #include "buffer.h" /* for NUM_LEADING_BYTES */ | 27 #include "buffer.h" /* for NUM_LEADING_BYTES */ |
28 | 28 |
29 /* a struct Lisp_Face is the C object corresponding to a face. There | 29 /* a Lisp_Face is the C object corresponding to a face. There is one |
30 is one of these per face. It basically contains all of the specifiers | 30 of these per face. It basically contains all of the specifiers for |
31 for the built-in face properties, plus the plist of user-specified | 31 the built-in face properties, plus the plist of user-specified |
32 properties. */ | 32 properties. */ |
33 | 33 |
34 struct Lisp_Face | 34 struct Lisp_Face |
35 { | 35 { |
36 struct lcrecord_header header; | 36 struct lcrecord_header header; |
220 unsigned int updated :1; | 220 unsigned int updated :1; |
221 /* #### Of course we should use a bit array or something. */ | 221 /* #### Of course we should use a bit array or something. */ |
222 unsigned char font_updated[NUM_LEADING_BYTES]; | 222 unsigned char font_updated[NUM_LEADING_BYTES]; |
223 }; | 223 }; |
224 | 224 |
225 DECLARE_LRECORD (face, struct Lisp_Face); | 225 DECLARE_LRECORD (face, Lisp_Face); |
226 #define XFACE(x) XRECORD (x, face, struct Lisp_Face) | 226 #define XFACE(x) XRECORD (x, face, Lisp_Face) |
227 #define XSETFACE(x, p) XSETRECORD (x, p, face) | 227 #define XSETFACE(x, p) XSETRECORD (x, p, face) |
228 #define FACEP(x) RECORDP (x, face) | 228 #define FACEP(x) RECORDP (x, face) |
229 #define GC_FACEP(x) GC_RECORDP (x, face) | |
230 #define CHECK_FACE(x) CHECK_RECORD (x, face) | 229 #define CHECK_FACE(x) CHECK_RECORD (x, face) |
231 | 230 |
232 Lisp_Object ensure_face_cachel_contains_charset (struct face_cachel *cachel, | 231 Lisp_Object ensure_face_cachel_contains_charset (struct face_cachel *cachel, |
233 Lisp_Object domain, | 232 Lisp_Object domain, |
234 Lisp_Object charset); | 233 Lisp_Object charset); |
239 Lisp_Object domain, | 238 Lisp_Object domain, |
240 Lisp_Object face); | 239 Lisp_Object face); |
241 void face_cachel_charset_font_metric_info (struct face_cachel *cachel, | 240 void face_cachel_charset_font_metric_info (struct face_cachel *cachel, |
242 unsigned char *charsets, | 241 unsigned char *charsets, |
243 struct font_metric_info *fm); | 242 struct font_metric_info *fm); |
244 void mark_face_cachels (face_cachel_dynarr *elements, | 243 void mark_face_cachels (face_cachel_dynarr *elements); |
245 void (*markobj) (Lisp_Object)); | |
246 void mark_face_cachels_as_clean (struct window *w); | 244 void mark_face_cachels_as_clean (struct window *w); |
247 void mark_face_cachels_as_not_updated (struct window *w); | 245 void mark_face_cachels_as_not_updated (struct window *w); |
248 void reset_face_cachel (struct face_cachel *inst); | 246 void reset_face_cachel (struct face_cachel *inst); |
249 void reset_face_cachels (struct window *w); | 247 void reset_face_cachels (struct window *w); |
250 face_index get_builtin_face_cache_index (struct window *w, | 248 face_index get_builtin_face_cache_index (struct window *w, |
258 EXFUN (Ffind_face, 1); | 256 EXFUN (Ffind_face, 1); |
259 EXFUN (Fget_face, 1); | 257 EXFUN (Fget_face, 1); |
260 | 258 |
261 extern Lisp_Object Qstrikethru, Vbuilt_in_face_specifiers, Vdefault_face; | 259 extern Lisp_Object Qstrikethru, Vbuilt_in_face_specifiers, Vdefault_face; |
262 extern Lisp_Object Vleft_margin_face, Vpointer_face, Vright_margin_face; | 260 extern Lisp_Object Vleft_margin_face, Vpointer_face, Vright_margin_face; |
263 extern Lisp_Object Vtext_cursor_face, Vvertical_divider_face; | 261 extern Lisp_Object Vtext_cursor_face, Vvertical_divider_face; |
264 extern Lisp_Object Vtoolbar_face, Vgui_element_face, Vwidget_face; | 262 extern Lisp_Object Vtoolbar_face, Vgui_element_face, Vwidget_face; |
265 | 263 |
266 void mark_all_faces_as_clean (void); | 264 void mark_all_faces_as_clean (void); |
267 void init_frame_faces (struct frame *f); | 265 void init_frame_faces (struct frame *f); |
268 void init_device_faces (struct device *d); | 266 void init_device_faces (struct device *d); |
358 FACE_PROPERTY_INSTANCE (face, Qdisplay_table, domain, 0, Qzero) | 356 FACE_PROPERTY_INSTANCE (face, Qdisplay_table, domain, 0, Qzero) |
359 #define FACE_BACKGROUND_PIXMAP(face, domain) \ | 357 #define FACE_BACKGROUND_PIXMAP(face, domain) \ |
360 FACE_PROPERTY_INSTANCE (face, Qbackground_pixmap, domain, 0, Qzero) | 358 FACE_PROPERTY_INSTANCE (face, Qbackground_pixmap, domain, 0, Qzero) |
361 #define FACE_UNDERLINE_P(face, domain) \ | 359 #define FACE_UNDERLINE_P(face, domain) \ |
362 (!NILP (FACE_PROPERTY_INSTANCE (face, Qunderline, domain, 0, Qzero))) | 360 (!NILP (FACE_PROPERTY_INSTANCE (face, Qunderline, domain, 0, Qzero))) |
361 #define FACE_STRIKETHRU_P(face, domain) \ | |
362 (!NILP (FACE_PROPERTY_INSTANCE (face, Qstrikethru, domain, 0, Qzero))) | |
363 #define FACE_HIGHLIGHT_P(face, domain) \ | 363 #define FACE_HIGHLIGHT_P(face, domain) \ |
364 (!NILP (FACE_PROPERTY_INSTANCE (face, Qhighlight, domain, 0, Qzero))) | 364 (!NILP (FACE_PROPERTY_INSTANCE (face, Qhighlight, domain, 0, Qzero))) |
365 #define FACE_DIM_P(face, domain) \ | 365 #define FACE_DIM_P(face, domain) \ |
366 (!NILP (FACE_PROPERTY_INSTANCE (face, Qdim, domain, 0, Qzero))) | 366 (!NILP (FACE_PROPERTY_INSTANCE (face, Qdim, domain, 0, Qzero))) |
367 #define FACE_BLINKING_P(face, domain) \ | 367 #define FACE_BLINKING_P(face, domain) \ |
368 (!NILP (FACE_PROPERTY_INSTANCE (face, Qblinking, domain, 0, Qzero))) | 368 (!NILP (FACE_PROPERTY_INSTANCE (face, Qblinking, domain, 0, Qzero))) |
369 #define FACE_REVERSE_P(face, domain) \ | 369 #define FACE_REVERSE_P(face, domain) \ |
370 (!NILP (FACE_PROPERTY_INSTANCE (face, Qreverse, domain, 0, Qzero))) | 370 (!NILP (FACE_PROPERTY_INSTANCE (face, Qreverse, domain, 0, Qzero))) |
371 | 371 |
372 #endif /* _XEMACS_FACES_H_ */ | 372 #endif /* INCLUDED_faces_h_ */ |