Files
@ r10412:5923d8bb7636
Branch filter:
Location: cpp/openttd-patchpack/source/src/zoom_func.h - annotation
r10412:5923d8bb7636
1.9 KiB
text/x-c
(svn r14665) -Update: WebTranslator2 update to 2008-12-09 18:44:40
arabic_egypt - 301 fixed by khaloofah (301)
esperanto - 64 fixed, 2 changed by alekcxjo (66)
hebrew - 430 fixed by moshe (430)
hungarian - 10 changed by alyr (9), oklmernok (1)
indonesian - 49 fixed, 4 changed by fanioz (40), anansboga (13)
lithuanian - 5 fixed by Enternald (5)
portuguese - 6 fixed by SnowFlake (6)
thai - 333 fixed by vetbook (333)
arabic_egypt - 301 fixed by khaloofah (301)
esperanto - 64 fixed, 2 changed by alekcxjo (66)
hebrew - 430 fixed by moshe (430)
hungarian - 10 changed by alyr (9), oklmernok (1)
indonesian - 49 fixed, 4 changed by fanioz (40), anansboga (13)
lithuanian - 5 fixed by Enternald (5)
portuguese - 6 fixed by SnowFlake (6)
thai - 333 fixed by vetbook (333)
r8123:dde0a9a84019 r8123:dde0a9a84019 r9111:983de9c5a848 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 r8123:dde0a9a84019 | /* $Id$ */
/** @file zoom_func.h Functions related to zooming. */
#ifndef ZOOM_FUNC_H
#define ZOOM_FUNC_H
#include "zoom_type.h"
extern ZoomLevel _saved_scrollpos_zoom;
/**
* Scale by zoom level, usually shift left (when zoom > ZOOM_LVL_NORMAL)
* When shifting right, value is rounded up
* @param value value to shift
* @param zoom zoom level to shift to
* @return shifted value
*/
static inline int ScaleByZoom(int value, ZoomLevel zoom)
{
if (zoom == ZOOM_LVL_NORMAL) return value;
int izoom = zoom - ZOOM_LVL_NORMAL;
return (zoom > ZOOM_LVL_NORMAL) ? value << izoom : (value + (1 << -izoom) - 1) >> -izoom;
}
/**
* Scale by zoom level, usually shift right (when zoom > ZOOM_LVL_NORMAL)
* When shifting right, value is rounded up
* @param value value to shift
* @param zoom zoom level to shift to
* @return shifted value
*/
static inline int UnScaleByZoom(int value, ZoomLevel zoom)
{
if (zoom == ZOOM_LVL_NORMAL) return value;
int izoom = zoom - ZOOM_LVL_NORMAL;
return (zoom > ZOOM_LVL_NORMAL) ? (value + (1 << izoom) - 1) >> izoom : value << -izoom;
}
/**
* Scale by zoom level, usually shift left (when zoom > ZOOM_LVL_NORMAL)
* @param value value to shift
* @param zoom zoom level to shift to
* @return shifted value
*/
static inline int ScaleByZoomLower(int value, ZoomLevel zoom)
{
if (zoom == ZOOM_LVL_NORMAL) return value;
int izoom = zoom - ZOOM_LVL_NORMAL;
return (zoom > ZOOM_LVL_NORMAL) ? value << izoom : value >> -izoom;
}
/**
* Scale by zoom level, usually shift right (when zoom > ZOOM_LVL_NORMAL)
* @param value value to shift
* @param zoom zoom level to shift to
* @return shifted value
*/
static inline int UnScaleByZoomLower(int value, ZoomLevel zoom)
{
if (zoom == ZOOM_LVL_NORMAL) return value;
int izoom = zoom - ZOOM_LVL_NORMAL;
return (zoom > ZOOM_LVL_NORMAL) ? value >> izoom : value << -izoom;
}
#endif /* ZOOM_FUNC_H */
|