tuit

toolbox pour des tui - retour accueil

git clone git://bebou.netlib.re/tuit

Log | Files | Refs |

commit 88ac7abc0afa74acf9514ea5f8c53984616c85ff
parent d28ca5024c410c37a24d5cb73cf00d8baadcb1e3
Auteurice: Arthur Pons <arthur.pons@unistra.fr>
Date:   Thu, 12 Jun 2025 21:00:28 +0200

Correction support de la souris

Diffstat:
Mchoose.c | 20++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/choose.c b/choose.c @@ -51,7 +51,7 @@ int main(int argc, char **argv) { /* enter */ case 13: tb_shutdown(); - printf(list[curelem]); + printf("%s",list[curelem]); return 0; /* esc */ case 27: @@ -100,20 +100,24 @@ int main(int argc, char **argv) { case 3: /*Mouse*/ switch(ev.key) { case 65512: /*MouseLeft*/ - curelem=start+max(0,min(ev.y,count-1)); + curline=ev.y+1; + curelem=ishown[curline+start-2]; break; case 65511: /*MouseRight*/ - curelem=start+max(0,min(ev.y,count-1)); + curline=ev.y+1; + curelem=ishown[curline+start-2]; tb_shutdown(); - printf(list[curelem]); + printf("%s",list[curelem]); return 0; case 65508: /*MouseWheelUp*/ - if(start!=0) start--; - curelem=max(0,curelem-1); + if(curline==2) start=max(0,start-1); + curline=max(2,curline-1); + curelem=ishown[curline+start-2]; break; case 65507: /*MouseWheelDown*/ - if(curelem-start+1==tb_height()) start++; - curelem=min(count-1,curelem+1); + if(curline==tb_height()) start=start+1; + curline=min(count+1,min(tb_height(),curline+1)); + curelem=ishown[curline+start-2]; break; } }