33 void save(ImGuiTextBuffer& buf)
override;
47 void paintConfigure();
48 [[nodiscard]]
bool paintButtons();
53 enum PopupAction :
int { NO_POPUP, POPUP, MODAL_POPUP };
54 enum OpenLogAction :
int { NO_OPEN_LOG, OPEN_LOG, OPEN_LOG_FOCUS };
55 enum OsdAction :
int { NO_OSD, SHOW_OSD };
63 std::string filterLog;
64 bool doOpenModal =
false;
65 size_t doOpenPopup = 0;
67 std::string progressMessage;
68 float progressFraction = 0.0f;;
69 float progressTime = 0.0f;
70 bool doOpenProgress =
false;
80 using ColorSequence = std::array<Step, 4>;
83 Step{0.0f, Colors{0xff'00'ff'ff, 0x80'ff'ff'ff}},
84 Step{0.5f, Colors{0xff'ff'ff'ff, 0x80'80'80'80}},
85 Step{5.0f, Colors{0xff'ff'ff'ff, 0x80'80'80'80}},
86 Step{1.5f, Colors{0x00'ff'ff'ff, 0x00'80'80'80}},
89 Step{0.0f, Colors{0xff'00'ff'ff, 0x80'ff'ff'ff}},
90 Step{0.5f, Colors{0xff'ff'ff'ff, 0x80'00'60'A0}},
91 Step{5.0f, Colors{0xff'ff'ff'ff, 0x80'00'60'A0}},
92 Step{1.5f, Colors{0x00'ff'ff'ff, 0x00'00'60'A0}},
95 Step{0.0f, Colors{0xff'00'ff'ff, 0x80'ff'ff'ff}},
96 Step{0.5f, Colors{0xff'ff'ff'ff, 0x80'00'00'C0}},
97 Step{5.0f, Colors{0xff'ff'ff'ff, 0x80'00'00'C0}},
98 Step{1.5f, Colors{0x00'ff'ff'ff, 0x00'00'00'C0}},
105 : text(te), time(ti), level(l) {}
111 std::vector<OsdMessage> osdMessages;
113 struct Listener : CliListener {
114 ImGuiMessages& messages;
115 explicit Listener(ImGuiMessages& m) : messages(m) {}
118 messages.log(level, message, fraction);
121 std::string_view , std::string_view )
noexcept override {
125 CliListener* listenerHandle;
127 static constexpr auto persistentElements = std::tuple{