ttfRenderGlyphSolid function

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

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

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_Solid() instead, which offers the same functionality but takes a 32-bit codepoint instead.

The only reason to use this function is that it was available since the beginning of time, more or less.

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

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

\sa TTF_RenderGlyph32_Solid

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

Implementation

Pointer<SdlSurface> ttfRenderGlyphSolid(
    Pointer<TtfFont> font, int ch, SdlColor fg) {
  final ttfRenderGlyphSolidLookupFunction = libSdl2Ttf.lookupFunction<
      Pointer<SdlSurface> Function(
          Pointer<TtfFont> font, Uint16 ch, SdlColor fg),
      Pointer<SdlSurface> Function(
          Pointer<TtfFont> font, int ch, SdlColor fg)>('TTF_RenderGlyph_Solid');
  return ttfRenderGlyphSolidLookupFunction(font, ch, fg);
}