ttfRenderTextSolidWrapped function
Render word-wrapped Latin1 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 almost certainly want TTF_RenderUTF8_Solid_Wrapped() unless you're sure
you have a 1-byte Latin1 encoding. US ASCII characters will work with
either function, but most other Unicode characters packed into a const char *
will need UTF-8.
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 Latin1 encoding. \param fg the foreground color for the text. \returns a new 8-bit, palettized surface, or NULL if there was an error.
\since This function is available since SDL_ttf 2.0.18.
\sa TTF_RenderUTF8_Solid_Wrapped \sa TTF_RenderUNICODE_Solid_Wrapped
extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Solid_Wrapped(TTF_Font *font, const char *text, SDL_Color fg, Uint32 wrapLength)
Implementation
Pointer<SdlSurface> ttfRenderTextSolidWrapped(
Pointer<TtfFont> font, String? text, SdlColor fg, int wrapLength) {
final ttfRenderTextSolidWrappedLookupFunction = libSdl2Ttf.lookupFunction<
Pointer<SdlSurface> Function(Pointer<TtfFont> font, Pointer<Utf8> text,
SdlColor fg, Uint32 wrapLength),
Pointer<SdlSurface> Function(Pointer<TtfFont> font, Pointer<Utf8> text,
SdlColor fg, int wrapLength)>('TTF_RenderText_Solid_Wrapped');
final textPointer = text != null ? text.toNativeUtf8() : nullptr;
final result = ttfRenderTextSolidWrappedLookupFunction(
font, textPointer, fg, wrapLength);
calloc.free(textPointer);
return result;
}