Tracer des diagrammes dans un terminal - retour accueil
git clone git://bebou.netlib.re/boxes
Log | Files | Refs | README |
commit cd38384a002af2c601d40eb4a02c49285c21d069 parent f704741141285a966aeb1c089c55c2a1f0415c3d Auteurice: Arthur Pons <arthur.pons@unistra.fr> Date: Fri, 13 Jun 2025 21:27:06 +0200 On peut supprimer les boites avec clique droit Mais que en cliquant sur leur point d'origine en haut à gauche Pour les boites tracées à l'envers il faut donc cliquer en bas à droite Diffstat:
M | boxes.c | | | 12 | ++++++++---- |
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/boxes.c b/boxes.c @@ -33,9 +33,7 @@ struct box createbox(int x, int y, int w, int h) { } void deletebox(struct box* boxes, int index, int boxescount) { - for (int i=index;i<boxescount-1;i++) { - boxes[i]=boxes[i+1]; - } + for (int i=index;i<boxescount-1;i++) boxes[i]=boxes[i+1]; } int main(int argc, char **argv) { @@ -69,9 +67,15 @@ int main(int argc, char **argv) { break; case 26: /*ctrl+z*/ deletebox(boxes,boxescount-1,boxescount); - boxescount--; + boxescount=max(boxescount-1,0); break; case 65511: /*MouseRight*/ + for(int i=0;i<boxescount;i++) { + if(ev.x==boxes[i].x && ev.y==boxes[i].y) { + deletebox(boxes,i,boxescount); + boxescount=max(boxescount-1,0); + } + } break; } }