OpenTTD Source  20241108-master-g80f628063a
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 > ZOOM_LVL_MIN) When shifting right, value is rounded up. More...
 
int UnScaleByZoom (int value, ZoomLevel zoom)
 Scale by zoom level, usually shift right (when zoom > ZOOM_LVL_MIN) When shifting right, value is rounded up. More...
 
int AdjustByZoom (int value, int zoom)
 Adjust by zoom level; zoom < 0 shifts right, zoom >= 0 shifts left. More...
 
int ScaleByZoomLower (int value, ZoomLevel zoom)
 Scale by zoom level, usually shift left (when zoom > ZOOM_LVL_MIN) More...
 
int UnScaleByZoomLower (int value, ZoomLevel zoom)
 Scale by zoom level, usually shift right (when zoom > ZOOM_LVL_MIN) More...
 
int UnScaleGUI (int value)
 Short-hand to apply GUI zoom level. More...
 
ZoomLevel ScaleZoomGUI (ZoomLevel value)
 Scale zoom level relative to GUI zoom. More...
 
ZoomLevel UnScaleZoomGUI (ZoomLevel value)
 UnScale zoom level relative to GUI zoom. More...
 
int ScaleSpriteTrad (int value)
 Scale traditional pixel dimensions to GUI zoom level, for drawing sprites. More...
 
int ScaleGUITrad (int value)
 Scale traditional pixel dimensions to GUI zoom level. More...
 

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(), and UnScaleByZoom().

◆ ScaleByZoom()

int ScaleByZoom ( int  value,
ZoomLevel  zoom 
)
inline

Scale by zoom level, usually shift left (when zoom > ZOOM_LVL_MIN) When shifting right, value is rounded up.

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

Definition at line 22 of file zoom_func.h.

Referenced by AdjustByZoom(), Blitter_32bppSimple::Draw(), Blitter_8bppSimple::Draw(), ViewportSign::MarkDirty(), NWidgetViewport::UpdateViewportCoordinates(), and ViewportAddString().

◆ ScaleByZoomLower()

int ScaleByZoomLower ( int  value,
ZoomLevel  zoom 
)
inline

Scale by zoom level, usually shift left (when zoom > ZOOM_LVL_MIN)

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

Definition at line 56 of file zoom_func.h.

◆ 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 #ZOOM_LVL_GUI (current interface size).

Definition at line 117 of file zoom_func.h.

References _gui_scale.

Referenced by SpriteFontCache::ClearFontCache(), ClickSliderWidget(), LinkGraphOverlay::DrawContent(), LinkGraphOverlay::DrawLinks(), DrawSliderWidget(), LinkGraphOverlay::DrawStationDots(), WindowDesc::GetDefaultHeight(), WindowDesc::GetDefaultWidth(), VehicleDetailsWindow::GetRoadVehDetailsHeight(), GetVehicleListHeight(), NetworkInitChatMessage(), NetworkReInitChatBoxSize(), IndustryCargoesWindow::OnInit(), and SpriteFontCache::SpriteFontCache().

◆ ScaleSpriteTrad()

int ScaleSpriteTrad ( int  value)
inline

Scale traditional pixel dimensions to GUI zoom level, for drawing sprites.

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

Definition at line 107 of file zoom_func.h.

References UnScaleGUI().

Referenced by DepotWindow::DrawVehicleInDepot(), GetTrainDetailsWndVScroll(), DepotWindow::OnPaint(), EndGameWindow::OnPaint(), and HighScoreWindow::OnPaint().

◆ 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.

Referenced by WaypointWindow::WaypointWindow().

◆ UnScaleByZoom()

int UnScaleByZoom ( int  value,
ZoomLevel  zoom 
)
inline

Scale by zoom level, usually shift right (when zoom > ZOOM_LVL_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.

Referenced by AdjustByZoom(), MarkViewportDirty(), ScaleFontTrad(), and UnScaleGUI().

◆ UnScaleByZoomLower()

int UnScaleByZoomLower ( int  value,
ZoomLevel  zoom 
)
inline

Scale by zoom level, usually shift right (when zoom > ZOOM_LVL_MIN)

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

Definition at line 67 of file zoom_func.h.

Referenced by MarkViewportDirty().

◆ UnScaleGUI()

int UnScaleGUI ( int  value)
inline

Short-hand to apply GUI zoom level.

Parameters
valuePixel amount at ZOOM_LVL_MIN (full zoom in).
Returns
Pixel amount at #ZOOM_LVL_GUI (current interface size).

Definition at line 77 of file zoom_func.h.

References UnScaleByZoom().

Referenced by DrawAircraftImage(), DrawShipImage(), GetSingleVehicleWidth(), and ScaleSpriteTrad().

◆ 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.