renderTextLcdWrapped method

Pointer<SdlSurface> renderTextLcdWrapped(
  1. String? text,
  2. int length,
  3. SdlColor fg,
  4. SdlColor bg,
  5. int wrapLength,
)

Render word-wrapped 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.

Text is wrapped to multiple lines on line endings and on word boundaries if it extends beyond wrap_width in pixels.

If wrap_width is 0, this function will only wrap on newline characters.

You can render at other quality levels with TTF_RenderText_Solid_Wrapped, TTF_RenderText_Shaded_Wrapped, and TTF_RenderText_Blended_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 bg the background color for the text. \param wrap_width the maximum width of the text surface or 0 to wrap on newline characters. \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_Wrapped \sa TTF_RenderText_LCD \sa TTF_RenderText_Shaded_Wrapped \sa TTF_RenderText_Solid_Wrapped

extern SDL_DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_LCD_Wrapped(TTF_Font *font, const char *text, size_t length, SDL_Color fg, SDL_Color bg, int wrap_width)

Implementation

Pointer<SdlSurface> renderTextLcdWrapped(
    String? text, int length, SdlColor fg, SdlColor bg, int wrapLength) {
  var length = 0;
  if (text != null) {
    var pointer = text.toNativeUtf8();
    length = pointer.length;
    calloc.free(pointer);
  }
  return ttfRenderTextLcdWrapped(this, text, length, fg, bg, wrapLength);
}