#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS #include #include #include #include "ui.h" ui_infos * init_ui(char *name) { ui_infos *ret = (ui_infos *) malloc(sizeof(ui_infos)); ret->name = (char *) malloc(strlen(name)); strcpy(ret->name, name); ret->file = fopen(name, "w+"); ret->is_recording = 0; } void free_ui(ui_infos *ptr) { if (ptr->file != NULL) fclose(ptr->file); if (ptr->name != NULL) free(ptr->name); free(ptr); } int draw_ui(ui_infos *ptr) { /* en plein écran */ ImGuiViewport *vp = igGetMainViewport(); igSetNextWindowPos(vp->Pos, NULL, (ImVec2) { 0, 0 }); igSetNextWindowSize(vp->Size, NULL); /* * Choix du fichier * * Bouton enregistrement * * Bouton de rewind (bloqué si pas de fichiers) * * Liste déroulantes des fenetres pour savoir où faire les clics */ igText("Fichier : %s", ptr->name); igBegin("Test", NULL, ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoDecoration); igText("Test"); if (ptr->is_recording) { igButton("Appuyer sur les clics droit et gauche pour arrêter d'enregistrer.", (ImVec2) { 0, 0 }); ptr->is_recording = listen(ptr->file); if (ptr->is_recording) { fprintf(stderr, "listen a eu un soucis."); return -1; } } else { if (igButton("Lancer l'enregistrement.", (ImVec2) { 0, 0 })) { ptr->is_recording = 1; } } igEnd(); return 0; }