summaryrefslogtreecommitdiff
path: root/src/haikuterm.c
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-05-08 13:02:00 +0000
committerPo Lu <luangruo@yahoo.com>2022-05-08 13:02:00 +0000
commit4b20ae908bc82d1f0d9e5bc9740a32572ed15018 (patch)
tree224951e321ede160d0510dbf6cee2ca4ce6140bd /src/haikuterm.c
parent2f1410562ea36f1143c9d7b2e1341cef93ae1c19 (diff)
downloademacs-4b20ae908bc82d1f0d9e5bc9740a32572ed15018.tar.gz
Set stipple flags on Haiku as well
* src/haikuterm.c (haiku_draw_glyph_string): Set stipple flag where stipples are actually drawn. (This is different from X.)
Diffstat (limited to 'src/haikuterm.c')
-rw-r--r--src/haikuterm.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/haikuterm.c b/src/haikuterm.c
index 7c1115e0278..16e732fa0da 100644
--- a/src/haikuterm.c
+++ b/src/haikuterm.c
@@ -1860,8 +1860,21 @@ haiku_draw_glyph_string (struct glyph_string *s)
}
}
}
+
haiku_end_clip (s);
BView_draw_unlock (view);
+
+ /* Set the stipple_p flag indicating whether or not a stipple was
+ drawn in s->row. That is the case either when s is a stretch
+ glyph string and s->face->stipple is not NULL, or when
+ s->face->stipple exists and s->hl is not DRAW_CURSOR, and s is
+ not an image. This is different from X. */
+ if (s->first_glyph->type != IMAGE_GLYPH
+ && s->face->stipple
+ && (s->first_glyph->type == STRETCH_GLYPH
+ || s->hl != DRAW_CURSOR))
+ s->row->stipple_p = true;
+
unblock_input ();
}