My ad-don to display in ANSI code on the debug terminal.
AnsiGraphicalConsole.cpp
- Committer:
- salco
- Date:
- 2017-08-07
- Revision:
- 0:ad081a718bb3
File content as of revision 0:ad081a718bb3:
#include "AnsiGraphicalConsole.h" //#include "debug.h" #include <stdarg.h> #include <stdio.h> void createSLbox(int posX, int posY, int height, int width,const char* title) { //PATCH posX++; posY++; // debug("\x1B[%i;%iH",posY,posX); debug("\u00DA");//┌ for(int i=0; i <= (width-2); i++) debug("\u00C4");//─ debug("\u00BF");//┐ #ifdef CONSOLE_DELAY_TEST wait(5); #endif if(title != 0) { char buffer[10]; int leight= sprintf(buffer,"%s",title); debug("\x1B[%i;%iH",posY+2,posX); debug("\u00C3");//├ for(int i=0; i <= (leight+2); i++) debug("\u00C4");//─ debug("\u00D9");//┘ debug("\x1B[%i;%iH",posY,posX+2+leight+2); debug("\u00C2");//┬ debug("\x1B[%i;%iH",posY+1,posX+2+leight+2); debug("\u00B3");//│ if(leight < width) // si le nom est plus petit que la box tu lafiche { debug("\x1B[%i;%iH",posY+1,posX+2); debug("%s",title);//1 est la pour patcher le multiple instance problem } } #ifdef CONSOLE_DELAY_TEST wait(5); #endif for(int i = 1;i <= (height-2);i++){ debug("\x1B[%i;%iH",posY+i,posX);//debug("\x1B[%i;%iH",posX,posY+i); debug("\u00B3");//│ debug("\x1B[%i;%iH",posY+i,posX+width);//debug("\x1B[%i;%iH",posX+width,posY+i); debug("\u00B3");//│ #ifdef CONSOLE_DELAY_TEST wait(5); #endif } if(title != 0) { debug("\x1B[%i;%iH",posY+2,posX); debug("\u00C3");//├ } #ifdef CONSOLE_DELAY_TEST wait(5); #endif debug("\x1B[%i;%iH",posY+(height-1),posX); debug("\u00C0");//└ for(int i=0; i<=width-2; i++)debug("\u00C4");//─ debug("\u00D9");//┘ } void createDLbox(int posX, int posY, int height, int width,const char* title) { //PATCH posX++; posY++; // debug("\x1B[%i;%iH",posY,posX); debug("\u00C9");//╔ for(int i=0; i <= (width-2); i++) debug("\u00CD");//═ debug("\u00BB");//╗ #ifdef CONSOLE_DELAY_TEST wait(5); #endif if(title != 0) { char buffer[10]; int leight= sprintf(buffer,"%s",title); debug("\x1B[%i;%iH",posY+2,posX); debug("\u00CC");//╠ for(int i=0; i <= (leight+2); i++) debug("\u00CD");//═ debug("\u00BC");//╝ debug("\x1B[%i;%iH",posY,posX+2+leight+2); debug("\u00CB");//╦ debug("\x1B[%i;%iH",posY+1,posX+2+leight+2); debug("\u00BA");//║ if(leight < width) // si le nom est plus petit que la box tu lafiche { debug("\x1B[%i;%iH",posY+1,posX+2); debug("%s",title);//1 est la pour patcher le multiple instance problem } } #ifdef CONSOLE_DELAY_TEST wait(5); #endif for(int i = 1;i <= (height-2);i++){ debug("\x1B[%i;%iH",posY+i,posX);//debug("\x1B[%i;%iH",posX,posY+i); debug("\u00BA");//║ debug("\x1B[%i;%iH",posY+i,posX+width);//debug("\x1B[%i;%iH",posX+width,posY+i); debug("\u00BA");//║ #ifdef CONSOLE_DELAY_TEST wait(5); #endif } if(title != 0) { debug("\x1B[%i;%iH",posY+2,posX); debug("\u00CC");//╠ } #ifdef CONSOLE_DELAY_TEST wait(5); #endif debug("\x1B[%i;%iH",posY+(height-1),posX); debug("\u00C8");//╚ for(int i=0; i<=width-2; i++)debug("\u00CD");//═ debug("\u00BC");//╝ } void clearscreen(void) { debug("\x1B[2J"); //clear screen } void setText(int posX, int posY,const char* title,...) { //PATCH posX++; posY++; // debug("\x1B[%i;%iH",posY,posX); //debug("\x1B[K");// Erase in Line va_list args; va_start(args, title); //debug(title, args); vfprintf(stderr,title, args); va_end(args); }