FIX: thumbnail is not clear in dark mode

JIRA: STUDIO-5087

Change-Id: Ie86493ed71b5554095927f061509a1f551758b61
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
This commit is contained in:
wenjie.guo
2023-11-15 12:29:43 +08:00
committed by Lane.Wei
parent 6e97750dcd
commit c11b37c70f
5 changed files with 37 additions and 0 deletions

View File

@@ -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

View File

@@ -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;
};

View File

@@ -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);

View File

@@ -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;