From d7eb0941e3e8b18d3bb390eda2a43da5bd7dc04d Mon Sep 17 00:00:00 2001 From: Daniel Eichhorn <dani.eichhorn@squix.ch> Date: Sat, 21 May 2016 11:15:43 +0200 Subject: [PATCH] Added convenience method for getStringWidth --- SSD1306.cpp | 8 ++++++++ SSD1306.h | 3 +++ 2 files changed, 11 insertions(+) diff --git a/SSD1306.cpp b/SSD1306.cpp index c71978e..29f8459 100644 --- a/SSD1306.cpp +++ b/SSD1306.cpp @@ -434,6 +434,14 @@ uint16_t SSD1306::getStringWidth(const char* text, uint16_t length) { return max(maxWidth, stringWidth); } +uint16_t SSD1306::getStringWidth(String strUser) { + char* text = utf8ascii(strUser); + uint16_t length = strlen(text); + uint16_t width = getStringWidth(text, length); + free(text); + return width; +} + void SSD1306::setTextAlignment(SSD1306_TEXT_ALIGNMENT textAlignment) { this->textAlignment = textAlignment; } diff --git a/SSD1306.h b/SSD1306.h index 84cb5a9..65f0828 100644 --- a/SSD1306.h +++ b/SSD1306.h @@ -203,6 +203,9 @@ class SSD1306 { // font settings uint16_t getStringWidth(const char* text, uint16_t length); + // Convencience method for the const char version + uint16_t getStringWidth(String text); + // Specifies relative to which anchor point // the text is rendered. Available constants: // TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER, TEXT_ALIGN_RIGHT, TEXT_ALIGN_CENTER_BOTH -- GitLab