Mercurial > hg > xemacs-beta
comparison src/glyphs.h @ 3092:141c2920ea48
[xemacs-hg @ 2005-11-25 01:41:31 by crestani]
Incremental Garbage Collector
author | crestani |
---|---|
date | Fri, 25 Nov 2005 01:42:08 +0000 |
parents | 1e7cc382eb16 |
children | d674024a8674 |
comparison
equal
deleted
inserted
replaced
3091:c22d8984148c | 3092:141c2920ea48 |
---|---|
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 /* not 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_LRECORD (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_LRECORD (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)) |