Alexandre Salconi-Denis / Mbed 2 deprecated ProjetOctopode

Dependencies:   debug mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers AnsiGraphicalConsole.cpp Source File

AnsiGraphicalConsole.cpp

00001 #include "AnsiGraphicalConsole.h "
00002 #include "debug.h"
00003 
00004 void createSLbox(int posX, int posY, int height, int width,const char* title)
00005 {
00006     //PATCH
00007     posX++;
00008     posY++;
00009     //
00010     
00011     
00012     debug("\x1B[%i;%iH",posY,posX);
00013     debug("\u00DA");//┌
00014     for(int i=0; i <= (width-2); i++) debug("\u00C4");//─
00015     debug("\u00BF");//┐
00016     
00017     #ifdef CONSOLE_DELAY_TEST
00018     wait(5);
00019     #endif
00020     
00021     if(title != 0)
00022     {
00023         char buffer[10];
00024         int leight=  sprintf(buffer,"%s",title);
00025             
00026         debug("\x1B[%i;%iH",posY+2,posX);
00027             debug("\u00C3");//├
00028         for(int i=0; i <= (leight+2); i++) debug("\u00C4");//─   
00029             debug("\u00D9");//┘
00030             
00031         debug("\x1B[%i;%iH",posY,posX+2+leight+2);
00032             debug("\u00C2");//┬
00033          debug("\x1B[%i;%iH",posY+1,posX+2+leight+2);
00034             debug("\u00B3");//│
00035                 
00036         if(leight < width) // si le nom est plus petit que la box tu lafiche 
00037         {
00038          debug("\x1B[%i;%iH",posY+1,posX+2);
00039          debug(1,"%s",title);//1 est la pour patcher le multiple instance problem 
00040         }
00041     }
00042     
00043     #ifdef CONSOLE_DELAY_TEST
00044     wait(5);
00045     #endif
00046            
00047     for(int i = 1;i <= (height-2);i++){
00048     debug("\x1B[%i;%iH",posY+i,posX);//debug("\x1B[%i;%iH",posX,posY+i);
00049             debug("\u00B3");//│
00050         debug("\x1B[%i;%iH",posY+i,posX+width);//debug("\x1B[%i;%iH",posX+width,posY+i);
00051             debug("\u00B3");//│
00052             
00053     #ifdef CONSOLE_DELAY_TEST
00054     wait(5);
00055     #endif
00056     
00057     }
00058     
00059     if(title != 0)
00060     {        
00061         debug("\x1B[%i;%iH",posY+2,posX);
00062             debug("\u00C3");//├
00063     }
00064     
00065     #ifdef CONSOLE_DELAY_TEST
00066     wait(5);
00067     #endif
00068     
00069     
00070     debug("\x1B[%i;%iH",posY+(height-1),posX);
00071         debug("\u00C0");//└
00072         for(int i=0; i<=width-2; i++)debug("\u00C4");//─
00073         debug("\u00D9");//┘
00074         
00075 }
00076 
00077 void createDLbox(int posX, int posY, int height, int width,const char* title)
00078 {
00079     //PATCH
00080     posX++;
00081     posY++;
00082     //
00083     
00084     
00085     debug("\x1B[%i;%iH",posY,posX);
00086     debug("\u00C9");//╔
00087     for(int i=0; i <= (width-2); i++) debug("\u00CD");//═ 
00088     debug("\u00BB");//╗
00089     
00090     #ifdef CONSOLE_DELAY_TEST
00091     wait(5);
00092     #endif
00093     
00094     if(title != 0)
00095     {
00096         char buffer[10];
00097         int leight=  sprintf(buffer,"%s",title);
00098             
00099         debug("\x1B[%i;%iH",posY+2,posX);
00100             debug("\u00CC");//╠
00101         for(int i=0; i <= (leight+2); i++) debug("\u00CD");//═   
00102             debug("\u00BC");//╝
00103             
00104         debug("\x1B[%i;%iH",posY,posX+2+leight+2);
00105             debug("\u00CB");//╦
00106          debug("\x1B[%i;%iH",posY+1,posX+2+leight+2);
00107             debug("\u00BA");//║
00108                 
00109         if(leight < width) // si le nom est plus petit que la box tu lafiche 
00110         {
00111          debug("\x1B[%i;%iH",posY+1,posX+2);
00112          debug(1,"%s",title);//1 est la pour patcher le multiple instance problem 
00113         }
00114     }
00115     
00116     #ifdef CONSOLE_DELAY_TEST
00117     wait(5);
00118     #endif
00119            
00120     for(int i = 1;i <= (height-2);i++){
00121     debug("\x1B[%i;%iH",posY+i,posX);//debug("\x1B[%i;%iH",posX,posY+i);
00122             debug("\u00BA");//║
00123         debug("\x1B[%i;%iH",posY+i,posX+width);//debug("\x1B[%i;%iH",posX+width,posY+i);
00124             debug("\u00BA");//║
00125             
00126     #ifdef CONSOLE_DELAY_TEST
00127     wait(5);
00128     #endif
00129     
00130     }
00131     
00132     if(title != 0)
00133     {        
00134         debug("\x1B[%i;%iH",posY+2,posX);
00135             debug("\u00CC");//╠
00136     }
00137     
00138     #ifdef CONSOLE_DELAY_TEST
00139     wait(5);
00140     #endif
00141     
00142     
00143     debug("\x1B[%i;%iH",posY+(height-1),posX);
00144         debug("\u00C8");//╚
00145         for(int i=0; i<=width-2; i++)debug("\u00CD");//═ 
00146         debug("\u00BC");//╝
00147         
00148 }
00149 
00150 void setText(int posX, int posY,const char* title)
00151 {
00152     //PATCH
00153     posX++;
00154     posY++;
00155     //
00156     debug("\x1B[%i;%iH",posY,posX);
00157     debug(title);
00158     
00159 }