Class DPIUtil

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

public class DPIUtil extends Object
This class hold common constants and utility functions w.r.t. to SWT high DPI functionality.

The autoScaleUp(..) methods convert from API coordinates (in SWT points) to internal high DPI coordinates (in pixels) that interface with native widgets.

The autoScaleDown(..) convert from high DPI pixels to API coordinates (in SWT points).

Since:
3.105
  • Constructor Details

    • DPIUtil

      public DPIUtil()
  • Method Details

    • autoScaleDown

      public static ImageData autoScaleDown(Device device, ImageData imageData)
      Auto-scale down ImageData
    • autoScaleDown

      public static int[] autoScaleDown(int[] pointArray)
    • autoScaleDown

      public static int[] autoScaleDown(Drawable drawable, int[] pointArray)
    • autoScaleDown

      public static float[] autoScaleDown(float[] size)
      Auto-scale down float array dimensions.
    • autoScaleDown

      public static float[] autoScaleDown(Drawable drawable, float[] size)
      Auto-scale down float array dimensions if enabled for Drawable class.
    • autoScaleDown

      public static int autoScaleDown(int size)
      Auto-scale down int dimensions.
    • autoScaleDown

      public static int autoScaleDown(Drawable drawable, int size)
      Auto-scale down int dimensions if enabled for Drawable class.
    • autoScaleDown

      public static float autoScaleDown(float size)
      Auto-scale down float dimensions.
    • autoScaleDown

      public static float autoScaleDown(Drawable drawable, float size)
      Auto-scale down float dimensions if enabled for Drawable class.
    • autoScaleDown

      public static Point autoScaleDown(Point point)
      Returns a new scaled down Point.
    • autoScaleDown

      public static Point autoScaleDown(Drawable drawable, Point point)
      Returns a new scaled down Point if enabled for Drawable class.
    • autoScaleDown

      public static Rectangle autoScaleDown(Rectangle rect)
      Returns a new scaled down Rectangle.
    • autoScaleDown

      public static Rectangle autoScaleDown(Drawable drawable, Rectangle rect)
      Returns a new scaled down Rectangle if enabled for Drawable class.
    • autoScaleImageData

      public static ImageData autoScaleImageData(Device device, ImageData imageData, int targetZoom, int currentZoom)
      Auto-scale image with ImageData
    • autoScaleBounds

      public static Rectangle autoScaleBounds(Rectangle rect, int targetZoom, int currentZoom)
      Returns a new rectangle as per the scaleFactor.
    • autoScaleImageData

      public static ImageData autoScaleImageData(Device device, ImageData imageData, int imageDataZoomFactor)
      Auto-scale ImageData to device zoom that are at given zoom factor.
    • autoScaleUp

      public static ImageData autoScaleUp(Device device, ImageData imageData)
      Auto-scale up ImageData to device zoom that is at 100%.
    • autoScaleUp

      public static int[] autoScaleUp(int[] pointArray)
    • autoScaleUp

      public static int[] autoScaleUp(Drawable drawable, int[] pointArray)
    • autoScaleUp

      public static int autoScaleUp(int size)
      Auto-scale up int dimensions.
    • autoScaleUpUsingNativeDPI

      public static int autoScaleUpUsingNativeDPI(int size)
      Auto-scale up int dimensions using Native DPI
    • autoScaleUp

      public static int autoScaleUp(Drawable drawable, int size)
      Auto-scale up int dimensions if enabled for Drawable class.
    • autoScaleUp

      public static float autoScaleUp(float size)
    • autoScaleUp

      public static float autoScaleUp(Drawable drawable, float size)
    • autoScaleUp

      public static Point autoScaleUp(Point point)
      Returns a new scaled up Point.
    • autoScaleUp

      public static Point autoScaleUp(Drawable drawable, Point point)
      Returns a new scaled up Point if enabled for Drawable class.
    • autoScaleUp

      public static Rectangle autoScaleUp(Rectangle rect)
      Returns a new scaled up Rectangle.
    • autoScaleUp

      public static Rectangle autoScaleUp(Drawable drawable, Rectangle rect)
      Returns a new scaled up Rectangle if enabled for Drawable class.
    • mapDPIToZoom

      public static int mapDPIToZoom(int dpi)
      Compute the zoom value based on the DPI value.
      Returns:
      zoom
    • validateAndGetImageDataAtZoom

      public static DPIUtil.ElementAtZoom<ImageData> validateAndGetImageDataAtZoom(ImageDataProvider provider, int zoom)
      Gets ImageData that are appropriate for the specified zoom level together with the zoom level at which the image data are. If there is an image at the specified zoom level, it is returned. Otherwise the next larger image at 150% and 200% is returned, if existing. If none of these is found, the 100% image is returned as a fallback. If provider or fallback image is not available, an error is thrown.
    • validateAndGetImagePathAtZoom

      public static DPIUtil.ElementAtZoom<String> validateAndGetImagePathAtZoom(ImageFileNameProvider provider, int zoom)
      Gets the image file path that are appropriate for the specified zoom level together with the zoom level at which the image data are. If there is an image at the specified zoom level, it is returned. Otherwise the next larger image at 150% and 200% is returned, if existing. If none of these is found, the 100% image is returned as a fallback. If provider or fallback image is not available, an error is thrown.
    • getDeviceZoom

      public static int getDeviceZoom()
    • setDeviceZoom

      public static void setDeviceZoom(int nativeDeviceZoom)
    • setUseCairoAutoScale

      public static void setUseCairoAutoScale(boolean cairoAutoScale)
    • useCairoAutoScale

      public static boolean useCairoAutoScale()
    • getZoomForAutoscaleProperty

      public static int getZoomForAutoscaleProperty(int nativeDeviceZoom)