aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu2005-10-07 07:38:12 +0000
committerYAMAMOTO Mitsuharu2005-10-07 07:38:12 +0000
commit10a07952dc440e65684d1f45dd9a752b6b26ea80 (patch)
treebb99d56585d1e51ad0ece62edcf534c8c843bda8 /src
parent3907c787a12499e7d10d7dec45a0d6a2eb7b09d2 (diff)
downloademacs-10a07952dc440e65684d1f45dd9a752b6b26ea80.tar.gz
emacs-10a07952dc440e65684d1f45dd9a752b6b26ea80.zip
(struct glyph_string): Rename member for_overlaps_p
to for_overlaps. Now occupy 3 bits. (OVERLAPS_PRED, OVERLAPS_SUCC, OVERLAPS_BOTH) (OVERLAPS_ERASED_CURSOR): New defines. (struct redisplay_interface): Add new OVERLAPS arg to member fix_overlapping_area. (x_fix_overlapping_area): Add new OVERLAPS arg. (get_glyph_string_clip_rects): Add extern.
Diffstat (limited to 'src')
-rw-r--r--src/dispextern.h22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index 2fa33e87ebb..63922183a0b 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -1182,10 +1182,18 @@ struct glyph_string
1182 stipple pattern. */ 1182 stipple pattern. */
1183 unsigned stippled_p : 1; 1183 unsigned stippled_p : 1;
1184 1184
1185 /* 1 means only the foreground of this glyph string must be drawn, 1185#define OVERLAPS_PRED (1 << 0)
1186 and we should use the physical height of the line this glyph 1186#define OVERLAPS_SUCC (1 << 1)
1187 string appears in as clip rect. */ 1187#define OVERLAPS_BOTH (OVERLAPS_PRED | OVERLAPS_SUCC)
1188 unsigned for_overlaps_p : 1; 1188#define OVERLAPS_ERASED_CURSOR (1 << 2)
1189 /* Non-zero means only the foreground of this glyph string must be
1190 drawn, and we should use the physical height of the line this
1191 glyph string appears in as clip rect. If the value is
1192 OVERLAPS_ERASED_CURSOR, the clip rect is restricted to the rect
1193 of the erased cursor. OVERLAPS_PRED and OVERLAPS_SUCC mean we
1194 draw overlaps with the preceding and the succeeding rows,
1195 respectively. */
1196 unsigned for_overlaps : 3;
1189 1197
1190 /* The GC to use for drawing this glyph string. */ 1198 /* The GC to use for drawing this glyph string. */
1191#if defined(HAVE_X_WINDOWS) || defined(MAC_OS) 1199#if defined(HAVE_X_WINDOWS) || defined(MAC_OS)
@@ -2266,7 +2274,7 @@ struct redisplay_interface
2266 This function is called from redraw_overlapping_rows after 2274 This function is called from redraw_overlapping_rows after
2267 desired rows have been made current. */ 2275 desired rows have been made current. */
2268 void (*fix_overlapping_area) P_ ((struct window *w, struct glyph_row *row, 2276 void (*fix_overlapping_area) P_ ((struct window *w, struct glyph_row *row,
2269 enum glyph_row_area area)); 2277 enum glyph_row_area area, int));
2270 2278
2271#ifdef HAVE_WINDOW_SYSTEM 2279#ifdef HAVE_WINDOW_SYSTEM
2272 2280
@@ -2664,7 +2672,7 @@ extern int x_stretch_cursor_p;
2664extern struct cursor_pos output_cursor; 2672extern struct cursor_pos output_cursor;
2665 2673
2666extern void x_fix_overlapping_area P_ ((struct window *, struct glyph_row *, 2674extern void x_fix_overlapping_area P_ ((struct window *, struct glyph_row *,
2667 enum glyph_row_area)); 2675 enum glyph_row_area, int));
2668extern void draw_phys_cursor_glyph P_ ((struct window *, 2676extern void draw_phys_cursor_glyph P_ ((struct window *,
2669 struct glyph_row *, 2677 struct glyph_row *,
2670 enum draw_glyphs_face)); 2678 enum draw_glyphs_face));
@@ -2682,6 +2690,8 @@ extern void x_clear_cursor P_ ((struct window *));
2682extern void x_draw_vertical_border P_ ((struct window *w)); 2690extern void x_draw_vertical_border P_ ((struct window *w));
2683 2691
2684extern void frame_to_window_pixel_xy P_ ((struct window *, int *, int *)); 2692extern void frame_to_window_pixel_xy P_ ((struct window *, int *, int *));
2693extern int get_glyph_string_clip_rects P_ ((struct glyph_string *,
2694 NativeRectangle *, int));
2685extern void get_glyph_string_clip_rect P_ ((struct glyph_string *, 2695extern void get_glyph_string_clip_rect P_ ((struct glyph_string *,
2686 NativeRectangle *nr)); 2696 NativeRectangle *nr));
2687extern Lisp_Object find_hot_spot P_ ((Lisp_Object, int, int)); 2697extern Lisp_Object find_hot_spot P_ ((Lisp_Object, int, int));