Fix: Missing extra padding when drawing tooltip text. (#10201)

* Fix: Missing extra padding when drawing tooltip text.

This padding is included when calculating the size of the tooltips, the
difference caused a mismatch in height for some tooltips.

* Codechange: Don't draw grey panel underneath tooltip.

This removes the default framerect padding so it is now added explicitly.
SetMinimalSize is also removed as this is overridden in UpdateWidgetSize
anyway.
This commit is contained in:
PeterN 2022-11-29 18:55:02 +00:00 committed by GitHub
parent 3100c6e7d0
commit 485368f607
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 4 deletions

View File

@ -656,7 +656,7 @@ void HideFillingPercent(TextEffectID *te_id)
}
static const NWidgetPart _nested_tooltips_widgets[] = {
NWidget(WWT_PANEL, COLOUR_GREY, WID_TT_BACKGROUND), SetMinimalSize(200, 32), EndContainer(),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_TT_BACKGROUND), EndContainer(),
};
static WindowDesc _tool_tips_desc(
@ -722,8 +722,8 @@ struct TooltipsWindow : public Window
size->height = GetStringHeight(this->string_id, size->width);
/* Increase slightly to have some space around the box. */
size->width += padding.width + WidgetDimensions::scaled.fullbevel.Horizontal();
size->height += padding.height + WidgetDimensions::scaled.fullbevel.Vertical();
size->width += WidgetDimensions::scaled.framerect.Horizontal() + WidgetDimensions::scaled.fullbevel.Horizontal();
size->height += WidgetDimensions::scaled.framerect.Vertical() + WidgetDimensions::scaled.fullbevel.Vertical();
}
void DrawWidget(const Rect &r, int widget) const override
@ -735,7 +735,7 @@ struct TooltipsWindow : public Window
for (uint arg = 0; arg < this->paramcount; arg++) {
SetDParam(arg, this->params[arg]);
}
DrawStringMultiLine(r.Shrink(WidgetDimensions::scaled.framerect), this->string_id, TC_FROMSTRING, SA_CENTER);
DrawStringMultiLine(r.Shrink(WidgetDimensions::scaled.framerect).Shrink(WidgetDimensions::scaled.fullbevel), this->string_id, TC_FROMSTRING, SA_CENTER);
}
void OnMouseLoop() override