diff --git a/resources/images/thumbnail_grid.svg b/resources/images/thumbnail_grid.svg new file mode 100644 index 000000000..e2e44fdef --- /dev/null +++ b/resources/images/thumbnail_grid.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 454ce39aa..272484389 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -4427,7 +4427,9 @@ void EditDevNameDialog::on_edit_name(wxCommandEvent &e) SetBackgroundStyle(wxBG_STYLE_CUSTOM); wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL); m_staticbitmap = new wxStaticBitmap(parent, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize); + m_background_bitmap = ScalableBitmap(this,"thumbnail_grid",256); sizer->Add(m_staticbitmap, 1, wxEXPAND, 0); + Bind(wxEVT_PAINT, &ThumbnailPanel::paint,this); SetSizer(sizer); Layout(); Fit(); @@ -4439,6 +4441,13 @@ void EditDevNameDialog::on_edit_name(wxCommandEvent &e) m_staticbitmap->SetBitmap(bitmap); } + void ThumbnailPanel::paint(wxPaintEvent& evt) { + wxPaintDC dc(this); + if (wxGetApp().dark_mode()) + dc.DrawBitmap(m_background_bitmap.bmp(), 0, 0); + dc.DrawBitmap(m_staticbitmap->GetBitmap(),0,0); + } + ThumbnailPanel::~ThumbnailPanel() {} }} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/SelectMachine.hpp b/src/slic3r/GUI/SelectMachine.hpp index 45e3bab67..17b2f7834 100644 --- a/src/slic3r/GUI/SelectMachine.hpp +++ b/src/slic3r/GUI/SelectMachine.hpp @@ -514,6 +514,9 @@ public: void PaintBackground(wxDC &dc); void OnEraseBackground(wxEraseEvent &event); void set_thumbnail(wxImage img); + void paint(wxPaintEvent& evt); +private: + ScalableBitmap m_background_bitmap; }; diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index 143eb893e..e47b97ffb 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -147,6 +147,7 @@ PrintingTaskPanel::PrintingTaskPanel(wxWindow* parent, PrintingTaskType type) m_type = type; create_panel(this); SetBackgroundColour(*wxWHITE); + m_bitmap_background = ScalableBitmap(this, "thumbnail_grid", m_bitmap_thumbnail->GetSize().y); m_bitmap_thumbnail->Bind(wxEVT_PAINT, &PrintingTaskPanel::paint, this); } @@ -544,6 +545,8 @@ void PrintingTaskPanel::create_panel(wxWindow* parent) void PrintingTaskPanel::paint(wxPaintEvent&) { wxPaintDC dc(m_bitmap_thumbnail); + if (wxGetApp().dark_mode()) + dc.DrawBitmap(m_bitmap_background.bmp(), 0, 0); dc.DrawBitmap(m_thumbnail_bmp_display, wxPoint(0, 0)); dc.SetTextForeground(*wxBLACK); dc.SetFont(Label::Body_12); diff --git a/src/slic3r/GUI/StatusPanel.hpp b/src/slic3r/GUI/StatusPanel.hpp index 718598d32..129075964 100644 --- a/src/slic3r/GUI/StatusPanel.hpp +++ b/src/slic3r/GUI/StatusPanel.hpp @@ -163,6 +163,7 @@ private: wxBitmap m_thumbnail_bmp_display; ScalableBitmap m_bitmap_use_time; ScalableBitmap m_bitmap_use_weight; + ScalableBitmap m_bitmap_background; wxPanel * m_panel_printing_title; wxPanel* m_staticline;