mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-25 06:50:46 -08:00
(x_draw_glyph_string): Draw relief (if any) before
drawing glyph string.
This commit is contained in:
parent
f920e581ee
commit
4458cf11f7
1 changed files with 17 additions and 2 deletions
19
src/xterm.c
19
src/xterm.c
|
|
@ -4252,6 +4252,8 @@ static void
|
|||
x_draw_glyph_string (s)
|
||||
struct glyph_string *s;
|
||||
{
|
||||
int relief_drawn_p = 0;
|
||||
|
||||
/* If S draws into the background of its successor, draw the
|
||||
background of the successor first so that S can draw into it.
|
||||
This makes S->next use XDrawString instead of XDrawImageString. */
|
||||
|
|
@ -4267,6 +4269,19 @@ x_draw_glyph_string (s)
|
|||
x_set_glyph_string_gc (s);
|
||||
x_set_glyph_string_clipping (s);
|
||||
|
||||
/* Draw relief (if any) in advance for char/composition so that the
|
||||
glyph string can be drawn over it. */
|
||||
if (!s->for_overlaps_p
|
||||
&& s->face->box != FACE_NO_BOX
|
||||
&& (s->first_glyph->type == CHAR_GLYPH
|
||||
|| s->first_glyph->type == COMPOSITE_GLYPH))
|
||||
|
||||
{
|
||||
x_draw_glyph_string_background (s, 1);
|
||||
x_draw_glyph_string_box (s);
|
||||
relief_drawn_p = 1;
|
||||
}
|
||||
|
||||
switch (s->first_glyph->type)
|
||||
{
|
||||
case IMAGE_GLYPH:
|
||||
|
|
@ -4377,8 +4392,8 @@ x_draw_glyph_string (s)
|
|||
}
|
||||
}
|
||||
|
||||
/* Draw relief. */
|
||||
if (s->face->box != FACE_NO_BOX)
|
||||
/* Draw relief if not yet drawn. */
|
||||
if (!relief_drawn_p && s->face->box != FACE_NO_BOX)
|
||||
x_draw_glyph_string_box (s);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue