OpenTTD Source 20260206-master-g4d4e37dbf1
zoom_func.h File Reference

Functions related to zooming. More...

#include "zoom_type.h"

Go to the source code of this file.

Functions

int ScaleByZoom (int value, ZoomLevel zoom)
 Scale by zoom level, usually shift left (when zoom > ZoomLevel::Min) When shifting right, value is rounded up.
int UnScaleByZoom (int value, ZoomLevel zoom)
 Scale by zoom level, usually shift right (when zoom > ZoomLevel::Min) When shifting right, value is rounded up.
int AdjustByZoom (int value, int zoom)
 Adjust by zoom level; zoom < 0 shifts right, zoom >= 0 shifts left.
int ScaleByZoomLower (int value, ZoomLevel zoom)
 Scale by zoom level, usually shift left (when zoom > ZoomLevel::Min).
int UnScaleByZoomLower (int value, ZoomLevel zoom)
 Scale by zoom level, usually shift right (when zoom > ZoomLevel::Min).
int UnScaleGUI (int value)
 Short-hand to apply GUI zoom level.
ZoomLevel ScaleZoomGUI (ZoomLevel value)
 Scale zoom level relative to GUI zoom.
ZoomLevel UnScaleZoomGUI (ZoomLevel value)
 UnScale zoom level relative to GUI zoom.
int ScaleSpriteTrad (int value)
 Scale traditional pixel dimensions to GUI zoom level, for drawing sprites.
int ScaleGUITrad (int value)
 Scale traditional pixel dimensions to GUI zoom level.

Detailed Description

Functions related to zooming.

Definition in file zoom_func.h.

Function Documentation

◆ AdjustByZoom()

int AdjustByZoom ( int value,
int zoom )
inline

Adjust by zoom level; zoom < 0 shifts right, zoom >= 0 shifts left.

Parameters
valuevalue to shift
zoomzoom level to shift to
Returns
shifted value

Definition at line 45 of file zoom_func.h.

References ScaleByZoom().

◆ ScaleByZoom()

int ScaleByZoom ( int value,
ZoomLevel zoom )
inline

◆ ScaleByZoomLower()

int ScaleByZoomLower ( int value,
ZoomLevel zoom )
inline

Scale by zoom level, usually shift left (when zoom > ZoomLevel::Min).

Parameters
valuevalue to shift
zoomzoom level to shift to
Returns
shifted value

Definition at line 56 of file zoom_func.h.

References to_underlying().

◆ ScaleGUITrad()

int ScaleGUITrad ( int value)
inline

Scale traditional pixel dimensions to GUI zoom level.

Parameters
valuePixel amount at #ZOOM_BASE (traditional "normal" interface size).
Returns
Pixel amount at current interface size.

Definition at line 117 of file zoom_func.h.

References _gui_scale.

◆ ScaleSpriteTrad()

◆ ScaleZoomGUI()

ZoomLevel ScaleZoomGUI ( ZoomLevel value)
inline

Scale zoom level relative to GUI zoom.

Parameters
valuezoom level to scale
Returns
scaled zoom level

Definition at line 87 of file zoom_func.h.

References _gui_zoom, Max, Min, and Normal.

Referenced by WaypointWindow::WaypointWindow().

◆ UnScaleByZoom()

int UnScaleByZoom ( int value,
ZoomLevel zoom )
inline

Scale by zoom level, usually shift right (when zoom > ZoomLevel::Min) When shifting right, value is rounded up.

Parameters
valuevalue to shift
zoomzoom level to shift to
Returns
shifted value

Definition at line 34 of file zoom_func.h.

References to_underlying().

Referenced by OpenGLBackend::DrawMouseCursor(), SpriteAlignerWindow::DrawWidget(), GetSpriteSize(), SpriteAlignerWindow::GetWidgetString(), GfxBlitter(), MarkViewportDirty(), ScaleFontTrad(), SetupScreenshotViewport(), UnScaleGUI(), and ViewportDrawDirtyBlocks().

◆ UnScaleByZoomLower()

int UnScaleByZoomLower ( int value,
ZoomLevel zoom )
inline

Scale by zoom level, usually shift right (when zoom > ZoomLevel::Min).

Parameters
valuevalue to shift
zoomzoom level to shift to
Returns
shifted value

Definition at line 67 of file zoom_func.h.

References to_underlying().

Referenced by OpenGLSprite::GetSize(), GfxBlitter(), and MarkViewportDirty().

◆ UnScaleGUI()

int UnScaleGUI ( int value)
inline

Short-hand to apply GUI zoom level.

Parameters
valuePixel amount at ZoomLevel::Min (full zoom in).
Returns
Pixel amount at current interface size.

Definition at line 77 of file zoom_func.h.

References _gui_zoom, and UnScaleByZoom().

Referenced by DrawAircraftImage(), DrawCommonTileSeqInGUI(), DrawHouseInGUI(), DrawRoadVehEngine(), DrawShipImage(), GetAircraftSpriteSize(), GetRoadVehSpriteSize(), GetShipSpriteSize(), GetSingleVehicleWidth(), GetTrainSpriteSize(), ScaleSpriteTrad(), and UpdateCursorSize().

◆ UnScaleZoomGUI()

ZoomLevel UnScaleZoomGUI ( ZoomLevel value)
inline

UnScale zoom level relative to GUI zoom.

Parameters
valuezoom level to scale
Returns
un-scaled zoom level

Definition at line 97 of file zoom_func.h.

References _gui_zoom, Max, Min, and Normal.