TouchGFX + 0/4 examples
CodeScope will show references to touchgfx::TextProvider from the following samples and libraries:
Examples
STM32469I-Discovery
Demonstrations
STM32469I_EVAL
Demonstrations
STM324x9I_EVAL
Demonstrations
STM32F429I-Discovery
Demonstrations
 
Symbols
loading...
Files
loading...

touchgfx::TextProvider class

@class TextProvider TextProvider.hpp touchgfx/TextProvider.hpp The TextProvider is used in drawing basic and wildcard strings. The TextProvider is used in drawing basic and wildcard strings. The TextProvider enables wildcard expansion of the string at the time it is written to the LCD. It provides printf formatted text strings one character at the time, without the need for a user provided buffer to store the text string.

Syntax

class TextProvider { public:     static const uint32_t MAX_32BIT_INTEGER_DIGITS = 33U;      TextProvider();     void initialize(const Unicode::UnicodeChar* format, va_list pArg);     Unicode::UnicodeChar getNextChar();     Unicode::UnicodeChar getNextLigature(TextDirection direction); private:     Unicode::UnicodeChar getNextCharInternal();     const Unicode::UnicodeChar* original_format_string;     const Unicode::UnicodeChar* format;     va_list pArg;     const Unicode::UnicodeChar* substringPointer;     bool isWritingWildcard;     Unicode::UnicodeChar nextCharacter[2];     typedef void (TextProvider::*UnicodeConverterInitFunctionPointer)();     typedef Unicode::UnicodeChar(TextProvider::*UnicodeConverterFunctionPointer)(const Unicode::UnicodeChar currChar, const Unicode::UnicodeChar nextChar[2], const TextDirection direction);     static UnicodeConverterInitFunctionPointer unicodeConverterInitFunction;     static UnicodeConverterFunctionPointer unicodeConverterFunction;     void initializeInternal();     void unicodeConverterInit();     Unicode::UnicodeChar unicodeConverter(const Unicode::UnicodeChar currChar, const Unicode::UnicodeChar nextChar[2], const TextDirection direction);     bool isContextualBeginning;     uint8_t emitZeroWidthChar;     static Unicode::UnicodeChar contextualFormsTwoLong[][5];     static Unicode::UnicodeChar contextualForms0621_063a[][4];     static Unicode::UnicodeChar contextualForms0641_064a[][4];     static Unicode::UnicodeChar contextualForms0671_06d3[][5]; };

Fields

MAX_32BIT_INTEGER_DIGITS

No summary provided. Read more...

original_format_string

No summary provided. Read more...

format

No summary provided. Read more...

pArg

No summary provided. Read more...

substringPointer

No summary provided. Read more...

isWritingWildcard

No summary provided. Read more...

contextualFormsTwoLong

No summary provided. Read more...

contextualForms0621_063a

No summary provided. Read more...

contextualForms0641_064a

No summary provided. Read more...

contextualForms0671_06d3

No summary provided. Read more...

nextCharacter

No summary provided. Read more...

unicodeConverterInitFunction

No summary provided. Read more...

unicodeConverterFunction

No summary provided. Read more...

isContextualBeginning

No summary provided. Read more...

emitZeroWidthChar

No summary provided. Read more...

Methods

initialize()

@fn void TextProvider::initialize(const Unicode::UnicodeChar* format, va_list pArg); Initializes the TextProvider. Initializes the TextProvider. Each '\2' character in the format is replaced by one UnicodeChar* argument from pArg. Read more...

getNextChar()

@fn Unicode::UnicodeChar TextProvider::getNextChar(TextDirection direction = TEXT_DIRECTION_LTR); Gets the next character. Gets the next character. @see TextProvider::getNextLigature(). Read more...

getNextLigature()

@fn Unicode::UnicodeChar TextProvider::getNextLigature(TextDirection direction); Gets the next ligature. Gets the next ligature. For most languages this is the same as getNextChar() but eg. Arabic has different ligatures for each character. @see TextProvider::getNextChar(). Read more...

getNextCharInternal()

No summary provided. Read more...

initializeInternal()

No summary provided. Read more...

unicodeConverterInit()

No summary provided. Read more...

unicodeConverter()

No summary provided. Read more...

Examples

touchgfx::TextProvider is referenced by 4 libraries and example projects.

References

LocationReferrerScopeText
TextProvider.hpp:35
class TextProvider
LCD.hpp:555touchgfx::LCD::stringWidth()::textProvidertouchgfx::LCD::stringWidth()
static uint16_t stringWidth(TextProvider& textProvider, const Font& font, const int numChars, TextDirection textDirection);
LCD.hpp:573touchgfx::LCD::getNumLines()::textProvidertouchgfx::LCD::getNumLines()
LCD.hpp:591touchgfx::LCD::DrawStringInternalStruct::drawTextProvidertouchgfx::LCD::DrawStringInternalStruct
TextProvider* drawTextProvider;
LCD.hpp:598widthTextProvider
typedef void (LCD::*DrawStringInternalFunctionPointer)(int16_t& offset, const Font* font, const TextDirection textDirection, TextProvider& widthTextProvider, const int numChars, const bool useEllipsis, DrawStringInternalStruct const* data);
LCD.hpp:599touchgfx::LCD::drawStringRTLLine()::textProvidertouchgfx::LCD::drawStringRTLLine()
LCD.hpp:600touchgfx::LCD::drawStringWidthInternal()::textProvidertouchgfx::LCD::drawStringWidthInternal()
void drawStringWidthInternal(int16_t& offset, const Font* font, const TextDirection textDirection, TextProvider& textProvider, const int numChars, const bool useEllipsis, DrawStringInternalStruct const* data);
LCD.hpp:601touchgfx::LCD::drawStringRTLInternal()::widthTextProvidertouchgfx::LCD::drawStringRTLInternal()
void drawStringRTLInternal(int16_t& offset, const Font* font, const TextDirection textDirection, TextProvider& widthTextProvider, const int numChars, const bool useEllipsis, DrawStringInternalStruct const* data);
LCD.hpp:602touchgfx::LCD::drawStringInternal()::textProvidertouchgfx::LCD::drawStringInternal()
bool drawStringInternal(uint16_t* frameBuffer, Rect const* widgetArea, int16_t widgetRectY, int16_t& offset, const Rect& invalidatedArea, StringVisuals const* stringVisuals, const TextDirection textDirection, TextProvider& textProvider, const int numChars, bool useEllipsis);
LCD.hpp:607touchgfx::LCD::WideTextInternalStruct::WideTextInternalStruct()
LCD.hpp:640touchgfx::LCD::WideTextInternalStruct::textProvidertouchgfx::LCD::WideTextInternalStruct
TextProvider& textProvider;