diff options
Diffstat (limited to 'dw/fltkplatform.cc')
-rw-r--r-- | dw/fltkplatform.cc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/dw/fltkplatform.cc b/dw/fltkplatform.cc index 68819c91..cc093d37 100644 --- a/dw/fltkplatform.cc +++ b/dw/fltkplatform.cc @@ -553,6 +553,36 @@ int FltkPlatform::textWidth (core::style::Font *font, const char *text, return width; } +char *FltkPlatform::textToUpper (const char *text, int len) +{ + char *newstr = NULL; + + if (len > 0) { + int newlen; + + newstr = (char*) malloc(3 * len + 1); + newlen = fl_utf_toupper((const unsigned char*)text, len, newstr); + assert(newlen <= 3 * len); + newstr[newlen] = '\0'; + } + return newstr; +} + +char *FltkPlatform::textToLower (const char *text, int len) +{ + char *newstr = NULL; + + if (len > 0) { + int newlen; + + newstr = (char*) malloc(3 * len + 1); + newlen = fl_utf_tolower((const unsigned char*)text, len, newstr); + assert(newlen <= 3 * len); + newstr[newlen] = '\0'; + } + return newstr; +} + int FltkPlatform::nextGlyph (const char *text, int idx) { return fl_utf8fwd (&text[idx + 1], text, &text[strlen (text)]) - text; |