ttfRenderGlyphLcd function

Pointer<SdlSurface> ttfRenderGlyphLcd(
  1. Pointer<TtfFont> font,
  2. int ch,
  3. SdlColor fg,
  4. SdlColor bg,
)

Render a single 16-bit glyph 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.

The glyph is rendered without any padding or centering in the X direction, and aligned normally in the Y direction.

Note that this version of the function takes a 16-bit character code, which covers the Basic Multilingual Plane, but is insufficient to cover the entire set of possible Unicode values, including emoji glyphs. You should use TTF_RenderGlyph32_LCD() instead, which offers the same functionality but takes a 32-bit codepoint instead.

This function only exists for consistency with the existing API at the time of its addition.

You can render at other quality levels with TTF_RenderGlyph_Solid, TTF_RenderGlyph_Shaded, and TTF_RenderGlyph_Blended.

\param font the font to render with. \param ch the character to render. \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_RenderGlyph32_LCD

extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderGlyph_LCD(TTF_Font *font, Uint16 ch, SDL_Color fg, SDL_Color bg)

Implementation

Pointer<SdlSurface> ttfRenderGlyphLcd(
    Pointer<TtfFont> font, int ch, SdlColor fg, SdlColor bg) {
  final ttfRenderGlyphLcdLookupFunction = libSdl2Ttf.lookupFunction<
      Pointer<SdlSurface> Function(
          Pointer<TtfFont> font, Uint16 ch, SdlColor fg, SdlColor bg),
      Pointer<SdlSurface> Function(Pointer<TtfFont> font, int ch, SdlColor fg,
          SdlColor bg)>('TTF_RenderGlyph_LCD');
  return ttfRenderGlyphLcdLookupFunction(font, ch, fg, bg);
}