fix kouho selection.

This commit is contained in:
Hojun-Cho 2026-02-08 17:01:35 +09:00
parent d5d3c23f3e
commit d16b17b4c8
2 changed files with 11 additions and 4 deletions

View File

@ -24,7 +24,7 @@ static void
clearkouho(void)
{
im.nkouho = 0;
im.sel = 0;
im.sel = -1;
}
static void
@ -200,7 +200,7 @@ keystroke(u32int ks, u32int mod, Str *com)
return 0;
if(ks == Kdown && im.sel < im.nkouho - 1)
im.sel++;
if(ks == Kup && im.sel > 0)
if(ks == Kup && im.sel >= 0)
im.sel--;
show();
return 1;
@ -257,6 +257,11 @@ keystroke(u32int ks, u32int mod, Str *com)
return 1;
return 0;
}
if(ks == '0' && im.nkouho > 0){
commit(com);
reset();
return 1;
}
if(ks > 0x7f || ks == ' '){
commit(com);
sputr(com, ks);

2
win.c
View File

@ -72,8 +72,10 @@ drawkouho(Drawcmd *dc, int first, int n, int w, int h)
memset(img, (uchar)Colbg, w * h * sizeof(u32int));
drawstr(img, 0, 0, dc->pre.r, dc->pre.n, w, h);
if(dc->sel >= 0){
sely = Fontsz + (dc->sel - first) * Fontsz;
memset(img + sely * w, (uchar)Colsel, Fontsz * w * sizeof(u32int));
}
for(i = 0, y = Fontsz; i < n; i++, y += Fontsz){
s = &dc->kouho[first+i];
putfont(img, w, h, 0, y, '1' + i + Asciitofull);