Package org.eclipse.swt.internal

# Class SWTFontProvider

java.lang.Object
org.eclipse.swt.internal.SWTFontProvider

public class SWTFontProvider extends Object
This internal class is used to provide and cache fonts scaled for different zoom levels in the win32 implementation. Depending on the configuration of the SWT application, either a default behavior or the scaling behavior is used. The default behavior mimics the existing behavior that fonts are scaled to the zoom of the primary monitor and are not updated on runtime. The scaling behavior will always take the provided values for the zoom into consideration and return scaled variant of a font if necessary.

## Constructor Summary

Constructors
Constructor
Description
`SWTFontProvider()`

## Method Summary

Modifier and Type
Method
Description
`static void`
`disposeFontRegistry(Device device)`
Disposes the font registry for the given device, if one exists.
`static Font`
`getFont(Device device, FontData fontData, int zoom)`
Returns the font with the given font data for the given device at the specified zoom.
`static Font`
`getSystemFont(Device device, int zoom)`
Returns the system font for the given device at the specified zoom.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### SWTFontProvider

public SWTFontProvider()

## Method Details

### getSystemFont

public static Font getSystemFont(Device device, int zoom)
Returns the system font for the given device at the specified zoom. Note: This operation is not thread-safe. It must thus always be called from the same thread for the same device, such as the display's UI thread.

Parameters:
  `device` - the device to retrieve the font for, must not be `null`
  `zoom` - the zoom for which the font shall be scaled

### getFont

public static Font getFont(Device device, FontData fontData, int zoom)
Returns the font with the given font data for the given device at the specified zoom. Note: This operation is not thread-safe. It must thus always be called from the same thread for the same device, such as the display's UI thread.

Parameters:
  `device` - the device to retrieve the font for, must not be `null`
  `fontData` - the data for the font to retrieve, must not be `null`
  `zoom` - the zoom for which the font shall be scaled

### disposeFontRegistry

public static void disposeFontRegistry(Device device)
Disposes the font registry for the given device, if one exists.

Parameters:
  `device` - the device to dispose the font registry for, must not be `null`