void printLevelsBar(u8 chRow,u8 chColumn,enum CONSOLE_FONT_COLORS LEVELS_BAR_COLOR,enum CONSOLE_FONT_COLORS ACTIVE_LEVEL_COLOR,unsigned char chActiveLevelIndex,unsigned char chLevelsCount,struct stConsoleCursorLocation *stLevelBarLocation,const char *strFirstLevel,...) { va_list pArguments; unsigned short int intLevelIndex=0; const char *strCurrentLevel=strFirstLevel; va_start(pArguments,strFirstLevel); setFontFgColor((intLevelIndex==chActiveLevelIndex)?ACTIVE_LEVEL_COLOR:LEVELS_BAR_COLOR,CONSOLE_FONT_BOLD); printLocatedText(chRow,chColumn,stLevelBarLocation,"%s",strCurrentLevel); resetPreviousFgColor(); intLevelIndex++; while (intLevelIndex<chLevelsCount) { strCurrentLevel=va_arg(pArguments,const char *); setFontFgColor(LEVELS_BAR_COLOR,CONSOLE_FONT_BOLD); printf(" > "); resetPreviousFgColor(); setFontFgColor((intLevelIndex==chActiveLevelIndex)?ACTIVE_LEVEL_COLOR:LEVELS_BAR_COLOR,CONSOLE_FONT_BOLD); printf("%s",strCurrentLevel); resetPreviousFgColor(); intLevelIndex++; } va_end(pArguments); }
void resetPreviousFgColor() { setFontFgColor(PREVIOUS_FONT_FGCOLOR,PREVIOUS_FONT_WEIGHT); }
void setFontStyle(enum CONSOLE_FONT_COLORS FONT_BGCOLOR,enum CONSOLE_FONT_COLORS FONT_FGCOLOR,enum CONSOLE_FONT_WEIGHTS FONT_WEIGHT) { setFontBgColor(FONT_BGCOLOR); setFontFgColor(FONT_FGCOLOR,FONT_WEIGHT); }