From aa511d27183268fced347922d36fb85aa034a4e3 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 23 Jun 2022 18:16:12 -0500 Subject: [PATCH] GUI: implement Gradient2D::fromString() WE ARE CLOSE --- src/gui/gradient.cpp | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/src/gui/gradient.cpp b/src/gui/gradient.cpp index ac69bf866..774f7a103 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