mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 14:27:16 +00:00
(svn r13542) -Codechange: Less a few more magic numbers and a code a bit more adaptable, still
This commit is contained in:
parent
da5fb0cf7e
commit
37c58f606b
@ -682,16 +682,17 @@ static void ResizeToolbar(Window *w)
|
|||||||
/* There are 27 buttons plus some spacings if the space allows it */
|
/* There are 27 buttons plus some spacings if the space allows it */
|
||||||
uint button_width;
|
uint button_width;
|
||||||
uint spacing;
|
uint spacing;
|
||||||
if (w->width >= 27 * 22) {
|
if (w->width >= (int)w->widget_count * 22) {
|
||||||
button_width = 22;
|
button_width = 22;
|
||||||
spacing = w->width - (27 * button_width);
|
spacing = w->width - (w->widget_count * button_width);
|
||||||
} else {
|
} else {
|
||||||
button_width = w->width / 27;
|
button_width = w->width / w->widget_count;
|
||||||
spacing = 0;
|
spacing = 0;
|
||||||
}
|
}
|
||||||
uint extra_spacing_at[] = { 4, 8, 13, 17, 19, 24, 0 };
|
|
||||||
|
|
||||||
for (uint i = 0, x = 0, j = 0; i < 27; i++) {
|
uint extra_spacing_at[] = { 4, 8, 13, 17, 19, 24, 0 };
|
||||||
|
uint i = 0;
|
||||||
|
for (uint x = 0, j = 0; i < w->widget_count; i++) {
|
||||||
if (extra_spacing_at[j] == i) {
|
if (extra_spacing_at[j] == i) {
|
||||||
j++;
|
j++;
|
||||||
uint add = spacing / (lengthof(extra_spacing_at) - j);
|
uint add = spacing / (lengthof(extra_spacing_at) - j);
|
||||||
@ -701,11 +702,11 @@ static void ResizeToolbar(Window *w)
|
|||||||
|
|
||||||
w->widget[i].type = WWT_IMGBTN;
|
w->widget[i].type = WWT_IMGBTN;
|
||||||
w->widget[i].left = x;
|
w->widget[i].left = x;
|
||||||
x += (spacing != 0) ? button_width : (w->width - x) / (27 - i);
|
x += (spacing != 0) ? button_width : (w->width - x) / (w->widget_count - i);
|
||||||
w->widget[i].right = x - 1;
|
w->widget[i].right = x - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
w->widget[27].type = WWT_EMPTY;
|
w->widget[i].type = WWT_EMPTY; // i now points to the last item
|
||||||
_toolbar_mode = TB_NORMAL;
|
_toolbar_mode = TB_NORMAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -746,7 +747,7 @@ static void SplitToolbar(Window *w)
|
|||||||
assert(max_icons >= 14 && max_icons <= 19);
|
assert(max_icons >= 14 && max_icons <= 19);
|
||||||
|
|
||||||
/* first hide all icons */
|
/* first hide all icons */
|
||||||
for (uint i = 0; i < 27; i++) {
|
for (uint i = 0; i < w->widget_count; i++) {
|
||||||
w->widget[i].type = WWT_EMPTY;
|
w->widget[i].type = WWT_EMPTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user