From 540783559d919f287cbef316e36fe854ba84f529 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Mon, 17 Apr 2023 17:52:43 +0200 Subject: fix cursor drawing --- swt.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/swt.c b/swt.c index fadbb4b..a6160fd 100644 --- a/swt.c +++ b/swt.c @@ -225,25 +225,18 @@ wdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) { draw_glyph(og, ox, oy); g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE; - g.bg = defaultfg; - g.fg = defaultbg; switch(win.cursor) { - case 0: - case 1: + case 0: /* Block */ + case 1: case 2: - draw_rect( - win.canvas, - borderpx + cx * win.fontcache->box.width, - borderpx + cy * win.fontcache->box.height, - win.fontcache->box.width, - win.fontcache->box.height, - colors[defaultcursorcolor] - ); + g.bg = defaultfg; + g.fg = defaultbg; draw_glyph(g, cx, cy); break; - case 3: + case 3: /* Underline */ case 4: + draw_glyph(g, cx, cy); draw_rect( win.canvas, borderpx + cx * win.fontcache->box.width, @@ -252,10 +245,10 @@ wdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) { cursorthickness, colors[defaultcursorcolor] ); - draw_glyph(g, cx, cy); break; - case 5: + case 5: /* Bar */ case 6: + draw_glyph(g, cx, cy); draw_rect( win.canvas, borderpx + cx * win.fontcache->box.width, @@ -264,7 +257,6 @@ wdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) { win.fontcache->box.height, colors[defaultcursorcolor] ); - draw_glyph(g, cx, cy); break; } } -- cgit v1.2.3-70-g09d2