Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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 }
Generated on Tue Jul 12 2022 19:04:21 by
1.7.2