mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-21 20:25:20 +00:00
ENH: ColorPicker use the bmp size
JIRA: [STUDIO-13908] [STUDIO-14242] Change-Id: Iac008bcc483b31e3f7e7278a0eea20823eb3bf70 (cherry picked from commit ad9902537c4b1842fd29cfd9fb9eb70681c78327)
This commit is contained in:
@@ -1378,6 +1378,7 @@ ColorPicker::ColorPicker(wxWindow* parent, wxWindowID id, const wxPoint& pos /*=
|
|||||||
|
|
||||||
m_bitmap_border = create_scaled_bitmap("color_picker_border", nullptr, 25);
|
m_bitmap_border = create_scaled_bitmap("color_picker_border", nullptr, 25);
|
||||||
m_bitmap_border_dark = create_scaled_bitmap("color_picker_border_dark", nullptr, 25);
|
m_bitmap_border_dark = create_scaled_bitmap("color_picker_border_dark", nullptr, 25);
|
||||||
|
m_bitmap_transparent_def = ScalableBitmap(this, "transparent_color_picker", 25);
|
||||||
m_bitmap_transparent = create_scaled_bitmap("transparent_color_picker", nullptr, 25);
|
m_bitmap_transparent = create_scaled_bitmap("transparent_color_picker", nullptr, 25);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1387,7 +1388,7 @@ void ColorPicker::msw_rescale()
|
|||||||
{
|
{
|
||||||
m_bitmap_border = create_scaled_bitmap("color_picker_border", nullptr, 25);
|
m_bitmap_border = create_scaled_bitmap("color_picker_border", nullptr, 25);
|
||||||
m_bitmap_border_dark = create_scaled_bitmap("color_picker_border_dark", nullptr, 25);
|
m_bitmap_border_dark = create_scaled_bitmap("color_picker_border_dark", nullptr, 25);
|
||||||
m_bitmap_transparent = create_scaled_bitmap("transparent_color_picker", nullptr, 25);
|
m_bitmap_transparent_def.msw_rescale();
|
||||||
|
|
||||||
Refresh();
|
Refresh();
|
||||||
}
|
}
|
||||||
@@ -1442,15 +1443,15 @@ void ColorPicker::doRender(wxDC& dc)
|
|||||||
if (m_selected) radius -= FromDIP(1);
|
if (m_selected) radius -= FromDIP(1);
|
||||||
|
|
||||||
if (alpha == 0) {
|
if (alpha == 0) {
|
||||||
wxSize bmp_size = m_bitmap_transparent.GetSize();
|
wxSize bmp_size = m_bitmap_transparent_def.GetBmpSize();
|
||||||
int center_x = (size.x - bmp_size.x) / 2;
|
int center_x = (size.x - bmp_size.x) / 2;
|
||||||
int center_y = (size.y - bmp_size.y) / 2;
|
int center_y = (size.y - bmp_size.y) / 2;
|
||||||
dc.DrawBitmap(m_bitmap_transparent, center_x, center_y);
|
dc.DrawBitmap(m_bitmap_transparent_def.bmp(), center_x, center_y);
|
||||||
}
|
}
|
||||||
else if (alpha != 254 && alpha != 255) {
|
else if (alpha != 254 && alpha != 255) {
|
||||||
if (transparent_changed) {
|
if (transparent_changed) {
|
||||||
std::string rgb = (m_colour.GetAsString(wxC2S_HTML_SYNTAX)).ToStdString();
|
std::string rgb = (m_colour.GetAsString(wxC2S_HTML_SYNTAX)).ToStdString();
|
||||||
if (rgb.size() == 8) {
|
if (rgb.size() == 9) {
|
||||||
//delete alpha value
|
//delete alpha value
|
||||||
rgb = rgb.substr(0, rgb.size() - 2);
|
rgb = rgb.substr(0, rgb.size() - 2);
|
||||||
}
|
}
|
||||||
@@ -1461,12 +1462,11 @@ void ColorPicker::doRender(wxDC& dc)
|
|||||||
replace.push_back(fill_replace);
|
replace.push_back(fill_replace);
|
||||||
m_bitmap_transparent = ScalableBitmap(this, "transparent_color_picker", 25, false, false, true, replace).bmp();
|
m_bitmap_transparent = ScalableBitmap(this, "transparent_color_picker", 25, false, false, true, replace).bmp();
|
||||||
transparent_changed = false;
|
transparent_changed = false;
|
||||||
|
}
|
||||||
wxSize bmp_size = m_bitmap_transparent.GetSize();
|
wxSize bmp_size = m_bitmap_transparent.GetSize();
|
||||||
int center_x = (size.x - bmp_size.x) / 2;
|
int center_x = (size.x - bmp_size.x) / 2;
|
||||||
int center_y = (size.y - bmp_size.y) / 2;
|
int center_y = (size.y - bmp_size.y) / 2;
|
||||||
dc.DrawBitmap(m_bitmap_transparent, center_x, center_y);
|
dc.DrawBitmap(m_bitmap_transparent, center_x, center_y);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
dc.SetPen(wxPen(m_colour));
|
dc.SetPen(wxPen(m_colour));
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ public:
|
|||||||
wxBitmap m_bitmap_border;
|
wxBitmap m_bitmap_border;
|
||||||
wxBitmap m_bitmap_border_dark;
|
wxBitmap m_bitmap_border_dark;
|
||||||
wxBitmap m_bitmap_transparent;
|
wxBitmap m_bitmap_transparent;
|
||||||
|
ScalableBitmap m_bitmap_transparent_def; //default transparent material
|
||||||
|
|
||||||
wxColour m_colour;
|
wxColour m_colour;
|
||||||
std::vector<wxColour> m_cols;
|
std::vector<wxColour> m_cols;
|
||||||
|
|||||||
Reference in New Issue
Block a user