void TimerFunction(int Value) { if (0 != Value) { std::stringstream ss; ss << WINDOW_TITLE_PREFIX << ": " << ::g_FrameCount * 4 << " FPS, screen( " << ::g_screenWidth << ", " // << CurrentWidth << " x " << ::g_screenHeight <<" ) "; // << CurrentHeight; ss << GetModeString(); // Set the "mode" title glutSetWindowTitle(ss.str().c_str()); } ::g_FrameCount = 0; // FrameCount = 0; glutTimerFunc(250, TimerFunction, 1); return; }
void drawFileBrowser() { te->renderText(8.0f, 8.0f, 0.5f, 0.5f, false, std::string("Current Path:" + currentPath + " View Offset: " + SSTR(viewOffset) + " Cur: " + SSTR(currentSelection) + " Mode: " + GetModeString()).c_str()); for(int i = viewOffset; i < entries.size(); i++) { if(selectedEntries[(currentPath + entries[i]->name)]) { te->setTextColor(0x68B0D8FF); } else { te->setTextColor(0xFFFFFFFF); } if(i == currentSelection) { if(entries[i]->isDirectory) { te->renderText(8.0f, (16.0f * i) - (viewOffset * 16.0f) + 16.0f, 0.5f, 0.5f, false, std::string(">[" + Utility::truncate(entries[i]->name, 65, true) + "]").c_str()); } else { te->renderText(8.0f, (16.0f * i) - (viewOffset * 16.0f) + 16.0f, 0.5f, 0.5f, false, std::string(">" + Utility::truncate(entries[i]->name, 65, true)).c_str()); } } else { if(entries[i]->isDirectory) { te->renderText(8.0f, (16.0f * i) - (viewOffset * 16.0f) + 16.0f, 0.5f, 0.5f, false, std::string("[" + Utility::truncate(entries[i]->name, 65, true) + "]").c_str()); } else { te->renderText(8.0f, (16.0f * i) - (viewOffset * 16.0f) + 16.0f, 0.5f, 0.5f, false, std::string(Utility::truncate(entries[i]->name, 65, true)).c_str()); } } } if(entries.size() <= 0) { te->renderText(8.0f, 32.0f, 0.5f, 0.5f, false, "Directory is empty!"); } }
/* * UpdateStatusWindow - update the status window */ void UpdateStatusWindow( void ) { char *str, *ptr; char result[5 * MAX_STR]; char *res; int digits; long num; bool use_num; int line; char numstr[12]; int format; char c; if( BAD_ID( status_window_id ) || EditFlags.DisplayHold || EditFlags.Quiet || !EditFlags.StatusInfo || EditVars.StatusString == NULL ) { return; } res = result; line = 1; format = FMT_LEFT; EditFlags.ModeInStatusLine = false; for( str = EditVars.StatusString; (c = *str) != '\0'; ++str ) { if( c == '$' ) { str++; ptr = str; while( isdigit( *str ) ) { str++; } if( ptr != str ) { digits = strtoul( ptr, NULL, 10 ); } else { digits = 0; } use_num = false; num = 0; c = *str; if( c == '\0' ) break; switch( c ) { case '$': *res++ = '$'; break; case 'c': *res++ = ','; break; case 'n': *res = 0; StatusLine( line, result, format ); res = result; line++; break; case 'L': num = CurrentPos.line; use_num = true; break; case 'C': num = VirtualColumnOnCurrentLine( CurrentPos.column ); use_num = true; break; case 'D': #ifdef __WIN__ GetDateString( res ); #else GetDateTimeString( res ); #endif res += strlen( res ); break; case 'T': GetTimeString( res ); res += strlen( res ); break; case 'M': /* print the desired mode */ EditFlags.ModeInStatusLine = true; GetModeString( res ); res += strlen( res ); break; #ifdef __WIN__ case 'H': GetMenuHelpString( res ); res += strlen( res ); break; case '[': *res++ = STATUS_ESC_CHAR; *res++ = STATUS_NEXT_BLOCK; break; case '|': *res++ = STATUS_ESC_CHAR; *res++ = STATUS_FORMAT_CENTER; break; case '>': *res++ = STATUS_ESC_CHAR; *res++ = STATUS_FORMAT_RIGHT; break; case '<': *res++ = STATUS_ESC_CHAR; *res++ = STATUS_FORMAT_LEFT; break; #else case '|': format = FMT_CENTRE; break; case '>': format = FMT_RIGHT; break; case '<': format = FMT_LEFT; break; #endif } if( use_num ) { ltoa( num, numstr, 10 ); digits -= strlen( numstr ); while( digits > 0 ) { *res++ = ' '; digits--; } ptr = numstr; while( *ptr != '\0' ) { *res++ = *ptr++; } } } else { *res++ = c; } } *res = 0; if( res != result ) { StatusLine( line, result, format ); } } /* UpdateStatusWindow */