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

jira: STUDIO-11563
Change-Id: Ia953b10f6cfacaa0803362c9fdc3ec9f5a7efa41
(cherry picked from commit 6055a36593a225a96fb29f1dde2df7840e8ce3a9)
This commit is contained in:
zhou.xu 2025-04-14 15:05:41 +08:00 committed by Noisyfox
parent 64126754a5
commit 1c388a6891

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]));