ttfRenderUnicodeSolidWrapped function

Pointer<SdlSurface> ttfRenderUnicodeSolidWrapped(
  1. Pointer<TtfFont> font,
  2. Pointer<Uint16> text,
  3. SdlColor fg,
  4. int wrapLength,
)

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

Please note that this function is named "Unicode" but currently expects UCS-2 encoding (16 bits per codepoint). This does not give you access to large Unicode values, such as emoji glyphs. These codepoints are accessible through the UTF-8 version of this function.

You can render at other quality levels with TTF_RenderUNICODE_Shaded_Wrapped, TTF_RenderUNICODE_Blended_Wrapped, and TTF_RenderUNICODE_LCD_Wrapped.

\param font the font to render with. \param text text to render, in UCS-2 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

extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUNICODE_Solid_Wrapped(TTF_Font *font, const Uint16 *text, SDL_Color fg, Uint32 wrapLength)

Implementation

Pointer<SdlSurface> ttfRenderUnicodeSolidWrapped(
    Pointer<TtfFont> font, Pointer<Uint16> text, SdlColor fg, int wrapLength) {
  final ttfRenderUnicodeSolidWrappedLookupFunction = libSdl2Ttf.lookupFunction<
      Pointer<SdlSurface> Function(Pointer<TtfFont> font, Pointer<Uint16> text,
          SdlColor fg, Uint32 wrapLength),
      Pointer<SdlSurface> Function(Pointer<TtfFont> font, Pointer<Uint16> text,
          SdlColor fg, int wrapLength)>('TTF_RenderUNICODE_Solid_Wrapped');
  return ttfRenderUnicodeSolidWrappedLookupFunction(font, text, fg, wrapLength);
}