ttfRenderTextSolid function ttf
Render UTF-8 text at fast quality to a new 8-bit surface.
This function will allocate a new 8-bit, palettized surface. The surface's 0 pixel will be the colorkey, giving a transparent background. The 1 pixel will be set to the text color.
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_Solid_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_Shaded, TTF_RenderText_Blended, and TTF_RenderText_LCD.
\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. \returns a new 8-bit, palettized 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 \sa TTF_RenderText_Shaded \sa TTF_RenderText_Solid \sa TTF_RenderText_Solid_Wrapped
extern SDL_DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Solid(TTF_Font *font, const char *text, size_t length, SDL_Color fg)
Implementation
Pointer<SdlSurface> ttfRenderTextSolid(
Pointer<TtfFont> font,
String? text,
int length,
SdlColor fg,
) {
final ttfRenderTextSolidLookupFunction = _libTtf
.lookupFunction<
Pointer<SdlSurface> Function(
Pointer<TtfFont> font,
Pointer<Utf8> text,
Uint32 length,
SdlColor fg,
),
Pointer<SdlSurface> Function(
Pointer<TtfFont> font,
Pointer<Utf8> text,
int length,
SdlColor fg,
)
>('TTF_RenderText_Solid');
final textPointer = text != null ? text.toNativeUtf8() : nullptr;
final result = ttfRenderTextSolidLookupFunction(
font,
textPointer,
length,
fg,
);
calloc.free(textPointer);
return result;
}