FIX: Black spot in the sending printing task page

Jira: STUDIO-5307

Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I3bd97c063ec5f0faf7d12047da39f60ce55cae4b
This commit is contained in:
wenjie.guo 2023-11-22 16:15:06 +08:00 committed by Lane.Wei
parent 21647a8a97
commit 274b13d977
2 changed files with 23 additions and 8 deletions

View File

@ -4196,8 +4196,6 @@ void SelectMachineDialog::sys_color_changed()
else { else {
m_rename_button->SetBitmap(ams_editable->bmp()); m_rename_button->SetBitmap(ams_editable->bmp());
} }
m_thumbnailPanel->set_thumbnail_on_color_change();
m_thumbnailPanel->Refresh();
m_rename_button->Refresh(); m_rename_button->Refresh();
} }
@ -4432,6 +4430,7 @@ void EditDevNameDialog::on_edit_name(wxCommandEvent &e)
m_staticbitmap = new wxStaticBitmap(parent, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize); m_staticbitmap = new wxStaticBitmap(parent, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize);
m_background_bitmap = ScalableBitmap(this,"thumbnail_grid",256); m_background_bitmap = ScalableBitmap(this,"thumbnail_grid",256);
sizer->Add(m_staticbitmap, 1, wxEXPAND, 0); sizer->Add(m_staticbitmap, 1, wxEXPAND, 0);
Bind(wxEVT_PAINT, &ThumbnailPanel::OnPaint, this);
SetSizer(sizer); SetSizer(sizer);
Layout(); Layout();
Fit(); Fit();
@ -4448,14 +4447,30 @@ void EditDevNameDialog::on_edit_name(wxCommandEvent &e)
dc.DrawBitmap(m_bitmap, 0, 0); dc.DrawBitmap(m_bitmap, 0, 0);
dc.SelectObject(wxNullBitmap); dc.SelectObject(wxNullBitmap);
set_thumbnail_on_color_change();
} }
void ThumbnailPanel::set_thumbnail_on_color_change() { void ThumbnailPanel::OnPaint(wxPaintEvent& event) {
if (wxGetApp().dark_mode())
m_staticbitmap->SetBitmap(bitmap_with_background); wxPaintDC dc(this);
render(dc);
}
void ThumbnailPanel::render(wxDC& dc) {
if (wxGetApp().dark_mode()) {
#ifdef __WXMSW__
wxMemoryDC memdc;
wxBitmap bmp(GetSize());
memdc.SelectObject(bmp);
memdc.DrawBitmap(bitmap_with_background, 0, 0);
dc.Blit(0, 0, GetSize().GetWidth(), GetSize().GetHeight(), &memdc, 0, 0);
#else
dc.DrawBitmap(bitmap_with_background, 0, 0);
#endif
}
else else
m_staticbitmap->SetBitmap(m_bitmap); dc.DrawBitmap(m_bitmap, 0, 0);
} }
ThumbnailPanel::~ThumbnailPanel() {} ThumbnailPanel::~ThumbnailPanel() {}

View File

@ -514,7 +514,7 @@ public:
void PaintBackground(wxDC &dc); void PaintBackground(wxDC &dc);
void OnEraseBackground(wxEraseEvent &event); void OnEraseBackground(wxEraseEvent &event);
void set_thumbnail(wxImage img); void set_thumbnail(wxImage img);
void set_thumbnail_on_color_change(); void render(wxDC &dc);
private: private:
ScalableBitmap m_background_bitmap; ScalableBitmap m_background_bitmap;
wxBitmap bitmap_with_background; wxBitmap bitmap_with_background;