From ed2bad6709be341fd2732ffae37b46a15100af51 Mon Sep 17 00:00:00 2001 From: YuSanka <yusanka@gmail.com> Date: Sun, 25 Aug 2019 10:31:18 +0200 Subject: [PATCH] Unified calculation of icon size for preset BitmapComboBox --- src/slic3r/GUI/PresetBundle.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/PresetBundle.cpp b/src/slic3r/GUI/PresetBundle.cpp index 3aee71c4c..d6e99b014 100644 --- a/src/slic3r/GUI/PresetBundle.cpp +++ b/src/slic3r/GUI/PresetBundle.cpp @@ -1487,11 +1487,16 @@ void PresetBundle::update_platter_filament_ui(unsigned int idx_extruder, GUI::Pr * and scale them in respect to em_unit value */ const float scale_f = ui->em_unit() * 0.1f; - const int icon_height = 16 * scale_f + 0.5f; - const int normal_icon_width = 16 * scale_f + 0.5f; + + // To avoid the errors of number rounding for different combination of monitor configuration, + // let use scaled 8px, as a smallest icon unit + const int icon_unit = 8 * scale_f + 0.5f; + const int icon_height = 2 * icon_unit; //16 * scale_f + 0.5f; + const int normal_icon_width = 2 * icon_unit; //16 * scale_f + 0.5f; + const int thin_icon_width = icon_unit; //8 * scale_f + 0.5f; + const int wide_icon_width = 3 * icon_unit; //24 * scale_f + 0.5f; + const int space_icon_width = 2 * scale_f + 0.5f; - const int wide_icon_width = 24 * scale_f + 0.5f; - const int thin_icon_width = 8 * scale_f + 0.5f; for (int i = this->filaments().front().is_visible ? 0 : 1; i < int(this->filaments().size()); ++i) { const Preset &preset = this->filaments.preset(i);