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))