FIX:Modify the position of gradient and double splicing materials without drop-down arrows

jira: STUDIO-11563
Change-Id: Ia953b10f6cfacaa0803362c9fdc3ec9f5a7efa41
This commit is contained in:
zhou.xu 2025-04-14 15:05:41 +08:00 committed by lane.wei
parent 2a8666c93a
commit 6055a36593
1 changed files with 7 additions and 0 deletions

View File

@ -511,12 +511,19 @@ void MaterialSyncItem::doRender(wxDC &dc)
int gwidth = std::round(MATERIAL_REC_WHEEL_SIZE.x / (m_ams_cols.size() - 1));
// gradient
if (m_ams_ctype == 0) {
if (!m_dropdown_allow_painted) {
left += FromDIP(5);
right += FromDIP(5);
}
for (int i = 0; i < m_ams_cols.size() - 1; i++) {
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);
left += gwidth;
}
} else {
if (!m_dropdown_allow_painted) {
left += FromDIP(5);
}
int cols_size = m_ams_cols.size();
for (int i = 0; i < cols_size; i++) {
dc.SetBrush(wxBrush(m_ams_cols[i]));