Fix of #5584 - Information text on startup logo
This commit is contained in:
parent
57d0f4b4f6
commit
48c7673cc6
1 changed files with 11 additions and 2 deletions
|
@ -131,7 +131,7 @@ public:
|
||||||
|
|
||||||
memDC.SetFont(m_action_font);
|
memDC.SetFont(m_action_font);
|
||||||
memDC.SetTextForeground(wxColour(237, 107, 33));
|
memDC.SetTextForeground(wxColour(237, 107, 33));
|
||||||
memDC.DrawText(text, int(m_scale * 60), int(m_scale * 275));
|
memDC.DrawText(text, int(m_scale * 60), m_action_line_y_position);
|
||||||
|
|
||||||
memDC.SelectObject(wxNullBitmap);
|
memDC.SelectObject(wxNullBitmap);
|
||||||
set_bitmap(bitmap);
|
set_bitmap(bitmap);
|
||||||
|
@ -206,14 +206,22 @@ public:
|
||||||
|
|
||||||
memDc.SetFont(m_constant_text.version_font);
|
memDc.SetFont(m_constant_text.version_font);
|
||||||
memDc.DrawLabel(m_constant_text.version, banner_rect, wxALIGN_TOP | wxALIGN_LEFT);
|
memDc.DrawLabel(m_constant_text.version, banner_rect, wxALIGN_TOP | wxALIGN_LEFT);
|
||||||
|
int version_height = memDc.GetTextExtent(m_constant_text.version).GetY();
|
||||||
|
|
||||||
memDc.SetFont(m_constant_text.credits_font);
|
memDc.SetFont(m_constant_text.credits_font);
|
||||||
memDc.DrawLabel(m_constant_text.credits, banner_rect, wxALIGN_BOTTOM | wxALIGN_LEFT);
|
memDc.DrawLabel(m_constant_text.credits, banner_rect, wxALIGN_BOTTOM | wxALIGN_LEFT);
|
||||||
|
int credits_height = memDc.GetMultiLineTextExtent(m_constant_text.credits).GetY();
|
||||||
|
int text_height = memDc.GetTextExtent("text").GetY();
|
||||||
|
|
||||||
|
// calculate position for the dynamic text
|
||||||
|
int logo_and_header_height = margin + logo_size + title_height + version_height;
|
||||||
|
m_action_line_y_position = logo_and_header_height + 0.5 * (bmp.GetHeight() - margin - credits_height - logo_and_header_height - text_height);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxBitmap m_main_bitmap;
|
wxBitmap m_main_bitmap;
|
||||||
wxFont m_action_font;
|
wxFont m_action_font;
|
||||||
|
int m_action_line_y_position;
|
||||||
float m_scale {1.0};
|
float m_scale {1.0};
|
||||||
|
|
||||||
struct ConstantText
|
struct ConstantText
|
||||||
|
@ -258,7 +266,8 @@ private:
|
||||||
float title_font_scale = (float)text_banner_width / GetTextExtent(m_constant_text.title).GetX();
|
float title_font_scale = (float)text_banner_width / GetTextExtent(m_constant_text.title).GetX();
|
||||||
scale_font(m_constant_text.title_font, title_font_scale > 3.5f ? 3.5f : title_font_scale);
|
scale_font(m_constant_text.title_font, title_font_scale > 3.5f ? 3.5f : title_font_scale);
|
||||||
|
|
||||||
scale_font(m_constant_text.version_font, 2.f);
|
float version_font_scale = (float)text_banner_width / GetTextExtent(m_constant_text.version).GetX();
|
||||||
|
scale_font(m_constant_text.version_font, version_font_scale > 2.f ? 2.f : version_font_scale);
|
||||||
|
|
||||||
// The width of the credits information string doesn't respect to the banner width some times.
|
// The width of the credits information string doesn't respect to the banner width some times.
|
||||||
// So, scale credits_font in the respect to the longest string width
|
// So, scale credits_font in the respect to the longest string width
|
||||||
|
|
Loading…
Reference in a new issue