(x_draw_phys_cursor_glyph): Redraw overlaps.
(x_fix_overlapping_area): New. (x_redisplay_interface): Add x_fix_overlapping_area. (x_draw_glyphs): Add parameter overlaps_p. (struct glyph_string): Add member for_overlaps_p. (x_get_glyph_string_clip_rect): If glyph string draws foreground of overlapping rows, clip to window bottom. (x_fill_glyph_string): Add parameter overlaps_p. (x_fill_composite_glyph_string): Ditto. (BUILD_GLYPH_STRINGS): Ditto. (BUILD_CHAR_GLYPH_STRINGS): Ditto. (x_draw_glyph_string): Don't draw anything but the foreground if glyph string draws row overlaps. (x_append_glyph): Set glyph flag overlaps_vertically_p. (x_produce_image_glyph): Compute iterator's physical ascent and descent. (x_produce_stretch_glyph): Ditto. (x_produce_glyphs): Ditto.
Showing with 224 additions and 100 deletions