diff options
author | Po Lu <luangruo@yahoo.com> | 2021-11-29 07:12:25 +0000 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2021-11-29 07:12:25 +0000 |
commit | a1aa9cbf57a08f1c17b92b13a2bf07d504684fcc (patch) | |
tree | 3d82cdbc905949127b439952fe0bb75615e5c3c5 /src | |
parent | 0400b3c329b4bcfaea68ab24ae2d1857707a983d (diff) | |
download | emacs-a1aa9cbf57a08f1c17b92b13a2bf07d504684fcc.tar.gz emacs-a1aa9cbf57a08f1c17b92b13a2bf07d504684fcc.tar.bz2 emacs-a1aa9cbf57a08f1c17b92b13a2bf07d504684fcc.zip |
Make overhangs in ftcrfont work on Haiku
* src/ftcrfont.c (ftcrfont_draw): Dump left overhang clipping
on Haiku and always set `background_filled_p'.
Diffstat (limited to 'src')
-rw-r--r-- | src/ftcrfont.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/ftcrfont.c b/src/ftcrfont.c index 5d75f183570..820b3c0bd0c 100644 --- a/src/ftcrfont.c +++ b/src/ftcrfont.c @@ -539,13 +539,19 @@ ftcrfont_draw (struct glyph_string *s, return 0; } BView_cr_dump_clipping (FRAME_HAIKU_VIEW (f), cr); + + if (s->left_overhang && s->clip_head && !s->for_overlaps) + { + cairo_rectangle (cr, s->clip_head->x, 0, + FRAME_PIXEL_WIDTH (f), FRAME_PIXEL_HEIGHT (f)); + cairo_clip (cr); + } #endif if (with_background) { #ifndef USE_BE_CAIRO x_set_cr_source_with_gc_background (f, s->gc); - s->background_filled_p = 1; #else struct face *face = s->face; @@ -556,6 +562,7 @@ ftcrfont_draw (struct glyph_string *s, GREEN_FROM_ULONG (col) / 255.0, BLUE_FROM_ULONG (col) / 255.0); #endif + s->background_filled_p = 1; cairo_rectangle (cr, x, y - FONT_BASE (face->font), s->width, FONT_HEIGHT (face->font)); cairo_fill (cr); |