Mercurial > hg > xemacs-beta
comparison src/glyphs.h @ 5118:e0db3c197671 ben-lisp-object
merge up to latest default branch, doesn't compile yet
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 26 Dec 2009 21:18:49 -0600 |
parents | d674024a8674 |
children | d1247f3cc363 |
comparison
equal
deleted
inserted
replaced
5117:3742ea8250b5 | 5118:e0db3c197671 |
---|---|
428 | 428 |
429 /************************************************************************/ | 429 /************************************************************************/ |
430 /* Image Instance Object */ | 430 /* Image Instance Object */ |
431 /************************************************************************/ | 431 /************************************************************************/ |
432 | 432 |
433 DECLARE_LRECORD (image_instance, Lisp_Image_Instance); | 433 DECLARE_LISP_OBJECT (image_instance, Lisp_Image_Instance); |
434 #define XIMAGE_INSTANCE(x) XRECORD (x, image_instance, Lisp_Image_Instance) | 434 #define XIMAGE_INSTANCE(x) XRECORD (x, image_instance, Lisp_Image_Instance) |
435 #define wrap_image_instance(p) wrap_record (p, image_instance) | 435 #define wrap_image_instance(p) wrap_record (p, image_instance) |
436 #define IMAGE_INSTANCEP(x) RECORDP (x, image_instance) | 436 #define IMAGE_INSTANCEP(x) RECORDP (x, image_instance) |
437 #define CHECK_IMAGE_INSTANCE(x) CHECK_RECORD (x, image_instance) | 437 #define CHECK_IMAGE_INSTANCE(x) CHECK_RECORD (x, image_instance) |
438 #define CONCHECK_IMAGE_INSTANCE(x) CONCHECK_RECORD (x, image_instance) | 438 #define CONCHECK_IMAGE_INSTANCE(x) CONCHECK_RECORD (x, image_instance) |
964 unsigned int dirty : 1; /* So that we can selectively | 964 unsigned int dirty : 1; /* So that we can selectively |
965 redisplay changed glyphs. */ | 965 redisplay changed glyphs. */ |
966 }; | 966 }; |
967 typedef struct Lisp_Glyph Lisp_Glyph; | 967 typedef struct Lisp_Glyph Lisp_Glyph; |
968 | 968 |
969 DECLARE_LRECORD (glyph, Lisp_Glyph); | 969 DECLARE_LISP_OBJECT (glyph, Lisp_Glyph); |
970 #define XGLYPH(x) XRECORD (x, glyph, Lisp_Glyph) | 970 #define XGLYPH(x) XRECORD (x, glyph, Lisp_Glyph) |
971 #define wrap_glyph(p) wrap_record (p, glyph) | 971 #define wrap_glyph(p) wrap_record (p, glyph) |
972 #define GLYPHP(x) RECORDP (x, glyph) | 972 #define GLYPHP(x) RECORDP (x, glyph) |
973 #define CHECK_GLYPH(x) CHECK_RECORD (x, glyph) | 973 #define CHECK_GLYPH(x) CHECK_RECORD (x, glyph) |
974 #define CONCHECK_GLYPH(x) CONCHECK_RECORD (x, glyph) | 974 #define CONCHECK_GLYPH(x) CONCHECK_RECORD (x, glyph) |
1065 /************************************************************************/ | 1065 /************************************************************************/ |
1066 | 1066 |
1067 typedef struct glyph_cachel glyph_cachel; | 1067 typedef struct glyph_cachel glyph_cachel; |
1068 struct glyph_cachel | 1068 struct glyph_cachel |
1069 { | 1069 { |
1070 #ifdef NEW_GC | |
1071 struct lrecord_header header; | |
1072 #endif /* NEW_GC */ | |
1070 Lisp_Object glyph; | 1073 Lisp_Object glyph; |
1071 | 1074 |
1072 unsigned int dirty :1; /* I'm copying faces here. I'm not | 1075 unsigned int dirty :1; /* I'm copying faces here. I'm not |
1073 sure why we need two dirty | 1076 sure why we need two dirty |
1074 flags. Maybe because an image | 1077 flags. Maybe because an image |
1079 | 1082 |
1080 unsigned short width; | 1083 unsigned short width; |
1081 unsigned short ascent; | 1084 unsigned short ascent; |
1082 unsigned short descent; | 1085 unsigned short descent; |
1083 }; | 1086 }; |
1087 | |
1088 #ifdef NEW_GC | |
1089 typedef struct glyph_cachel Lisp_Glyph_Cachel; | |
1090 | |
1091 DECLARE_LISP_OBJECT (glyph_cachel, Lisp_Glyph_Cachel); | |
1092 | |
1093 #define XGLYPH_CACHEL(x) \ | |
1094 XRECORD (x, glyph_cachel, Lisp_Glyph_Cachel) | |
1095 #define wrap_glyph_cachel(p) wrap_record (p, glyph_cachel) | |
1096 #define GLYPH_CACHEL_P(x) RECORDP (x, glyph_cachel) | |
1097 #define CHECK_GLYPH_CACHEL(x) CHECK_RECORD (x, glyph_cachel) | |
1098 #define CONCHECK_GLYPH_CACHEL(x) CONCHECK_RECORD (x, glyph_cachel) | |
1099 #endif /* NEW_GC */ | |
1084 | 1100 |
1085 #define CONT_GLYPH_INDEX (glyph_index) 0 | 1101 #define CONT_GLYPH_INDEX (glyph_index) 0 |
1086 #define TRUN_GLYPH_INDEX (glyph_index) 1 | 1102 #define TRUN_GLYPH_INDEX (glyph_index) 1 |
1087 #define HSCROLL_GLYPH_INDEX (glyph_index) 2 | 1103 #define HSCROLL_GLYPH_INDEX (glyph_index) 2 |
1088 #define CONTROL_GLYPH_INDEX (glyph_index) 3 | 1104 #define CONTROL_GLYPH_INDEX (glyph_index) 3 |
1177 int unmap_subwindow_instance_cache_mapper (Lisp_Object key, | 1193 int unmap_subwindow_instance_cache_mapper (Lisp_Object key, |
1178 Lisp_Object value, void* finalize); | 1194 Lisp_Object value, void* finalize); |
1179 | 1195 |
1180 struct expose_ignore | 1196 struct expose_ignore |
1181 { | 1197 { |
1198 #ifdef NEW_GC | |
1199 struct lrecord_header header; | |
1200 #endif /* NEW_GC */ | |
1182 int x, y; | 1201 int x, y; |
1183 int width, height; | 1202 int width, height; |
1184 struct expose_ignore *next; | 1203 struct expose_ignore *next; |
1185 }; | 1204 }; |
1186 | 1205 |
1206 #ifdef NEW_GC | |
1207 DECLARE_LISP_OBJECT (expose_ignore, struct expose_ignore); | |
1208 #define XEXPOSE_IGNORE(x) XRECORD (x, expose_ignore, struct expose_ignore) | |
1209 #define wrap_expose_ignore(p) wrap_record (p, expose_ignore) | |
1210 #define EXPOSE_IGNOREP(x) RECORDP (x, expose_ignore) | |
1211 #define CHECK_EXPOSE_IGNORE(x) CHECK_RECORD (x, expose_ignore) | |
1212 #define CONCHECK_EXPOSE_IGNORE(x) CONCHECK_RECORD (x, expose_ignore) | |
1213 #endif /* NEW_GC */ | |
1214 | |
1187 int check_for_ignored_expose (struct frame* f, int x, int y, int width, | 1215 int check_for_ignored_expose (struct frame* f, int x, int y, int width, |
1188 int height); | 1216 int height); |
1189 extern int hold_ignored_expose_registration; | 1217 extern int hold_ignored_expose_registration; |
1190 | 1218 |
1191 #define ROUND_UP(arg, unit) (((int)((arg) + (unit) - 1) / (int)(unit)) * (int)(unit)) | 1219 #define ROUND_UP(arg, unit) (((int)((arg) + (unit) - 1) / (int)(unit)) * (int)(unit)) |