mirror of
https://github.com/OpenTTD/OpenTTD
synced 2026-01-26 05:34:12 +01:00
Codechange: Replace Rect CentreTo with CentreToHeight. (#14675)
So far all callers only need to centre vertically, so not having to provide the existing width simplifies calls.
This commit is contained in:
@@ -1333,8 +1333,8 @@ public:
|
||||
Rect ir = r.Shrink(WidgetDimensions::scaled.frametext, RectPadding::zero).WithHeight(this->line_height);
|
||||
bool rtl = _current_text_dir == TD_RTL;
|
||||
|
||||
Rect br = ir.CentreTo(ir.Width(), SETTING_BUTTON_HEIGHT).WithWidth(SETTING_BUTTON_WIDTH, rtl);
|
||||
Rect tr = ir.Shrink(RectPadding::zero, WidgetDimensions::scaled.matrix).CentreTo(ir.Width(), GetCharacterHeight(FS_NORMAL)).Indent(SETTING_BUTTON_WIDTH + WidgetDimensions::scaled.hsep_wide, rtl);
|
||||
Rect br = ir.CentreToHeight(SETTING_BUTTON_HEIGHT).WithWidth(SETTING_BUTTON_WIDTH, rtl);
|
||||
Rect tr = ir.Shrink(RectPadding::zero, WidgetDimensions::scaled.matrix).CentreToHeight(GetCharacterHeight(FS_NORMAL)).Indent(SETTING_BUTTON_WIDTH + WidgetDimensions::scaled.hsep_wide, rtl);
|
||||
|
||||
DrawArrowButtons(br.left, br.top, COLOUR_YELLOW, this->selected_var == UINT_MAX - 1 ? this->click_state : 0, true, true);
|
||||
DrawString(tr, GetString(STR_FACE_SETTING_NUMERIC, STR_FACE_STYLE, this->face.style + 1, GetNumCompanyManagerFaceStyles()), TC_WHITE);
|
||||
@@ -1352,8 +1352,8 @@ public:
|
||||
const uint8_t var = static_cast<uint8_t>(*it - vars.data());
|
||||
const FaceVar &facevar = **it;
|
||||
|
||||
Rect br = ir.CentreTo(ir.Width(), SETTING_BUTTON_HEIGHT).WithWidth(SETTING_BUTTON_WIDTH, rtl);
|
||||
Rect tr = ir.Shrink(RectPadding::zero, WidgetDimensions::scaled.matrix).CentreTo(ir.Width(), GetCharacterHeight(FS_NORMAL)).Indent(SETTING_BUTTON_WIDTH + WidgetDimensions::scaled.hsep_wide, rtl);
|
||||
Rect br = ir.CentreToHeight(SETTING_BUTTON_HEIGHT).WithWidth(SETTING_BUTTON_WIDTH, rtl);
|
||||
Rect tr = ir.Shrink(RectPadding::zero, WidgetDimensions::scaled.matrix).CentreToHeight(GetCharacterHeight(FS_NORMAL)).Indent(SETTING_BUTTON_WIDTH + WidgetDimensions::scaled.hsep_wide, rtl);
|
||||
|
||||
uint val = vars[var].GetBits(this->face);
|
||||
if (facevar.type == FaceVarType::Toggle) {
|
||||
|
||||
@@ -253,16 +253,14 @@ struct Rect {
|
||||
}
|
||||
|
||||
/**
|
||||
* Centre a dimension within this Rect.
|
||||
* @param width The horizontal dimension.
|
||||
* Centre a vertical dimension within this Rect.
|
||||
* @param height The vertical dimension.
|
||||
* @return the new resized Rect.
|
||||
*/
|
||||
[[nodiscard]] inline Rect CentreTo(int width, int height) const
|
||||
[[nodiscard]] inline Rect CentreToHeight(int height) const
|
||||
{
|
||||
int new_left = CentreBounds(this->left, this->right, width);
|
||||
int new_top = CentreBounds(this->top, this->bottom, height);
|
||||
return {new_left, new_top, new_left + width - 1, new_top + height - 1};
|
||||
return {this->left, new_top, this->right, new_top + height - 1};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -216,7 +216,7 @@ public:
|
||||
bool rtl = TEnd ^ (_current_text_dir == TD_RTL);
|
||||
int w = SETTING_BUTTON_WIDTH;
|
||||
|
||||
if (r.WithWidth(w, rtl).CentreTo(w, SETTING_BUTTON_HEIGHT).Contains(pt)) return this->click;
|
||||
if (r.WithWidth(w, rtl).CentreToHeight(SETTING_BUTTON_HEIGHT).Contains(pt)) return this->click;
|
||||
|
||||
return this->TBase::OnClick(r.Indent(w + WidgetDimensions::scaled.hsep_wide, rtl), pt);
|
||||
}
|
||||
@@ -226,7 +226,7 @@ public:
|
||||
bool rtl = TEnd ^ (_current_text_dir == TD_RTL);
|
||||
int w = SETTING_BUTTON_WIDTH;
|
||||
|
||||
Rect br = r.WithWidth(w, rtl).CentreTo(w, SETTING_BUTTON_HEIGHT);
|
||||
Rect br = r.WithWidth(w, rtl).CentreToHeight(SETTING_BUTTON_HEIGHT);
|
||||
DrawBoolButton(br.left, br.top, this->button_colour, this->background_colour, this->on, true);
|
||||
|
||||
this->TBase::Draw(full, r.Indent(w + WidgetDimensions::scaled.hsep_wide, rtl), sel, click_result, bg_colour);
|
||||
|
||||
@@ -1419,8 +1419,7 @@ struct GenerateProgressWindow : public Window {
|
||||
DrawFrameRect(r, COLOUR_GREY, {FrameFlag::BorderOnly, FrameFlag::Lowered});
|
||||
Rect br = r.Shrink(WidgetDimensions::scaled.bevel);
|
||||
DrawFrameRect(br.WithWidth(br.Width() * GenWorldStatus::percent / 100, _current_text_dir == TD_RTL), COLOUR_MAUVE, {});
|
||||
DrawString(br.left, br.right, CentreBounds(br.top, br.bottom, GetCharacterHeight(FS_NORMAL)),
|
||||
GetString(STR_GENERATION_PROGRESS, GenWorldStatus::percent), TC_FROMSTRING, SA_HOR_CENTER);
|
||||
DrawString(br.CentreToHeight(GetCharacterHeight(FS_NORMAL)), GetString(STR_GENERATION_PROGRESS, GenWorldStatus::percent), TC_FROMSTRING, SA_HOR_CENTER);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -1442,7 +1442,7 @@ protected:
|
||||
{
|
||||
bool rtl = _current_text_dir == TD_RTL;
|
||||
for (auto &button : buttons) {
|
||||
Rect br = r.CentreTo(r.Width(), button->height).WithWidth(button->width, !rtl);
|
||||
Rect br = r.CentreToHeight(button->height).WithWidth(button->width, !rtl);
|
||||
DrawFrameRect(br, button->colour, {});
|
||||
DrawSpriteIgnorePadding(button->sprite, PAL_NONE, br, SA_CENTER);
|
||||
if (button->disabled) {
|
||||
@@ -1467,7 +1467,7 @@ public:
|
||||
PaletteID pal = Company::IsValidID(this->company_id) ? GetCompanyPalette(this->company_id) : PALETTE_TO_GREY;
|
||||
DrawSpriteIgnorePadding(SPR_COMPANY_ICON, pal, r.WithWidth(d.width, rtl), SA_CENTER);
|
||||
|
||||
Rect tr = r.CentreTo(r.Width(), GetCharacterHeight(FS_NORMAL)).Indent(d.width + WidgetDimensions::scaled.hsep_normal, rtl);
|
||||
Rect tr = r.CentreToHeight(GetCharacterHeight(FS_NORMAL)).Indent(d.width + WidgetDimensions::scaled.hsep_normal, rtl);
|
||||
if (this->company_id == COMPANY_SPECTATOR) {
|
||||
DrawString(tr, STR_NETWORK_CLIENT_LIST_SPECTATORS, TC_SILVER);
|
||||
} else if (this->company_id == COMPANY_NEW_COMPANY) {
|
||||
@@ -1493,7 +1493,7 @@ public:
|
||||
bool rtl = _current_text_dir == TD_RTL;
|
||||
r = this->DrawButtons(r);
|
||||
|
||||
Rect tr = r.CentreTo(r.Width(), GetCharacterHeight(FS_NORMAL));
|
||||
Rect tr = r.CentreToHeight(GetCharacterHeight(FS_NORMAL));
|
||||
|
||||
SpriteID player_icon = 0;
|
||||
if (ci->client_id == _network_own_client_id) {
|
||||
|
||||
@@ -280,7 +280,7 @@ public:
|
||||
bool rtl = (_current_text_dir == TD_RTL);
|
||||
int w = SETTING_BUTTON_WIDTH;
|
||||
|
||||
Rect br = r.WithWidth(w, TEnd ^ rtl).CentreTo(w, SETTING_BUTTON_HEIGHT);
|
||||
Rect br = r.WithWidth(w, TEnd ^ rtl).CentreToHeight(SETTING_BUTTON_HEIGHT);
|
||||
if (br.WithWidth(w / 2, rtl).Contains(pt)) return this->click_up;
|
||||
if (br.WithWidth(w / 2, !rtl).Contains(pt)) return this->click_down;
|
||||
|
||||
@@ -298,7 +298,7 @@ public:
|
||||
if (click_result == this->click_down) state = 2;
|
||||
}
|
||||
|
||||
Rect br = r.WithWidth(w, TEnd ^ rtl).CentreTo(w, SETTING_BUTTON_HEIGHT);
|
||||
Rect br = r.WithWidth(w, TEnd ^ rtl).CentreToHeight(SETTING_BUTTON_HEIGHT);
|
||||
DrawUpDownButtons(br.left, br.top, this->button_colour, state, this->click_up != 0, this->click_down != 0);
|
||||
|
||||
this->TBase::Draw(full, r.Indent(w + WidgetDimensions::scaled.hsep_wide, TEnd ^ rtl), sel, click_result, bg_colour);
|
||||
|
||||
@@ -752,7 +752,7 @@ static inline void DrawButtonDropdown(const Rect &r, Colours colour, bool clicke
|
||||
Rect text = r.Indent(NWidgetLeaf::dropdown_dimension.width, !rtl);
|
||||
DrawFrameRect(text, colour, clicked_button ? FrameFlag::Lowered : FrameFlags{});
|
||||
if (!str.empty()) {
|
||||
text = text.CentreTo(text.Width(), GetCharacterHeight(FS_NORMAL)).Shrink(WidgetDimensions::scaled.dropdowntext, RectPadding::zero);
|
||||
text = text.CentreToHeight(GetCharacterHeight(FS_NORMAL)).Shrink(WidgetDimensions::scaled.dropdowntext, RectPadding::zero);
|
||||
DrawString(text, str, TC_BLACK, align);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user