FIX:fixed incomplete display of filament material names

fixed STUDIO-2464

Change-Id: I8310cc519d0143aa180109d70ebe25b0f068bd52
This commit is contained in:
tao wang 2023-03-22 10:02:09 +08:00 committed by Lane.Wei
parent 8d6c56e4aa
commit ad70e58e14
1 changed files with 14 additions and 3 deletions

View File

@ -716,12 +716,23 @@ void AMSLib::render(wxDC &dc)
dc.DrawText(L("?"), pot);
} else {
auto tsize = dc.GetMultiLineTextExtent(m_info.material_name);
std::vector<std::string> split_char_arr = {" ", "-"};
bool has_split = false;
std::string has_split_char = " ";
if (m_info.material_name.find(' ') != std::string::npos) {
for (std::string split_char : split_char_arr) {
if (m_info.material_name.find(split_char) != std::string::npos) {
has_split = true;
has_split_char = split_char;
}
}
if (has_split) {
dc.SetFont(::Label::Body_12);
auto line_top = m_info.material_name.substr(0, m_info.material_name.find(' '));
auto line_bottom = m_info.material_name.substr(m_info.material_name.find(' '));
auto line_top = m_info.material_name.substr(0, m_info.material_name.find(has_split_char));
auto line_bottom = m_info.material_name.substr(m_info.material_name.find(has_split_char));
auto line_top_tsize = dc.GetMultiLineTextExtent(line_top);
auto line_bottom_tsize = dc.GetMultiLineTextExtent(line_bottom);