diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 059d04f856..eac367669a 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -61,7 +61,7 @@ DPIFrame(NULL, wxID_ANY, SLIC3R_BUILD, wxDefaultPosition, wxDefaultSize, wxDEFAU /* Load default preset bitmaps before a tabpanel initialization, * but after filling of an em_unit value */ - wxGetApp().preset_bundle->load_default_preset_bitmaps(); + wxGetApp().preset_bundle->load_default_preset_bitmaps(this); // initialize tabpanel and menubar init_tabpanel(); diff --git a/src/slic3r/GUI/Preset.cpp b/src/slic3r/GUI/Preset.cpp index df4500d0c7..97c42d7fb9 100644 --- a/src/slic3r/GUI/Preset.cpp +++ b/src/slic3r/GUI/Preset.cpp @@ -799,16 +799,14 @@ bool PresetCollection::delete_current_preset() return true; } -void PresetCollection::load_bitmap_default(const std::string &file_name) +void PresetCollection::load_bitmap_default(wxWindow *window, const std::string &file_name) { - // FIXME: pass window ptr for proper scaling - *m_bitmap_main_frame = create_scaled_bitmap(nullptr, file_name); + *m_bitmap_main_frame = create_scaled_bitmap(window, file_name); } -void PresetCollection::load_bitmap_add(const std::string &file_name) +void PresetCollection::load_bitmap_add(wxWindow *window, const std::string &file_name) { - // FIXME: pass window ptr for proper scaling - *m_bitmap_add = create_scaled_bitmap(nullptr, file_name); + *m_bitmap_add = create_scaled_bitmap(window, file_name); } const Preset* PresetCollection::get_selected_preset_parent() const diff --git a/src/slic3r/GUI/Preset.hpp b/src/slic3r/GUI/Preset.hpp index 22740e31e1..41c9ff72b6 100644 --- a/src/slic3r/GUI/Preset.hpp +++ b/src/slic3r/GUI/Preset.hpp @@ -15,6 +15,7 @@ class wxBitmapComboBox; class wxChoice; class wxItemContainer; class wxString; +class wxWindow; namespace Slic3r { @@ -276,10 +277,10 @@ public: bool delete_current_preset(); // Load default bitmap to be placed at the wxBitmapComboBox of a MainFrame. - void load_bitmap_default(const std::string &file_name); + void load_bitmap_default(wxWindow *window, const std::string &file_name); // Load "add new printer" bitmap to be placed at the wxBitmapComboBox of a MainFrame. - void load_bitmap_add(const std::string &file_name); + void load_bitmap_add(wxWindow *window, const std::string &file_name); // Compatible & incompatible marks, to be placed at the wxBitmapComboBox items. void set_bitmap_compatible (const wxBitmap *bmp) { m_bitmap_compatible = bmp; } diff --git a/src/slic3r/GUI/PresetBundle.cpp b/src/slic3r/GUI/PresetBundle.cpp index 6bf72675df..75a81e676f 100644 --- a/src/slic3r/GUI/PresetBundle.cpp +++ b/src/slic3r/GUI/PresetBundle.cpp @@ -396,13 +396,12 @@ void PresetBundle::export_selections(AppConfig &config) config.set("presets", "printer", printers.get_selected_preset_name()); } -void PresetBundle::load_compatible_bitmaps() +void PresetBundle::load_compatible_bitmaps(wxWindow *window) { - // FIXME: pass window ptr for proper scaling - *m_bitmapCompatible = create_scaled_bitmap(nullptr, "flag-green-icon.png"); - *m_bitmapIncompatible = create_scaled_bitmap(nullptr, "flag-red-icon.png"); - *m_bitmapLock = create_scaled_bitmap(nullptr, "sys_lock.png"); - *m_bitmapLockOpen = create_scaled_bitmap(nullptr, "sys_unlock.png"); + *m_bitmapCompatible = create_scaled_bitmap(window, "flag-green-icon.png"); + *m_bitmapIncompatible = create_scaled_bitmap(window, "flag-red-icon.png"); + *m_bitmapLock = create_scaled_bitmap(window, "sys_lock.png"); + *m_bitmapLockOpen = create_scaled_bitmap(window, "sys_unlock.png"); prints .set_bitmap_compatible(m_bitmapCompatible); filaments .set_bitmap_compatible(m_bitmapCompatible); @@ -1428,15 +1427,15 @@ bool PresetBundle::parse_color(const std::string &scolor, unsigned char *rgb_out return true; } -void PresetBundle::load_default_preset_bitmaps() +void PresetBundle::load_default_preset_bitmaps(wxWindow *window) { - this->prints.load_bitmap_default("cog"); - this->sla_prints.load_bitmap_default("cog"); - this->filaments.load_bitmap_default("spool.png"); - this->sla_materials.load_bitmap_default("package_green.png"); - this->printers.load_bitmap_default("printer"); - this->printers.load_bitmap_add("add.png"); - this->load_compatible_bitmaps(); + this->prints.load_bitmap_default(window, "cog"); + this->sla_prints.load_bitmap_default(window, "cog"); + this->filaments.load_bitmap_default(window, "spool.png"); + this->sla_materials.load_bitmap_default(window, "package_green.png"); + this->printers.load_bitmap_default(window, "printer"); + this->printers.load_bitmap_add(window, "add.png"); + this->load_compatible_bitmaps(window); } void PresetBundle::update_platter_filament_ui(unsigned int idx_extruder, GUI::PresetComboBox *ui) diff --git a/src/slic3r/GUI/PresetBundle.hpp b/src/slic3r/GUI/PresetBundle.hpp index 1f627d0456..069ebd784f 100644 --- a/src/slic3r/GUI/PresetBundle.hpp +++ b/src/slic3r/GUI/PresetBundle.hpp @@ -7,6 +7,8 @@ #include #include +class wxWindow; + namespace Slic3r { namespace GUI { @@ -127,7 +129,7 @@ public: static bool parse_color(const std::string &scolor, unsigned char *rgb_out); - void load_default_preset_bitmaps(); + void load_default_preset_bitmaps(wxWindow *window); private: std::string load_system_presets(); @@ -148,7 +150,7 @@ private: // If it is not an external config, then the config will be stored into the user profile directory. void load_config_file_config(const std::string &name_or_path, bool is_external, DynamicPrintConfig &&config); void load_config_file_config_bundle(const std::string &path, const boost::property_tree::ptree &tree); - void load_compatible_bitmaps(); + void load_compatible_bitmaps(wxWindow *window); DynamicPrintConfig full_fff_config() const; DynamicPrintConfig full_sla_config() const;