From 3065771b2c50a409d904b830f4232655023b4b12 Mon Sep 17 00:00:00 2001 From: "chunmao.guo" Date: Mon, 6 Feb 2023 10:47:53 +0800 Subject: [PATCH] FIX: [STUDIO-1746] transparent background for images of swtich button Change-Id: I30012a756242816a69099d211bea444bebc4277d (cherry picked from commit b1efb320cc4290406001994d45b0ef182d6cce30) --- src/slic3r/GUI/Widgets/SwitchButton.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/slic3r/GUI/Widgets/SwitchButton.cpp b/src/slic3r/GUI/Widgets/SwitchButton.cpp index a0b03ced59..3dc182032f 100644 --- a/src/slic3r/GUI/Widgets/SwitchButton.cpp +++ b/src/slic3r/GUI/Widgets/SwitchButton.cpp @@ -100,10 +100,18 @@ void SwitchButton::Rescale() } for (int i = 0; i < 2; ++i) { wxMemoryDC memdc(&dc); +#ifdef __WXMSW__ wxBitmap bmp(trackSize.x, trackSize.y); memdc.SelectObject(bmp); memdc.SetBackground(wxBrush(GetBackgroundColour())); memdc.Clear(); +#else + wxImage image(trackSize); + image.InitAlpha(); + memset(image.GetAlpha(), 0, trackSize.GetWidth() * trackSize.GetHeight()); + wxBitmap bmp(std::move(image)); + memdc.SelectObject(bmp); +#endif memdc.SetFont(dc.GetFont()); auto state = i == 0 ? StateColor::Enabled : (StateColor::Checked | StateColor::Enabled); {