src/system/helpers.cpp: Add cutString() function

Origin commit data
------------------
Branch: ni/coolstream
Commit: 71674d0f8a
Author: Michael Liebmann <tuxcode.bbg@gmail.com>
Date: 2016-08-12 (Fri, 12 Aug 2016)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
Michael Liebmann
2016-08-12 19:19:24 +02:00
parent 7f737d3199
commit c3a7bcfd5b
2 changed files with 24 additions and 0 deletions

View File

@@ -438,6 +438,27 @@ std::string trim(std::string &str, const std::string &trimChars /*= " \n\r\t"*/)
return result.erase(0, result.find_first_not_of(trimChars));
}
std::string cutString(const std::string str, Font *msgFont, const int width)
{
std::string ret = str;
ret = trim(ret);
int sw = msgFont->getRenderWidth(ret);
if (sw <= width)
return ret;
else {
std::string z = "...";
int zw = msgFont->getRenderWidth(z);
if (width <= 2*zw)
return ret;
do {
ret = ret.substr(0, ret.length()-1);
sw = msgFont->getRenderWidth(ret);
} while (sw+zw > width);
ret = trim(ret) + z;
}
return ret;
}
std::string strftime(const char *format, const struct tm *tm)
{
char buf[4096];

View File

@@ -37,6 +37,8 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <driver/fontrenderer.h>
int my_system(const char * cmd);
int my_system(int argc, const char *arg, ...); /* argc is number of arguments including command */
@@ -67,6 +69,7 @@ std::string getFileName(std::string &file);
std::string getFileExt(std::string &file);
std::string getNowTimeStr(const char* format);
std::string trim(std::string &str, const std::string &trimChars = " \n\r\t");
std::string cutString(const std::string str, Font *msgFont, const int width);
std::string strftime(const char *format, const struct tm *tm);
std::string strftime(const char *format, time_t when, bool gm = false);
time_t toEpoch(std::string &date);