void Application::generate_profiler_text() { vec2 position = vec2(100, 100); vec2 delta = vec2(0, -20); for (map<string, double>::const_iterator i = profile_entries.begin(); i != profile_entries.end(); ++i, position = position + delta) { const string &tag = i->first; const double &elapsed = i->second; string text = fitToFieldSize(tag + ":", ' ', 16, JUSTIFY_LEFT) + dtos(elapsed) + "ms"; queue_text_for_draw(position, text); } profile_entries.clear(); }
static FileName getScreenShotFileName(const string &prefix) { int highestNumber = 0; const string ext = string(".jpg"); vector<FileName> files = SearchFile(FileName("sshots/"), ext); for (vector<FileName>::const_iterator iter=files.begin(); iter!=files.end(); ++iter) { const string &fileName = iter->str(); const string strNum = fileName.substr(prefix.length(), fileName.length() - prefix.length() - ext.length()); const int number = stoi(strNum); if (number>highestNumber) { highestNumber = number; } } string numberPart = fitToFieldSize(itos(++highestNumber), '0', 5, JUSTIFY_RIGHT); return FileName(string("sshots/") + prefix + numberPart + ext); }