mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-02-02 12:24:15 +00:00
(svn r16677) -Codechange: Dimension width and height are unsigned.
This commit is contained in:
parent
812ad41f23
commit
9b070b5405
@ -25,8 +25,8 @@ struct Point {
|
||||
|
||||
/** Dimensions (a width and height) of a rectangle in 2D */
|
||||
struct Dimension {
|
||||
int width;
|
||||
int height;
|
||||
uint width;
|
||||
uint height;
|
||||
};
|
||||
|
||||
/** Specification of a rectangle with absolute coordinates of all edges */
|
||||
|
10
src/gfx.cpp
10
src/gfx.cpp
@ -483,7 +483,7 @@ static int DrawString(int left, int right, int top, char *str, const char *last,
|
||||
* but once SETX is used you cannot be sure the actual content of the
|
||||
* string is centered, so it doesn't really matter. */
|
||||
align = SA_LEFT | SA_FORCE;
|
||||
initial_left = left = max(left, (left + right - GetStringBoundingBox(str).width) / 2);
|
||||
initial_left = left = max(left, (left + right - (int)GetStringBoundingBox(str).width) / 2);
|
||||
}
|
||||
|
||||
/* We add the begin of the string, but don't add it twice */
|
||||
@ -798,7 +798,7 @@ Dimension GetStringBoundingBox(const char *str)
|
||||
{
|
||||
FontSize size = _cur_fontsize;
|
||||
Dimension br;
|
||||
int max_width;
|
||||
uint max_width;
|
||||
WChar c;
|
||||
|
||||
br.width = br.height = max_width = 0;
|
||||
@ -809,10 +809,10 @@ Dimension GetStringBoundingBox(const char *str)
|
||||
br.width += GetCharacterWidth(size, c);
|
||||
} else {
|
||||
switch (c) {
|
||||
case SCC_SETX: br.width = max((int)*str++, br.width); break;
|
||||
case SCC_SETX: br.width = max((uint)*str++, br.width); break;
|
||||
case SCC_SETXY:
|
||||
br.width = max((int)*str++, br.width);
|
||||
br.height = max((int)*str++, br.height);
|
||||
br.width = max((uint)*str++, br.width);
|
||||
br.height = max((uint)*str++, br.height);
|
||||
break;
|
||||
case SCC_TINYFONT: size = FS_SMALL; break;
|
||||
case SCC_BIGFONT: size = FS_LARGE; break;
|
||||
|
@ -802,8 +802,8 @@ void GuiShowTooltips(StringID str, uint paramcount, const uint64 params[], bool
|
||||
* Clamp value to below main toolbar and above statusbar. If tooltip would
|
||||
* go below window, flip it so it is shown above the cursor */
|
||||
int y = Clamp(_cursor.pos.y + _cursor.size.y + _cursor.offs.y + 5, 22, _screen.height - 12);
|
||||
if (y + br.height > _screen.height - 12) y = _cursor.pos.y + _cursor.offs.y - br.height - 5;
|
||||
int x = Clamp(_cursor.pos.x - (br.width >> 1), 0, _screen.width - br.width);
|
||||
if (y + (int)br.height > _screen.height - 12) y = _cursor.pos.y + _cursor.offs.y - (int)br.height - 5;
|
||||
int x = Clamp(_cursor.pos.x - (int)(br.width >> 1), 0, _screen.width - (int)br.width);
|
||||
|
||||
const Widget *wid = InitializeWidgetArrayFromNestedWidgets(_nested_tooltips_widgets, lengthof(_nested_tooltips_widgets),
|
||||
_tooltips_widgets, &generated_tooltips_widgets);
|
||||
|
@ -555,8 +555,8 @@ int ttd_main(int argc, char *argv[])
|
||||
|
||||
/* The width and height must be at least 1 pixel, this
|
||||
* way all internal drawing routines work correctly. */
|
||||
if (_cur_resolution.width <= 0) _cur_resolution.width = 1;
|
||||
if (_cur_resolution.height <= 0) _cur_resolution.height = 1;
|
||||
if (_cur_resolution.width == 0) _cur_resolution.width = 1;
|
||||
if (_cur_resolution.height == 0) _cur_resolution.height = 1;
|
||||
|
||||
#if defined(ENABLE_NETWORK)
|
||||
if (dedicated_host) {
|
||||
|
@ -89,8 +89,8 @@ static int GetCurRes()
|
||||
int i;
|
||||
|
||||
for (i = 0; i != _num_resolutions; i++) {
|
||||
if (_resolutions[i].width == _screen.width &&
|
||||
_resolutions[i].height == _screen.height) {
|
||||
if ((int)_resolutions[i].width == _screen.width &&
|
||||
(int)_resolutions[i].height == _screen.height) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1210,7 +1210,7 @@ static char *GetSpecialNameString(char *buff, int ind, int64 *argv, const char *
|
||||
if (IsInsideMM(ind, (SPECSTR_RESOLUTION_START - 0x70E4), (SPECSTR_RESOLUTION_END - 0x70E4) + 1)) {
|
||||
int i = ind - (SPECSTR_RESOLUTION_START - 0x70E4);
|
||||
buff += seprintf(
|
||||
buff, last, "%dx%d", _resolutions[i].width, _resolutions[i].height
|
||||
buff, last, "%ux%u", _resolutions[i].width, _resolutions[i].height
|
||||
);
|
||||
return buff;
|
||||
}
|
||||
|
@ -137,8 +137,8 @@ static void GetVideoModes()
|
||||
|
||||
int n = 0;
|
||||
for (int i = 0; modes[i].bpp != 0; i++) {
|
||||
int w = modes[i].width;
|
||||
int h = modes[i].height;
|
||||
uint w = modes[i].width;
|
||||
uint h = modes[i].height;
|
||||
if (w >= 640 && h >= 480) {
|
||||
int j;
|
||||
for (j = 0; j < n; j++) {
|
||||
@ -158,7 +158,7 @@ static void GetVideoModes()
|
||||
destroy_gfx_mode_list(mode_list);
|
||||
}
|
||||
|
||||
static void GetAvailableVideoMode(int *w, int *h)
|
||||
static void GetAvailableVideoMode(uint *w, uint *h)
|
||||
{
|
||||
/* No video modes, so just try it and see where it ends */
|
||||
if (_num_resolutions == 0) return;
|
||||
@ -170,9 +170,9 @@ static void GetAvailableVideoMode(int *w, int *h)
|
||||
|
||||
/* use the closest possible resolution */
|
||||
int best = 0;
|
||||
uint delta = abs((_resolutions[0].width - *w) * (_resolutions[0].height - *h));
|
||||
uint delta = Delta(_resolutions[0].width, *w) * Delta(_resolutions[0].height, *h);
|
||||
for (int i = 1; i != _num_resolutions; ++i) {
|
||||
uint newdelta = abs((_resolutions[i].width - *w) * (_resolutions[i].height - *h));
|
||||
uint newdelta = Delta(_resolutions[i].width, *w) * Delta(_resolutions[i].height, *h);
|
||||
if (newdelta < delta) {
|
||||
best = i;
|
||||
delta = newdelta;
|
||||
@ -182,7 +182,7 @@ static void GetAvailableVideoMode(int *w, int *h)
|
||||
*h = _resolutions[best].height;
|
||||
}
|
||||
|
||||
static bool CreateMainSurface(int w, int h)
|
||||
static bool CreateMainSurface(uint w, uint h)
|
||||
{
|
||||
int bpp = BlitterFactoryBase::GetCurrentBlitter()->GetScreenDepth();
|
||||
if (bpp == 0) usererror("Can't use a blitter that blits 0 bpp for normal visuals");
|
||||
|
@ -124,8 +124,8 @@ static void GetVideoModes()
|
||||
} else {
|
||||
int n = 0;
|
||||
for (int i = 0; modes[i]; i++) {
|
||||
int w = modes[i]->w;
|
||||
int h = modes[i]->h;
|
||||
uint w = modes[i]->w;
|
||||
uint h = modes[i]->h;
|
||||
int j;
|
||||
for (j = 0; j < n; j++) {
|
||||
if (_resolutions[j].width == w && _resolutions[j].height == h) break;
|
||||
@ -142,7 +142,7 @@ static void GetVideoModes()
|
||||
}
|
||||
}
|
||||
|
||||
static void GetAvailableVideoMode(int *w, int *h)
|
||||
static void GetAvailableVideoMode(uint *w, uint *h)
|
||||
{
|
||||
/* All modes available? */
|
||||
if (_all_modes || _num_resolutions == 0) return;
|
||||
@ -154,9 +154,9 @@ static void GetAvailableVideoMode(int *w, int *h)
|
||||
|
||||
/* Use the closest possible resolution */
|
||||
int best = 0;
|
||||
uint delta = abs((_resolutions[0].width - *w) * (_resolutions[0].height - *h));
|
||||
uint delta = Delta(_resolutions[0].width, *w) * Delta(_resolutions[0].height, *h);
|
||||
for (int i = 1; i != _num_resolutions; ++i) {
|
||||
uint newdelta = abs((_resolutions[i].width - *w) * (_resolutions[i].height - *h));
|
||||
uint newdelta = Delta(_resolutions[i].width, *w) * Delta(_resolutions[i].height, *h);
|
||||
if (newdelta < delta) {
|
||||
best = i;
|
||||
delta = newdelta;
|
||||
@ -177,7 +177,7 @@ static void GetAvailableVideoMode(int *w, int *h)
|
||||
#define SDL_LoadBMP(file) SDL_LoadBMP_RW(SDL_CALL SDL_RWFromFile(file, "rb"), 1)
|
||||
#endif
|
||||
|
||||
static bool CreateMainSurface(int w, int h)
|
||||
static bool CreateMainSurface(uint w, uint h)
|
||||
{
|
||||
SDL_Surface *newscreen, *icon;
|
||||
char caption[50];
|
||||
@ -185,7 +185,7 @@ static bool CreateMainSurface(int w, int h)
|
||||
|
||||
GetAvailableVideoMode(&w, &h);
|
||||
|
||||
DEBUG(driver, 1, "SDL: using mode %dx%dx%d", w, h, bpp);
|
||||
DEBUG(driver, 1, "SDL: using mode %ux%ux%d", w, h, bpp);
|
||||
|
||||
if (bpp == 0) usererror("Can't use a blitter that blits 0 bpp for normal visuals");
|
||||
|
||||
|
@ -738,7 +738,7 @@ static void FindResolutions()
|
||||
uint j;
|
||||
|
||||
for (j = 0; j < n; j++) {
|
||||
if (_resolutions[j].width == (int)dm.dmPelsWidth && _resolutions[j].height == (int)dm.dmPelsHeight) break;
|
||||
if (_resolutions[j].width == dm.dmPelsWidth && _resolutions[j].height == dm.dmPelsHeight) break;
|
||||
}
|
||||
|
||||
/* In the previous loop we have checked already existing/added resolutions if
|
||||
@ -776,7 +776,7 @@ const char *VideoDriver_Win32::Start(const char * const *parm)
|
||||
|
||||
FindResolutions();
|
||||
|
||||
DEBUG(driver, 2, "Resolution for display: %dx%d", _cur_resolution.width, _cur_resolution.height);
|
||||
DEBUG(driver, 2, "Resolution for display: %ux%u", _cur_resolution.width, _cur_resolution.height);
|
||||
|
||||
/* fullscreen uses those */
|
||||
_wnd.width_org = _cur_resolution.width;
|
||||
|
Loading…
Reference in New Issue
Block a user