{ "Speaker": "Gaetano Checinski", "Company": "LoopPerfect" "Role": "Founder & Software Architect" }
\e[nA move n up
\e[nB move n down
\e[nC move n right
\e[nD move n left
VirtualTerminal vt; auto superProgressBar = [](auto x, auto y, auto z) -> FlowLayout<> { return { Text("3 segment progressbar: "), { MaxWidth(20, Progress(x)), MaxWidth(20, Progress(y)), MaxWidth(20, Progress(z)) } }; }; for (int i = 0; i < 101; ++i) { vt = renderToTerm(vt, superProgressBar(0.01 * i, 0.02 * i, 0.03 * i)); std::this_thread::sleep_for(200ms); }
using rxo = rxcpp::observable<>; rxo::zip_with_latest( superProgressBar, rxo::interval(100ms), rxo::interval(200ms), rxo::interval(300ms)) .scan(VirtualTerminal{}, renderToTerm) .subscribe();