Mercurial > emacs
changeset 65889:bc4f9a64328d
(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.
author | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
---|---|
date | Fri, 07 Oct 2005 07:38:12 +0000 |
parents | 6706ae85af7d |
children | 1a7a619caf97 |
files | src/dispextern.h |
diffstat | 1 files changed, 16 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/dispextern.h Fri Oct 07 06:46:05 2005 +0000 +++ b/src/dispextern.h Fri Oct 07 07:38:12 2005 +0000 @@ -1182,10 +1182,18 @@ stipple pattern. */ unsigned stippled_p : 1; - /* 1 means only the foreground of this glyph string must be drawn, - and we should use the physical height of the line this glyph - string appears in as clip rect. */ - unsigned for_overlaps_p : 1; +#define OVERLAPS_PRED (1 << 0) +#define OVERLAPS_SUCC (1 << 1) +#define OVERLAPS_BOTH (OVERLAPS_PRED | OVERLAPS_SUCC) +#define OVERLAPS_ERASED_CURSOR (1 << 2) + /* Non-zero means only the foreground of this glyph string must be + drawn, and we should use the physical height of the line this + glyph string appears in as clip rect. If the value is + OVERLAPS_ERASED_CURSOR, the clip rect is restricted to the rect + of the erased cursor. OVERLAPS_PRED and OVERLAPS_SUCC mean we + draw overlaps with the preceding and the succeeding rows, + respectively. */ + unsigned for_overlaps : 3; /* The GC to use for drawing this glyph string. */ #if defined(HAVE_X_WINDOWS) || defined(MAC_OS) @@ -2266,7 +2274,7 @@ This function is called from redraw_overlapping_rows after desired rows have been made current. */ void (*fix_overlapping_area) P_ ((struct window *w, struct glyph_row *row, - enum glyph_row_area area)); + enum glyph_row_area area, int)); #ifdef HAVE_WINDOW_SYSTEM @@ -2664,7 +2672,7 @@ extern struct cursor_pos output_cursor; extern void x_fix_overlapping_area P_ ((struct window *, struct glyph_row *, - enum glyph_row_area)); + enum glyph_row_area, int)); extern void draw_phys_cursor_glyph P_ ((struct window *, struct glyph_row *, enum draw_glyphs_face)); @@ -2682,6 +2690,8 @@ extern void x_draw_vertical_border P_ ((struct window *w)); extern void frame_to_window_pixel_xy P_ ((struct window *, int *, int *)); +extern int get_glyph_string_clip_rects P_ ((struct glyph_string *, + NativeRectangle *, int)); extern void get_glyph_string_clip_rect P_ ((struct glyph_string *, NativeRectangle *nr)); extern Lisp_Object find_hot_spot P_ ((Lisp_Object, int, int));