Commit 10a07952 authored by YAMAMOTO Mitsuharu's avatar YAMAMOTO Mitsuharu
Browse files

(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.
parent 3907c787
......@@ -1182,10 +1182,18 @@ struct glyph_string
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 @@ struct redisplay_interface
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 int x_stretch_cursor_p;
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_clear_cursor P_ ((struct window *));
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));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment