aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew Innes2001-08-14 11:46:33 +0000
committerAndrew Innes2001-08-14 11:46:33 +0000
commit858a55c1e1399663b15f6da44620e408b47ea343 (patch)
treeeac7a36160baf0f28ad85c8b4521c0be63350f92 /src
parent3a990b67be9f6f382a623448e475883556695ced (diff)
downloademacs-858a55c1e1399663b15f6da44620e408b47ea343.tar.gz
emacs-858a55c1e1399663b15f6da44620e408b47ea343.zip
Draw relief (if any) before
drawing glyph string.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/w32term.c17
2 files changed, 21 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 1d8a3bd1269..c6d75ebab31 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12001-08-14 Andrew Innes <andrewi@gnu.org>
2
3 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
4 drawing glyph string.
5
12001-08-14 Eli Zaretskii <eliz@is.elta.co.il> 62001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2 7
3 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series 8 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
diff --git a/src/w32term.c b/src/w32term.c
index 085d1e2e898..372c702ecf3 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -4300,6 +4300,8 @@ static void
4300x_draw_glyph_string (s) 4300x_draw_glyph_string (s)
4301 struct glyph_string *s; 4301 struct glyph_string *s;
4302{ 4302{
4303 int relief_drawn_p = 0;
4304
4303 /* If S draws into the background of its successor, draw the 4305 /* If S draws into the background of its successor, draw the
4304 background of the successor first so that S can draw into it. 4306 background of the successor first so that S can draw into it.
4305 This makes S->next use XDrawString instead of XDrawImageString. */ 4307 This makes S->next use XDrawString instead of XDrawImageString. */
@@ -4315,6 +4317,19 @@ x_draw_glyph_string (s)
4315 x_set_glyph_string_gc (s); 4317 x_set_glyph_string_gc (s);
4316 x_set_glyph_string_clipping (s); 4318 x_set_glyph_string_clipping (s);
4317 4319
4320 /* Draw relief (if any) in advance for char/composition so that the
4321 glyph string can be drawn over it. */
4322 if (!s->for_overlaps_p
4323 && s->face->box != FACE_NO_BOX
4324 && (s->first_glyph->type == CHAR_GLYPH
4325 || s->first_glyph->type == COMPOSITE_GLYPH))
4326
4327 {
4328 x_draw_glyph_string_background (s, 1);
4329 x_draw_glyph_string_box (s);
4330 relief_drawn_p = 1;
4331 }
4332
4318 switch (s->first_glyph->type) 4333 switch (s->first_glyph->type)
4319 { 4334 {
4320 case IMAGE_GLYPH: 4335 case IMAGE_GLYPH:
@@ -4403,7 +4418,7 @@ x_draw_glyph_string (s)
4403 } 4418 }
4404 4419
4405 /* Draw relief. */ 4420 /* Draw relief. */
4406 if (s->face->box != FACE_NO_BOX) 4421 if (!relief_drawn_p && s->face->box != FACE_NO_BOX)
4407 x_draw_glyph_string_box (s); 4422 x_draw_glyph_string_box (s);
4408 } 4423 }
4409 4424