renderTextLcd method
Render UTF-8 text at LCD subpixel quality to a new ARGB surface.
This function will allocate a new 32-bit, ARGB surface, and render alpha-blended text using FreeType's LCD subpixel rendering. This function returns the new surface, or NULL if there was an error.
This will not word-wrap the string; you'll get a surface with a single line of text, as long as the string requires. You can use TTF_RenderText_LCD_Wrapped() instead if you need to wrap the output to multiple lines.
This will not wrap on newline characters.
You can render at other quality levels with TTF_RenderText_Solid, TTF_RenderText_Shaded, and TTF_RenderText_Blended.
\param font the font to render with. \param text text to render, in UTF-8 encoding. \param length the length of the text, in bytes, or 0 for null terminated text. \param fg the foreground color for the text. \param bg the background color for the text. \returns a new 32-bit, ARGB surface, or NULL if there was an error.
\threadsafety This function should be called on the thread that created the font.
\since This function is available since SDL_ttf 3.0.0.
\sa TTF_RenderText_Blended \sa TTF_RenderText_LCD_Wrapped \sa TTF_RenderText_Shaded \sa TTF_RenderText_Solid
extern SDL_DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_LCD(TTF_Font *font, const char *text, size_t length, SDL_Color fg, SDL_Color bg)
Implementation
Pointer<SdlSurface> renderTextLcd(
String? text, int length, SdlColor fg, SdlColor bg) {
var length = 0;
if (text != null) {
var pointer = text.toNativeUtf8();
length = pointer.length;
calloc.free(pointer);
}
return ttfRenderTextLcd(this, text, length, fg, bg);
}