ttfOpenFontDpi function

Pointer<TtfFont> ttfOpenFontDpi(
  1. String? file,
  2. int ptsize,
  3. int hdpi,
  4. 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.

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 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_OpenFontDPI(const char *file, int ptsize, unsigned int hdpi, unsigned int vdpi)

Implementation

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