diff --git a/src/gui/gradient.cpp b/src/gui/gradient.cpp index ac69bf86..774f7a10 100644 --- a/src/gui/gradient.cpp +++ b/src/gui/gradient.cpp @@ -40,9 +40,39 @@ String Gradient2D::toString() { return ret; } -// TODO: this one please bool Gradient2D::fromString(String val) { - return false; + std::vector split; + String cur; + for (char i: val) { + if (i==' ') { + if (!cur.empty()) { + split.push_back(cur); + cur=""; + } + } else { + cur+=i; + } + } + + if (split.size()<2) return false; + + if (split[0]!="GRAD") return false; + + ImU32 bgColorH=0; + if (sscanf(split[1].c_str(),"#%X",&bgColorH)!=1) return false; + + bgColor=ImGui::ColorConvertU32ToFloat4(bgColorH); + + for (size_t i=2; i