Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuSanka <yusanka@gmail.com>2021-01-05 16:25:05 +0300
committerYuSanka <yusanka@gmail.com>2021-01-05 16:26:10 +0300
commit48c7673cc6ba1bdf428393d26e6768cf6c12f2b3 (patch)
tree534ad423a44158af9145d98412465e809abf8e51
parent57d0f4b4f6b813aa2cf81cb6c160152031c1be91 (diff)
Fix of #5584 - Information text on startup logo
-rw-r--r--src/slic3r/GUI/GUI_App.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp
index 5de7af5d0..1be2495ca 100644
--- a/src/slic3r/GUI/GUI_App.cpp
+++ b/src/slic3r/GUI/GUI_App.cpp
@@ -131,7 +131,7 @@ public:
memDC.SetFont(m_action_font);
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);
set_bitmap(bitmap);
@@ -206,14 +206,22 @@ public:
memDc.SetFont(m_constant_text.version_font);
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.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:
wxBitmap m_main_bitmap;
wxFont m_action_font;
+ int m_action_line_y_position;
float m_scale {1.0};
struct ConstantText
@@ -258,7 +266,8 @@ private:
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.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.
// So, scale credits_font in the respect to the longest string width