(svn r18033) -Codechange: make the padding for IMGBTN_2 the same as for IMGBTN; the image doesn't move, so the extra space at the right and bottom aren't needed
This commit is contained in:
@@ -286,16 +286,8 @@ static inline void DrawImageButtons(const Rect &r, WidgetType type, Colours colo
|
||||
assert(img != 0);
|
||||
DrawFrameRect(r.left, r.top, r.right, r.bottom, colour, (clicked) ? FR_LOWERED : FR_NONE);
|
||||
|
||||
int left, top;
|
||||
if ((type & WWT_MASK) == WWT_IMGBTN_2) {
|
||||
if (clicked) img++; // Show different image when clicked for #WWT_IMGBTN_2.
|
||||
left = WD_IMGBTN2_LEFT;
|
||||
top = WD_IMGBTN2_TOP;
|
||||
} else {
|
||||
left = WD_IMGBTN_LEFT;
|
||||
top = WD_IMGBTN_TOP;
|
||||
}
|
||||
DrawSprite(img, PAL_NONE, r.left + left + clicked, r.top + top + clicked);
|
||||
if ((type & WWT_MASK) == WWT_IMGBTN_2 && clicked) img++; // Show different image when clicked for #WWT_IMGBTN_2.
|
||||
DrawSprite(img, PAL_NONE, r.left + WD_IMGBTN_LEFT + clicked, r.top + WD_IMGBTN_TOP + clicked);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2077,19 +2069,12 @@ void NWidgetLeaf::SetupSmallestSize(Window *w, bool init_array)
|
||||
break;
|
||||
}
|
||||
case WWT_IMGBTN:
|
||||
case WWT_IMGBTN_2:
|
||||
case WWT_PUSHIMGBTN: {
|
||||
static const Dimension extra = {WD_IMGBTN_LEFT + WD_IMGBTN_RIGHT, WD_IMGBTN_TOP + WD_IMGBTN_BOTTOM};
|
||||
padding = &extra;
|
||||
Dimension d2 = GetSpriteSize(this->widget_data);
|
||||
d2.width += extra.width;
|
||||
d2.height += extra.height;
|
||||
size = maxdim(size, d2);
|
||||
break;
|
||||
}
|
||||
case WWT_IMGBTN_2: {
|
||||
static const Dimension extra = {WD_IMGBTN2_LEFT + WD_IMGBTN2_RIGHT, WD_IMGBTN2_TOP + WD_IMGBTN2_BOTTOM};
|
||||
padding = &extra;
|
||||
Dimension d2 = maxdim(GetSpriteSize(this->widget_data), GetSpriteSize(this->widget_data + 1));
|
||||
if (this->type == WWT_IMGBTN_2) d2 = maxdim(d2, GetSpriteSize(this->widget_data + 1));
|
||||
d2.width += extra.width;
|
||||
d2.height += extra.height;
|
||||
size = maxdim(size, d2);
|
||||
|
Reference in New Issue
Block a user