NEW:Use new ams mappiong item ui/ux

jira:[STUDIO-7347]

Change-Id: Iba306c4a1b5ae59e406a6862428b425a48002870
This commit is contained in:
hang.xu 2024-06-18 21:23:54 +08:00 committed by lane.wei
parent 7da565f058
commit 260a7202fc
3 changed files with 69 additions and 50 deletions

View File

@ -0,0 +1,10 @@
<svg width="22" height="24" viewBox="0 0 22 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="5.47109" cy="12.0235" rx="3.0248" ry="10.2364" fill="white" stroke="#6B6B6B"/>
<ellipse cx="5.0057" cy="12.0237" rx="0.465353" ry="1.53546" fill="#6B6B6B"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.7616 22.2599C18.4321 22.2599 19.7864 17.6769 19.7864 12.0235C19.7864 6.37009 18.4321 1.78711 16.7616 1.78711C16.1333 1.78711 15.5497 2.43539 15.0661 3.54508C15.0646 3.54866 15.0672 3.55273 15.0711 3.55273V3.55273C15.0719 3.55273 15.0719 3.55249 15.0726 3.55288C15.0968 3.56542 16.7076 4.43067 16.7076 11.9968C16.7076 19.5659 15.0955 20.4833 15.0726 20.496C15.0719 20.4964 15.0719 20.4961 15.0711 20.4961V20.4961C15.0676 20.4961 15.0652 20.4998 15.0666 20.5031C15.5501 21.612 16.1335 22.2599 16.7616 22.2599Z" fill="white"/>
<path d="M15.0666 20.5031L15.525 20.3032L15.0666 20.5031ZM15.0726 20.496L14.8308 20.0583L15.0726 20.496ZM15.0726 3.55288L15.3032 3.10918L15.0726 3.55288ZM15.0661 3.54508L14.6078 3.34533L15.0661 3.54508ZM19.2864 12.0235C19.2864 14.8161 18.9513 17.3252 18.4209 19.12C18.1548 20.0207 17.8477 20.7131 17.5291 21.1691C17.2005 21.6394 16.9333 21.7599 16.7616 21.7599V22.7599C17.4251 22.7599 17.9537 22.3075 18.3489 21.7418C18.754 21.1618 19.0987 20.3552 19.3799 19.4034C19.9444 17.4933 20.2864 14.8843 20.2864 12.0235H19.2864ZM16.7616 2.28711C16.9333 2.28711 17.2005 2.40759 17.5291 2.87789C17.8477 3.33389 18.1548 4.02633 18.4209 4.92697C18.9513 6.72174 19.2864 9.23088 19.2864 12.0235H20.2864C20.2864 9.16271 19.9444 6.55366 19.3799 4.64359C19.0987 3.69181 18.754 2.88515 18.3489 2.30518C17.9537 1.73951 17.4251 1.28711 16.7616 1.28711V2.28711ZM15.5245 3.74483C15.7538 3.21857 15.9927 2.83658 16.2226 2.59379C16.4521 2.35152 16.6327 2.28711 16.7616 2.28711V1.28711C16.2622 1.28711 15.8369 1.54683 15.4966 1.90614C15.1568 2.26491 14.862 2.76189 14.6078 3.34533L15.5245 3.74483ZM14.8421 3.99657C14.7064 3.92606 15.0484 4.02093 15.4271 5.10686C15.8071 6.19689 16.2076 8.2426 16.2076 11.9968H17.2076C17.2076 8.18488 16.8027 6.0149 16.3713 4.77763C15.9385 3.53626 15.463 3.19224 15.3032 3.10918L14.8421 3.99657ZM16.2076 11.9968C16.2076 15.7521 15.8069 17.8125 15.426 18.917C15.0464 20.0178 14.7015 20.1298 14.8308 20.0583L15.3144 20.9336C15.4667 20.8495 15.9392 20.4964 16.3714 19.243C16.8023 17.9934 17.2076 15.8106 17.2076 11.9968H16.2076ZM16.7616 21.7599C16.6327 21.7599 16.4522 21.6955 16.2228 21.4534C15.993 21.2108 15.7543 20.8291 15.525 20.3032L14.6083 20.7029C14.8625 21.286 15.1572 21.7827 15.4969 22.1412C15.8372 22.5003 16.2624 22.7599 16.7616 22.7599V21.7599ZM15.0711 19.9961C14.6964 19.9961 14.4673 20.3794 14.6083 20.7029L15.525 20.3032C15.6632 20.6202 15.4388 20.9961 15.0711 20.9961V19.9961ZM14.8308 20.0583C14.8454 20.0502 14.883 20.0301 14.9352 20.0153C14.9634 20.0072 14.9947 20.001 15.0286 19.9981C15.0623 19.9951 15.0915 19.996 15.1142 19.998C15.1346 19.9997 15.1505 20.0024 15.1529 20.0028C15.1599 20.0039 15.1501 20.0023 15.1449 20.0015C15.1252 19.9986 15.1002 19.9961 15.0711 19.9961V20.9961C15.0425 20.9961 15.0178 20.9936 14.9983 20.9907C14.9932 20.99 14.9835 20.9884 14.9907 20.9895C14.9931 20.9899 15.0091 20.9926 15.0296 20.9944C15.0524 20.9963 15.0817 20.9972 15.1155 20.9943C15.1494 20.9913 15.1808 20.9851 15.2092 20.977C15.2616 20.9621 15.2994 20.9419 15.3144 20.9336L14.8308 20.0583ZM15.0711 4.05273C15.098 4.05273 15.121 4.05057 15.1387 4.04818C15.1422 4.0477 15.1528 4.04613 15.1447 4.04733C15.1418 4.04775 15.1267 4.05003 15.1072 4.05141C15.0857 4.05293 15.0584 4.05346 15.0271 4.05064C14.9958 4.04782 14.9669 4.04223 14.9406 4.03505C14.8919 4.02177 14.8564 4.004 14.8421 3.99657L15.3032 3.10918C15.2885 3.10156 15.2527 3.08367 15.2038 3.07033C15.1443 3.05408 15.0873 3.05032 15.0366 3.0539C15.017 3.05529 15.0018 3.05759 14.9988 3.05803C14.9906 3.05924 15.0011 3.05768 15.0045 3.05722C15.0219 3.05487 15.0445 3.05273 15.0711 3.05273V4.05273ZM14.6078 3.34533C14.4666 3.66925 14.6961 4.05273 15.0711 4.05273V3.05273C15.4382 3.05273 15.6625 3.42807 15.5245 3.74483L14.6078 3.34533Z" fill="#6B6B6B"/>
<mask id="path-5-inside-1_16464_31236" fill="white">
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.74371 20.4941C7.5445 18.6526 8.07053 15.545 8.07053 12.0215C8.07053 8.49929 7.54485 5.39254 6.74451 3.55078H15.5872C15.5872 3.55078 17.2225 4.37156 17.2225 11.9949C17.2225 19.6182 15.5872 20.4941 15.5872 20.4941H6.74371Z"/>
</mask>
<path d="M6.74371 20.4941L5.82667 20.0954L5.21841 21.4941H6.74371V20.4941ZM6.74451 3.55078V2.55078H5.21963L5.82737 3.94933L6.74451 3.55078ZM15.5872 3.55078L16.0358 2.65705L15.8241 2.55078H15.5872V3.55078ZM15.5872 20.4941V21.4941H15.8382L16.0594 21.3756L15.5872 20.4941ZM7.07053 12.0215C7.07053 15.478 6.55034 18.4312 5.82667 20.0954L7.66076 20.8929C8.53866 18.8741 9.07053 15.6119 9.07053 12.0215H7.07053ZM5.82737 3.94933C6.5507 5.61389 7.07053 8.56625 7.07053 12.0215H9.07053C9.07053 8.43233 8.539 5.1712 7.66166 3.15223L5.82737 3.94933ZM6.74451 4.55078H15.5872V2.55078H6.74451V4.55078ZM15.5872 3.55078C15.1387 4.44452 15.137 4.4437 15.1354 4.44289C15.1349 4.44262 15.1333 4.44181 15.1322 4.44127C15.1301 4.44019 15.128 4.43912 15.126 4.43805C15.1219 4.43591 15.1179 4.4338 15.114 4.4317C15.1062 4.42752 15.0989 4.42344 15.0921 4.41948C15.0784 4.41156 15.0665 4.40416 15.0563 4.3975C15.036 4.38413 15.023 4.3739 15.0166 4.36856C15.0036 4.35771 15.0189 4.36792 15.055 4.41411C15.1281 4.50758 15.2855 4.74711 15.4619 5.24695C15.8181 6.25602 16.2225 8.2411 16.2225 11.9949H18.2225C18.2225 8.12531 17.8093 5.88836 17.3478 4.58121C17.1155 3.92295 16.864 3.48083 16.6305 3.18217C16.5133 3.03231 16.4008 2.91883 16.2984 2.83332C16.2473 2.79064 16.1992 2.75534 16.1549 2.72622C16.1328 2.71169 16.1117 2.69875 16.0918 2.68726C16.0818 2.68151 16.0722 2.67614 16.0628 2.67111C16.0582 2.66859 16.0536 2.66616 16.0491 2.66382C16.0468 2.66265 16.0446 2.6615 16.0424 2.66037C16.0413 2.65981 16.0397 2.65897 16.0391 2.65869C16.0375 2.65787 16.0358 2.65705 15.5872 3.55078ZM16.2225 11.9949C16.2225 15.7478 15.8183 17.7487 15.4607 18.7739C15.2834 19.282 15.1242 19.5312 15.0473 19.6322C15.0092 19.6821 14.9916 19.6955 15.0017 19.6867C15.0067 19.6823 15.0182 19.6728 15.0371 19.6598C15.0465 19.6533 15.0576 19.646 15.0706 19.638C15.0771 19.6341 15.0841 19.6299 15.0915 19.6257C15.0952 19.6236 15.099 19.6214 15.1029 19.6193C15.1049 19.6182 15.1069 19.6171 15.1089 19.616C15.1099 19.6154 15.1114 19.6146 15.1119 19.6143C15.1135 19.6135 15.115 19.6127 15.5872 20.4941C16.0594 21.3756 16.061 21.3748 16.0626 21.3739C16.0631 21.3737 16.0647 21.3728 16.0657 21.3722C16.0679 21.3711 16.07 21.3699 16.0722 21.3687C16.0765 21.3663 16.0809 21.3638 16.0854 21.3612C16.0944 21.3561 16.1037 21.3506 16.1132 21.3448C16.1324 21.333 16.1528 21.3199 16.1741 21.3051C16.2169 21.2755 16.2636 21.2397 16.3133 21.1965C16.4129 21.11 16.523 20.9954 16.6382 20.8441C16.8679 20.5426 17.1175 20.0964 17.3491 19.4326C17.8091 18.114 18.2225 15.8652 18.2225 11.9949H16.2225ZM15.5872 19.4941H6.74371V21.4941H15.5872V19.4941Z" fill="#6B6B6B" mask="url(#path-5-inside-1_16464_31236)"/>
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -32,6 +32,8 @@ wxDEFINE_EVENT(EVT_SET_FINISH_MAPPING, wxCommandEvent);
m_arraw_bitmap_gray = ScalableBitmap(this, "drop_down", FromDIP(12)); m_arraw_bitmap_gray = ScalableBitmap(this, "drop_down", FromDIP(12));
m_arraw_bitmap_white = ScalableBitmap(this, "topbar_dropdown", FromDIP(12)); m_arraw_bitmap_white = ScalableBitmap(this, "topbar_dropdown", FromDIP(12));
m_transparent_mitem = ScalableBitmap(this, "transparent_material_item", FromDIP(32)); m_transparent_mitem = ScalableBitmap(this, "transparent_material_item", FromDIP(32));
//m_ams_wheel_mitem = ScalableBitmap(this, "ams_wheel", FromDIP(25));
m_ams_wheel_mitem = ScalableBitmap(this, "ams_wheel_narrow", FromDIP(25));
m_material_coloul = mcolour; m_material_coloul = mcolour;
m_material_name = mname; m_material_name = mname;
@ -53,9 +55,10 @@ wxDEFINE_EVENT(EVT_SET_FINISH_MAPPING, wxCommandEvent);
MaterialItem::~MaterialItem() {} MaterialItem::~MaterialItem() {}
void MaterialItem::msw_rescale() { void MaterialItem::msw_rescale() {
m_arraw_bitmap_gray = ScalableBitmap(this, "drop_down", FromDIP(12)); m_arraw_bitmap_gray.msw_rescale();
m_arraw_bitmap_white = ScalableBitmap(this, "topbar_dropdown", FromDIP(12)); m_arraw_bitmap_white.msw_rescale();
m_transparent_mitem = ScalableBitmap(this, "transparent_material_item", FromDIP(32)); m_transparent_mitem.msw_rescale();
m_ams_wheel_mitem.msw_rescale();
} }
void MaterialItem::set_ams_info(wxColour col, wxString txt, int ctype, std::vector<wxColour> cols) void MaterialItem::set_ams_info(wxColour col, wxString txt, int ctype, std::vector<wxColour> cols)
@ -160,14 +163,10 @@ void MaterialItem::render(wxDC &dc)
} }
auto material_txt_size = dc.GetTextExtent(m_material_name); auto material_txt_size = dc.GetTextExtent(m_material_name);
dc.DrawText(m_material_name, wxPoint((MATERIAL_ITEM_SIZE.x - material_txt_size.x) / 2, (FromDIP(22) - material_txt_size.y) / 2)); dc.DrawText(m_material_name, wxPoint((GetSize().x - material_txt_size.x) / 2, ((float)GetSize().y * 2 / 5 - material_txt_size.y) / 2));
// mapping num // mapping num
dc.SetFont(::Label::Body_10);
dc.SetTextForeground(acolor.GetLuminance() < 0.6 ? *wxWHITE : wxColour(0x26, 0x2E, 0x30));
if (acolor.Alpha() == 0) {
dc.SetTextForeground(wxColour(0x26, 0x2E, 0x30));
}
wxString mapping_txt = wxEmptyString; wxString mapping_txt = wxEmptyString;
if (m_ams_name.empty()) { if (m_ams_name.empty()) {
@ -177,10 +176,14 @@ void MaterialItem::render(wxDC &dc)
} }
auto mapping_txt_size = dc.GetTextExtent(mapping_txt); auto mapping_txt_size = dc.GetTextExtent(mapping_txt);
dc.DrawText(mapping_txt, wxPoint((MATERIAL_ITEM_SIZE.x - mapping_txt_size.x) / 2, FromDIP(20) + (FromDIP(14) - mapping_txt_size.y) / 2));
dc.SetTextForeground(wxColour(0x26, 0x2E, 0x30));
dc.SetFont(::Label::Head_12);
dc.DrawText(mapping_txt, wxPoint(GetSize().x / 2 + (GetSize().x / 2 - mapping_txt_size.x) / 2 - FromDIP(2), ((float)GetSize().y * 3 / 5 - mapping_txt_size.y) / 2 + (float)GetSize().y * 2 / 5));
} }
void MaterialItem::doRender(wxDC &dc)
void MaterialItem::doRender(wxDC& dc)
{ {
wxSize size = GetSize(); wxSize size = GetSize();
auto mcolor = m_material_coloul; auto mcolor = m_material_coloul;
@ -199,16 +202,27 @@ void MaterialItem::doRender(wxDC &dc)
//top //top
dc.SetPen(*wxTRANSPARENT_PEN); dc.SetPen(*wxTRANSPARENT_PEN);
dc.SetBrush(wxBrush(mcolor)); dc.SetBrush(wxBrush(mcolor));
dc.DrawRoundedRectangle(FromDIP(1), FromDIP(1), MATERIAL_ITEM_REAL_SIZE.x, FromDIP(18), 5); dc.DrawRoundedRectangle(0, 0, MATERIAL_ITEM_SIZE.x, FromDIP(20), 5);
dc.SetPen(*wxTRANSPARENT_PEN);
dc.SetBrush(wxBrush(mcolor));
dc.DrawRectangle(0, FromDIP(10), MATERIAL_ITEM_SIZE.x, FromDIP(11));
dc.SetPen(wxColour(0xAC, 0xAC, 0xAC));
dc.DrawLine(FromDIP(1), FromDIP(20), FromDIP(MATERIAL_ITEM_SIZE.x), FromDIP(20));
//bottom rectangle in wheel bitmap, size is MATERIAL_REC_WHEEL_SIZE(22)
int left = FromDIP((size.x / 2 - MATERIAL_REC_WHEEL_SIZE.x) / 2) + 3;
int up = FromDIP((20 + (30 - MATERIAL_REC_WHEEL_SIZE.y) / 2));
int right = FromDIP(left + MATERIAL_REC_WHEEL_SIZE.x);
dc.SetPen(*wxTRANSPARENT_PEN);
//bottom //bottom
if (m_ams_cols.size() > 1) { if (m_ams_cols.size() > 1) {
int left = FromDIP(1); int gwidth = std::round(MATERIAL_REC_WHEEL_SIZE.x / (m_ams_cols.size() - 1));
int gwidth = std::round(MATERIAL_ITEM_REAL_SIZE.x / (m_ams_cols.size() - 1));
//gradient //gradient
if (m_ams_ctype == 0) { if (m_ams_ctype == 0) {
for (int i = 0; i < m_ams_cols.size() - 1; i++) { for (int i = 0; i < m_ams_cols.size() - 1; i++) {
auto rect = wxRect(left, FromDIP(18), MATERIAL_ITEM_REAL_SIZE.x, FromDIP(16)); auto rect = wxRect(left, up, right - left, MATERIAL_REC_WHEEL_SIZE.y);
dc.GradientFillLinear(rect, m_ams_cols[i], m_ams_cols[i + 1], wxEAST); dc.GradientFillLinear(rect, m_ams_cols[i], m_ams_cols[i + 1], wxEAST);
left += gwidth; left += gwidth;
} }
@ -217,41 +231,31 @@ void MaterialItem::doRender(wxDC &dc)
int cols_size = m_ams_cols.size(); int cols_size = m_ams_cols.size();
for (int i = 0; i < cols_size; i++) { for (int i = 0; i < cols_size; i++) {
dc.SetBrush(wxBrush(m_ams_cols[i])); dc.SetBrush(wxBrush(m_ams_cols[i]));
float x = left + ((float)MATERIAL_ITEM_REAL_SIZE.x) * i / cols_size; float x = left + ((float)MATERIAL_REC_WHEEL_SIZE.x) * i / cols_size;
if (i != cols_size - 1) { if (i != cols_size - 1) {
dc.DrawRoundedRectangle(x, FromDIP(18), ((float)MATERIAL_ITEM_REAL_SIZE.x) / cols_size + FromDIP(3), FromDIP(16), 3); dc.DrawRoundedRectangle(x, up, ((float)MATERIAL_REC_WHEEL_SIZE.x) / cols_size + FromDIP(3), MATERIAL_REC_WHEEL_SIZE.y, 3);
} }
else { else {
dc.DrawRoundedRectangle(x, FromDIP(18), ((float)MATERIAL_ITEM_REAL_SIZE.x) / cols_size , FromDIP(16), 3); dc.DrawRoundedRectangle(x, up, ((float)MATERIAL_REC_WHEEL_SIZE.x) / cols_size, MATERIAL_REC_WHEEL_SIZE.y, 3);
} }
} }
} }
} }
else { else {
dc.SetPen(*wxTRANSPARENT_PEN); dc.SetPen(*wxTRANSPARENT_PEN);
dc.SetBrush(wxBrush(wxColour(acolor))); dc.SetBrush(wxBrush(wxColour(acolor)));
dc.DrawRoundedRectangle(FromDIP(1), FromDIP(18), MATERIAL_ITEM_REAL_SIZE.x, FromDIP(16), 5); dc.DrawRectangle(FromDIP((size.x / 2 - MATERIAL_REC_WHEEL_SIZE.x) / 2) + 3, up, FromDIP(MATERIAL_REC_WHEEL_SIZE.x), FromDIP(MATERIAL_REC_WHEEL_SIZE.y));
////middle
dc.SetPen(*wxTRANSPARENT_PEN);
dc.SetBrush(wxBrush(acolor));
dc.DrawRectangle(FromDIP(1), FromDIP(18), MATERIAL_ITEM_REAL_SIZE.x, FromDIP(8));
} }
dc.SetPen(*wxTRANSPARENT_PEN);
dc.SetBrush(wxBrush(mcolor));
dc.DrawRectangle(FromDIP(1), FromDIP(11), MATERIAL_ITEM_REAL_SIZE.x, FromDIP(8));
////border ////border
#if __APPLE__ #if __APPLE__
if (mcolor == *wxWHITE || acolor == *wxWHITE) { dc.SetPen(wxColour(0xAC, 0xAC, 0xAC));
dc.SetPen(wxColour(0xAC, 0xAC, 0xAC)); dc.SetBrush(*wxTRANSPARENT_BRUSH);
dc.SetBrush(*wxTRANSPARENT_BRUSH); dc.DrawRoundedRectangle(1, 1, MATERIAL_ITEM_SIZE.x - 1, MATERIAL_ITEM_SIZE.y - 1, 5);
dc.DrawRoundedRectangle(1, 1, MATERIAL_ITEM_SIZE.x - 1, MATERIAL_ITEM_SIZE.y - 1, 5);
}
if (m_selected) { if (m_selected) {
dc.SetPen(wxColour(0x00, 0xAE, 0x42)); dc.SetPen(wxColour(0x00, 0xAE, 0x42));
@ -259,11 +263,9 @@ void MaterialItem::doRender(wxDC &dc)
dc.DrawRoundedRectangle(1, 1, MATERIAL_ITEM_SIZE.x - 1, MATERIAL_ITEM_SIZE.y - 1, 5); dc.DrawRoundedRectangle(1, 1, MATERIAL_ITEM_SIZE.x - 1, MATERIAL_ITEM_SIZE.y - 1, 5);
} }
#else #else
if (mcolor == *wxWHITE || acolor == *wxWHITE || acolor.Alpha() == 0) { dc.SetPen(wxColour(0xAC, 0xAC, 0xAC));
dc.SetPen(wxColour(0xAC, 0xAC, 0xAC)); dc.SetBrush(*wxTRANSPARENT_BRUSH);
dc.SetBrush(*wxTRANSPARENT_BRUSH); dc.DrawRoundedRectangle(0, 0, MATERIAL_ITEM_SIZE.x, MATERIAL_ITEM_SIZE.y, 5);
dc.DrawRoundedRectangle(0, 0, MATERIAL_ITEM_SIZE.x, MATERIAL_ITEM_SIZE.y, 5);
}
if (m_selected) { if (m_selected) {
dc.SetPen(wxColour(0x00, 0xAE, 0x42)); dc.SetPen(wxColour(0x00, 0xAE, 0x42));
@ -271,16 +273,18 @@ void MaterialItem::doRender(wxDC &dc)
dc.DrawRoundedRectangle(0, 0, MATERIAL_ITEM_SIZE.x, MATERIAL_ITEM_SIZE.y, 5); dc.DrawRoundedRectangle(0, 0, MATERIAL_ITEM_SIZE.x, MATERIAL_ITEM_SIZE.y, 5);
} }
#endif #endif
//arrow //arrow (remove arrow)
if ( (acolor.Red() > 160 && acolor.Green() > 160 && acolor.Blue() > 160) && /*if ( (acolor.Red() > 160 && acolor.Green() > 160 && acolor.Blue() > 160) &&
(acolor.Red() < 180 && acolor.Green() < 180 && acolor.Blue() < 180)) { (acolor.Red() < 180 && acolor.Green() < 180 && acolor.Blue() < 180)) {
dc.DrawBitmap(m_arraw_bitmap_white.bmp(), size.x - m_arraw_bitmap_white.GetBmpSize().x - FromDIP(7), size.y - m_arraw_bitmap_white.GetBmpSize().y); dc.DrawBitmap(m_arraw_bitmap_white.bmp(), size.x - m_arraw_bitmap_white.GetBmpSize().x - FromDIP(2), size.y - m_arraw_bitmap_white.GetBmpSize().y);
} }
else { else {
dc.DrawBitmap(m_arraw_bitmap_gray.bmp(), size.x - m_arraw_bitmap_gray.GetBmpSize().x - FromDIP(7), size.y - m_arraw_bitmap_gray.GetBmpSize().y); dc.DrawBitmap(m_arraw_bitmap_gray.bmp(), size.x - m_arraw_bitmap_gray.GetBmpSize().x - FromDIP(2), size.y - m_arraw_bitmap_gray.GetBmpSize().y);
} }*/
//wheel
dc.DrawBitmap(m_ams_wheel_mitem.bmp(), (GetSize().x / 2 - m_ams_wheel_mitem.GetBmpSize().x) / 2 + 3, ((float)GetSize().y * 3 / 5 - m_ams_wheel_mitem.GetBmpSize().y) / 2 + (float)GetSize().y * 2 / 5);
} }
AmsMapingPopup::AmsMapingPopup(wxWindow *parent) AmsMapingPopup::AmsMapingPopup(wxWindow *parent)
@ -602,6 +606,7 @@ void AmsMapingPopup::add_ams_mapping(std::vector<TrayData> tray_data, wxWindow*
m_mapping_item->SetSize(wxSize(FromDIP(68 * 0.7), FromDIP(100 * 0.6))); m_mapping_item->SetSize(wxSize(FromDIP(68 * 0.7), FromDIP(100 * 0.6)));
m_mapping_item->SetMinSize(wxSize(FromDIP(68 * 0.7), FromDIP(100 * 0.6))); m_mapping_item->SetMinSize(wxSize(FromDIP(68 * 0.7), FromDIP(100 * 0.6)));
m_mapping_item->SetMaxSize(wxSize(FromDIP(68 * 0.7), FromDIP(100 * 0.6))); m_mapping_item->SetMaxSize(wxSize(FromDIP(68 * 0.7), FromDIP(100 * 0.6)));
//m_mapping_item->SetCornerRadius(5); //m_mapping_item->SetCornerRadius(5);
m_mapping_item->SetFont(::Label::Body_12); m_mapping_item->SetFont(::Label::Body_12);
m_mapping_item_list.push_back(m_mapping_item); m_mapping_item_list.push_back(m_mapping_item);
@ -755,6 +760,7 @@ void MappingItem::set_data(wxColour colour, wxString name, TrayData data, bool u
{ {
m_unmatch = unmatch; m_unmatch = unmatch;
m_tray_data = data; m_tray_data = data;
if (m_coloul != colour || m_name != name) { if (m_coloul != colour || m_name != name) {
m_coloul = colour; m_coloul = colour;
m_name = name; m_name = name;
@ -771,6 +777,8 @@ void MappingItem::doRender(wxDC &dc)
dc.SetPen(color); dc.SetPen(color);
dc.SetBrush(wxBrush(color)); dc.SetBrush(wxBrush(color));
//draw a rectangle based on the material color, single color or muti color processing
if (m_tray_data.material_cols.size() > 1) { if (m_tray_data.material_cols.size() > 1) {
int left = 0; int left = 0;
int gwidth = std::round(MAPPING_ITEM_REAL_SIZE.x / (m_tray_data.material_cols.size() - 1)); int gwidth = std::round(MAPPING_ITEM_REAL_SIZE.x / (m_tray_data.material_cols.size() - 1));
@ -798,7 +806,6 @@ void MappingItem::doRender(wxDC &dc)
dc.DrawRectangle(0, (size.y - MAPPING_ITEM_REAL_SIZE.y) / 2, MAPPING_ITEM_REAL_SIZE.x, MAPPING_ITEM_REAL_SIZE.y); dc.DrawRectangle(0, (size.y - MAPPING_ITEM_REAL_SIZE.y) / 2, MAPPING_ITEM_REAL_SIZE.x, MAPPING_ITEM_REAL_SIZE.y);
} }
wxColour side_colour = wxColour(0xE4E4E4); wxColour side_colour = wxColour(0xE4E4E4);
dc.SetPen(side_colour); dc.SetPen(side_colour);
@ -812,6 +819,7 @@ void MappingItem::doRender(wxDC &dc)
#endif // __APPLE__ #endif // __APPLE__
} }
AmsMapingTipPopup::AmsMapingTipPopup(wxWindow *parent) AmsMapingTipPopup::AmsMapingTipPopup(wxWindow *parent)
:PopupWindow(parent, wxBORDER_NONE) :PopupWindow(parent, wxBORDER_NONE)
{ {

View File

@ -40,9 +40,9 @@
namespace Slic3r { namespace GUI { namespace Slic3r { namespace GUI {
#define MATERIAL_ITEM_SIZE wxSize(FromDIP(64), FromDIP(34)) #define MATERIAL_ITEM_SIZE wxSize(FromDIP(52), FromDIP(50))
#define MATERIAL_ITEM_REAL_SIZE wxSize(FromDIP(62), FromDIP(32)) #define MATERIAL_REC_WHEEL_SIZE wxSize(FromDIP(17), FromDIP(16))
#define MAPPING_ITEM_REAL_SIZE wxSize(FromDIP(48), FromDIP(45)) #define MAPPING_ITEM_REAL_SIZE wxSize(FromDIP(60), FromDIP(60))
#define AMS_TOTAL_COUNT 4 #define AMS_TOTAL_COUNT 4
enum TrayType { enum TrayType {
@ -83,6 +83,7 @@ public:
ScalableBitmap m_arraw_bitmap_gray; ScalableBitmap m_arraw_bitmap_gray;
ScalableBitmap m_arraw_bitmap_white; ScalableBitmap m_arraw_bitmap_white;
ScalableBitmap m_transparent_mitem; ScalableBitmap m_transparent_mitem;
ScalableBitmap m_ams_wheel_mitem;
bool m_selected {false}; bool m_selected {false};
bool m_warning{false}; bool m_warning{false};