ttfRenderTextSolidWrapped function
Render word-wrapped 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.
Text is wrapped to multiple lines on line endings and on word boundaries if
it extends beyond wrapLength
in pixels.
If wrapLength is 0, this function will only wrap on newline characters.
You can render at other quality levels with TTF_RenderText_Shaded_Wrapped, TTF_RenderText_Blended_Wrapped, and TTF_RenderText_LCD_Wrapped.
\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 wrapLength the maximum width of the text surface or 0 to wrap on newline characters. \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_Wrapped \sa TTF_RenderText_LCD_Wrapped \sa TTF_RenderText_Shaded_Wrapped \sa TTF_RenderText_Solid
extern SDL_DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Solid_Wrapped(TTF_Font *font, const char *text, size_t length, SDL_Color fg, int wrapLength)
Implementation
Pointer<SdlSurface> ttfRenderTextSolidWrapped(Pointer<TtfFont> font,
String? text, int length, SdlColor fg, int wrapLength) {
final ttfRenderTextSolidWrappedLookupFunction = libSdl3Ttf.lookupFunction<
Pointer<SdlSurface> Function(Pointer<TtfFont> font, Pointer<Utf8> text,
Uint32 length, SdlColor fg, Int32 wrapLength),
Pointer<SdlSurface> Function(
Pointer<TtfFont> font,
Pointer<Utf8> text,
int length,
SdlColor fg,
int wrapLength)>('TTF_RenderText_Solid_Wrapped');
final textPointer = text != null ? text.toNativeUtf8() : nullptr;
final result = ttfRenderTextSolidWrappedLookupFunction(
font, textPointer, length, fg, wrapLength);
calloc.free(textPointer);
return result;
}