ttfOpenFontIndexDpi function

Pointer<TtfFont> ttfOpenFontIndexDpi(
  1. String? file,
  2. int ptsize,
  3. int index,
  4. int hdpi,
  5. int vdpi,
)

Create a font from a file, using target resolutions (in DPI).

DPI scaling only applies to scalable fonts (e.g. TrueType).

Some .fon fonts will have several sizes embedded in the file, so the point size becomes the index of choosing which size. If the value is too high, the last indexed size will be the default.

Some fonts have multiple "faces" included. The index specifies which face to use from the font file. Font files with only one face should specify zero for the index.

When done with the returned TTF_Font, use TTF_CloseFont() to dispose of it.

\param file path to font file. \param ptsize point size to use for the newly-opened font. \param index index of the face in the font file. \param hdpi the target horizontal DPI. \param vdpi the target vertical DPI. \returns a valid TTF_Font, or NULL on error.

\since This function is available since SDL_ttf 2.0.18.

\sa TTF_CloseFont

extern DECLSPEC TTF_Font * SDLCALL TTF_OpenFontIndexDPI(const char *file, int ptsize, long index, unsigned int hdpi, unsigned int vdpi)

Implementation

Pointer<TtfFont> ttfOpenFontIndexDpi(
    String? file, int ptsize, int index, int hdpi, int vdpi) {
  final ttfOpenFontIndexDpiLookupFunction = libSdl2Ttf.lookupFunction<
      Pointer<TtfFont> Function(Pointer<Utf8> file, Int32 ptsize, Int32 index,
          Uint32 hdpi, Uint32 vdpi),
      Pointer<TtfFont> Function(Pointer<Utf8> file, int ptsize, int index,
          int hdpi, int vdpi)>('TTF_OpenFontIndexDPI');
  final filePointer = file != null ? file.toNativeUtf8() : nullptr;
  final result =
      ttfOpenFontIndexDpiLookupFunction(filePointer, ptsize, index, hdpi, vdpi);
  calloc.free(filePointer);
  return result;
}