Fix #9993: Handle DPI changes on macOS and Windows

This commit is contained in:
Bouke Haarsma
2022-09-07 22:17:10 +02:00
committed by Michael Lutz
parent bda602f4b0
commit 45d98f689a
7 changed files with 86 additions and 2 deletions

View File

@@ -36,6 +36,17 @@ static inline int UnScaleByZoom(int value, ZoomLevel zoom)
return (value + (1 << zoom) - 1) >> zoom;
}
/**
* Adjust by zoom level; zoom < 0 shifts right, zoom >= 0 shifts left
* @param value value to shift
* @param zoom zoom level to shift to
* @return shifted value
*/
static inline int AdjustByZoom(int value, int zoom)
{
return zoom < 0 ? UnScaleByZoom(value, ZoomLevel(-zoom)) : ScaleByZoom(value, ZoomLevel(zoom));
}
/**
* Scale by zoom level, usually shift left (when zoom > ZOOM_LVL_NORMAL)
* @param value value to shift