ttfRenderUnicodeLcd function

Pointer<SdlSurface> ttfRenderUnicodeLcd(
  1. Pointer<TtfFont> font,
  2. Pointer<Uint16> text,
  3. SdlColor fg,
  4. SdlColor bg,
)

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

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_RenderUNICODE_LCD_Wrapped() instead if you need to wrap the output to multiple lines.

This will not 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_Solid, TTF_RenderUNICODE_Shaded, and TTF_RenderUNICODE_Blended.

\param font the font to render with. \param text text to render, in UCS-2 encoding. \param fg the foreground color for the text. \param bg the background color for the text. \returns a new 32-bit, ARGB surface, or NULL if there was an error.

\since This function is available since SDL_ttf 2.20.0.

\sa TTF_RenderUTF8_LCD

extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUNICODE_LCD(TTF_Font *font, const Uint16 *text, SDL_Color fg, SDL_Color bg)

Implementation

Pointer<SdlSurface> ttfRenderUnicodeLcd(
    Pointer<TtfFont> font, Pointer<Uint16> text, SdlColor fg, SdlColor bg) {
  final ttfRenderUnicodeLcdLookupFunction = libSdl2Ttf.lookupFunction<
      Pointer<SdlSurface> Function(Pointer<TtfFont> font, Pointer<Uint16> text,
          SdlColor fg, SdlColor bg),
      Pointer<SdlSurface> Function(Pointer<TtfFont> font, Pointer<Uint16> text,
          SdlColor fg, SdlColor bg)>('TTF_RenderUNICODE_LCD');
  return ttfRenderUnicodeLcdLookupFunction(font, text, fg, bg);
}