Package org.eclipse.swt.internal
Class DPIUtil
java.lang.Object
org.eclipse.swt.internal.DPIUtil
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
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
AutoScale ImageDataProvider.static final record
Represents an element, such as some image data, at a specific zoom level. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Rectangle
autoScaleBounds
(Rectangle rect, int targetZoom, int currentZoom) Returns a new rectangle as per the scaleFactor.static float
autoScaleDown
(float size) Auto-scale down float dimensions.static float[]
autoScaleDown
(float[] size) Auto-scale down float array dimensions.static int
autoScaleDown
(int size) Auto-scale down int dimensions.static int[]
autoScaleDown
(int[] pointArray) static ImageData
autoScaleDown
(Device device, ImageData imageData) Auto-scale down ImageDatastatic float
autoScaleDown
(Drawable drawable, float size) Auto-scale down float dimensions if enabled for Drawable class.static float[]
autoScaleDown
(Drawable drawable, float[] size) Auto-scale down float array dimensions if enabled for Drawable class.static int
autoScaleDown
(Drawable drawable, int size) Auto-scale down int dimensions if enabled for Drawable class.static int[]
autoScaleDown
(Drawable drawable, int[] pointArray) static Point
autoScaleDown
(Drawable drawable, Point point) Returns a new scaled down Point if enabled for Drawable class.static Rectangle
autoScaleDown
(Drawable drawable, Rectangle rect) Returns a new scaled down Rectangle if enabled for Drawable class.static Point
autoScaleDown
(Point point) Returns a new scaled down Point.static Rectangle
autoScaleDown
(Rectangle rect) Returns a new scaled down Rectangle.static ImageData
autoScaleImageData
(Device device, ImageData imageData, int imageDataZoomFactor) Auto-scale ImageData to device zoom that are at given zoom factor.static ImageData
autoScaleImageData
(Device device, ImageData imageData, int targetZoom, int currentZoom) Auto-scale image with ImageDatastatic ImageData
autoScaleImageData
(Device device, DPIUtil.ElementAtZoom<ImageData> elementAtZoom, int targetZoom) static float
autoScaleUp
(float size) static float
autoScaleUp
(float size, int zoom) static int
autoScaleUp
(int size) Auto-scale up int dimensions.static int[]
autoScaleUp
(int[] pointArray) static int[]
autoScaleUp
(int[] pointArray, int zoom) static int
autoScaleUp
(int size, int zoom) Auto-scale up int dimensions to match the given zoom levelstatic ImageData
autoScaleUp
(Device device, ImageData imageData) Auto-scale up ImageData to device zoom that is at 100%.static ImageData
autoScaleUp
(Device device, DPIUtil.ElementAtZoom<ImageData> elementAtZoom) static float
autoScaleUp
(Drawable drawable, float size) static float
autoScaleUp
(Drawable drawable, float size, int zoom) static int
autoScaleUp
(Drawable drawable, int size) Auto-scale up int dimensions if enabled for Drawable class.static int[]
autoScaleUp
(Drawable drawable, int[] pointArray) static int[]
autoScaleUp
(Drawable drawable, int[] pointArray, int zoom) static int
autoScaleUp
(Drawable drawable, int size, int zoom) static Point
autoScaleUp
(Drawable drawable, Point point) Returns a new scaled up Point if enabled for Drawable class.static Point
autoScaleUp
(Drawable drawable, Point point, int zoom) static Rectangle
autoScaleUp
(Drawable drawable, Rectangle rect) Returns a new scaled up Rectangle if enabled for Drawable class.static Rectangle
autoScaleUp
(Drawable drawable, Rectangle rect, int zoom) static Point
autoScaleUp
(Point point) Returns a new scaled up Point.static Point
autoScaleUp
(Point point, int zoom) static Rectangle
autoScaleUp
(Rectangle rect) Returns a new scaled up Rectangle.static Rectangle
autoScaleUp
(Rectangle rect, int zoom) static int
autoScaleUpUsingNativeDPI
(int size) Auto-scale up int dimensions using Native DPIstatic int
static int
static int
getZoomForAutoscaleProperty
(int nativeDeviceZoom) static boolean
static int
mapDPIToZoom
(int dpi) Compute the zoom value based on the DPI value.static int
mapZoomToDPI
(int zoom) Compute the DPI value value based on the zoom.static float[]
scaleDown
(float[] size, int zoom) static float
scaleDown
(float size, int zoom) static int
scaleDown
(int size, int zoom) static float[]
static float
static int
static Point
static Rectangle
static Point
static Rectangle
static void
setDeviceZoom
(int nativeDeviceZoom) static void
setUseCairoAutoScale
(boolean cairoAutoScale) static boolean
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.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.
-
Constructor Details
-
DPIUtil
public DPIUtil()
-
-
Method Details
-
autoScaleDown
Auto-scale down ImageData -
autoScaleDown
public static int[] autoScaleDown(int[] pointArray) -
autoScaleDown
-
autoScaleDown
public static float[] autoScaleDown(float[] size) Auto-scale down float array dimensions. -
scaleDown
public static float[] scaleDown(float[] size, int zoom) -
autoScaleDown
Auto-scale down float array dimensions if enabled for Drawable class. -
scaleDown
-
autoScaleDown
public static int autoScaleDown(int size) Auto-scale down int dimensions. -
scaleDown
public static int scaleDown(int size, int zoom) -
autoScaleDown
Auto-scale down int dimensions if enabled for Drawable class. -
scaleDown
-
autoScaleDown
public static float autoScaleDown(float size) Auto-scale down float dimensions. -
scaleDown
public static float scaleDown(float size, int zoom) -
autoScaleDown
Auto-scale down float dimensions if enabled for Drawable class. -
scaleDown
-
autoScaleDown
Returns a new scaled down Point. -
scaleDown
-
autoScaleDown
Returns a new scaled down Point if enabled for Drawable class. -
scaleDown
-
autoScaleDown
Returns a new scaled down Rectangle. -
scaleDown
-
autoScaleDown
Returns a new scaled down Rectangle if enabled for Drawable class. -
scaleDown
-
autoScaleImageData
public static ImageData autoScaleImageData(Device device, ImageData imageData, int targetZoom, int currentZoom) Auto-scale image with ImageData -
autoScaleImageData
public static ImageData autoScaleImageData(Device device, DPIUtil.ElementAtZoom<ImageData> elementAtZoom, int targetZoom) -
autoScaleBounds
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
Auto-scale up ImageData to device zoom that is at 100%. -
autoScaleUp
-
autoScaleUp
public static int[] autoScaleUp(int[] pointArray) -
autoScaleUp
public static int[] autoScaleUp(int[] pointArray, int zoom) -
autoScaleUp
-
autoScaleUp
-
autoScaleUp
public static int autoScaleUp(int size) Auto-scale up int dimensions. -
autoScaleUp
public static int autoScaleUp(int size, int zoom) Auto-scale up int dimensions to match the given zoom level -
autoScaleUpUsingNativeDPI
public static int autoScaleUpUsingNativeDPI(int size) Auto-scale up int dimensions using Native DPI -
autoScaleUp
Auto-scale up int dimensions if enabled for Drawable class. -
autoScaleUp
-
autoScaleUp
public static float autoScaleUp(float size) -
autoScaleUp
public static float autoScaleUp(float size, int zoom) -
autoScaleUp
-
autoScaleUp
-
autoScaleUp
Returns a new scaled up Point. -
autoScaleUp
-
autoScaleUp
Returns a new scaled up Point if enabled for Drawable class. -
autoScaleUp
-
autoScaleUp
Returns a new scaled up Rectangle. -
autoScaleUp
-
autoScaleUp
Returns a new scaled up Rectangle if enabled for Drawable class. -
autoScaleUp
-
mapDPIToZoom
public static int mapDPIToZoom(int dpi) Compute the zoom value based on the DPI value.- Returns:
- zoom
-
mapZoomToDPI
public static int mapZoomToDPI(int zoom) Compute the DPI value value based on the zoom.- Returns:
- DPI
-
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. -
getNativeDeviceZoom
public static int getNativeDeviceZoom() -
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) -
isAutoScaleOnRuntimeActive
public static boolean isAutoScaleOnRuntimeActive()
-