mirror of https://github.com/OpenTTD/OpenTTD
(svn r26202) -Cleanup: since ZOOM_LEVEL_NORMAL 0 and there aren't any negative zoom levels, there is no reason to account for negative zoom levels in the zoom functions (based on patch by MJP)
parent
fb4db0b022
commit
9bf21279f8
|
@ -23,9 +23,8 @@
|
||||||
*/
|
*/
|
||||||
static inline int ScaleByZoom(int value, ZoomLevel zoom)
|
static inline int ScaleByZoom(int value, ZoomLevel zoom)
|
||||||
{
|
{
|
||||||
if (zoom == ZOOM_LVL_NORMAL) return value;
|
assert(zoom >= 0);
|
||||||
int izoom = zoom - ZOOM_LVL_NORMAL;
|
return value << zoom;
|
||||||
return (zoom > ZOOM_LVL_NORMAL) ? value << izoom : (value + (1 << -izoom) - 1) >> -izoom;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -37,9 +36,8 @@ static inline int ScaleByZoom(int value, ZoomLevel zoom)
|
||||||
*/
|
*/
|
||||||
static inline int UnScaleByZoom(int value, ZoomLevel zoom)
|
static inline int UnScaleByZoom(int value, ZoomLevel zoom)
|
||||||
{
|
{
|
||||||
if (zoom == ZOOM_LVL_NORMAL) return value;
|
assert(zoom >= 0);
|
||||||
int izoom = zoom - ZOOM_LVL_NORMAL;
|
return (value + (1 << zoom) - 1) >> zoom;
|
||||||
return (zoom > ZOOM_LVL_NORMAL) ? (value + (1 << izoom) - 1) >> izoom : value << -izoom;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -50,9 +48,8 @@ static inline int UnScaleByZoom(int value, ZoomLevel zoom)
|
||||||
*/
|
*/
|
||||||
static inline int ScaleByZoomLower(int value, ZoomLevel zoom)
|
static inline int ScaleByZoomLower(int value, ZoomLevel zoom)
|
||||||
{
|
{
|
||||||
if (zoom == ZOOM_LVL_NORMAL) return value;
|
assert(zoom >= 0);
|
||||||
int izoom = zoom - ZOOM_LVL_NORMAL;
|
return value << zoom;
|
||||||
return (zoom > ZOOM_LVL_NORMAL) ? value << izoom : value >> -izoom;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -63,9 +60,8 @@ static inline int ScaleByZoomLower(int value, ZoomLevel zoom)
|
||||||
*/
|
*/
|
||||||
static inline int UnScaleByZoomLower(int value, ZoomLevel zoom)
|
static inline int UnScaleByZoomLower(int value, ZoomLevel zoom)
|
||||||
{
|
{
|
||||||
if (zoom == ZOOM_LVL_NORMAL) return value;
|
assert(zoom >= 0);
|
||||||
int izoom = zoom - ZOOM_LVL_NORMAL;
|
return value >> zoom;
|
||||||
return (zoom > ZOOM_LVL_NORMAL) ? value >> izoom : value << -izoom;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* ZOOM_FUNC_H */
|
#endif /* ZOOM_FUNC_H */
|
||||||
|
|
Loading…
Reference in New Issue