31 void save(ImGuiTextBuffer& buf)
override;
45 void paintConfigure();
46 [[nodiscard]]
bool paintButtons();
51 enum PopupAction :
int { NO_POPUP, POPUP, MODAL_POPUP };
52 enum OpenLogAction :
int { NO_OPEN_LOG, OPEN_LOG, OPEN_LOG_FOCUS };
53 enum OsdAction :
int { NO_OSD, SHOW_OSD };
61 std::string filterLog;
62 bool doOpenModal =
false;
63 size_t doOpenPopup = 0;
65 std::string progressMessage;
66 float progressFraction = 0.0f;;
67 float progressTime = 0.0f;
68 bool doOpenProgress =
false;
78 using ColorSequence = std::array<Step, 4>;
81 Step{0.0f, Colors{0xff'00'ff'ff, 0x80'ff'ff'ff}},
82 Step{0.5f, Colors{0xff'ff'ff'ff, 0x80'80'80'80}},
83 Step{5.0f, Colors{0xff'ff'ff'ff, 0x80'80'80'80}},
84 Step{1.5f, Colors{0x00'ff'ff'ff, 0x00'80'80'80}},
87 Step{0.0f, Colors{0xff'00'ff'ff, 0x80'ff'ff'ff}},
88 Step{0.5f, Colors{0xff'ff'ff'ff, 0x80'00'60'A0}},
89 Step{5.0f, Colors{0xff'ff'ff'ff, 0x80'00'60'A0}},
90 Step{1.5f, Colors{0x00'ff'ff'ff, 0x00'00'60'A0}},
93 Step{0.0f, Colors{0xff'00'ff'ff, 0x80'ff'ff'ff}},
94 Step{0.5f, Colors{0xff'ff'ff'ff, 0x80'00'00'C0}},
95 Step{5.0f, Colors{0xff'ff'ff'ff, 0x80'00'00'C0}},
96 Step{1.5f, Colors{0x00'ff'ff'ff, 0x00'00'00'C0}},
103 : text(te), time(ti), level(l) {}
109 std::vector<OsdMessage> osdMessages;
111 struct Listener : CliListener {
112 ImGuiMessages& messages;
113 explicit Listener(ImGuiMessages& m) : messages(m) {}
116 messages.log(level, message, fraction);
119 std::string_view , std::string_view )
noexcept override {
123 CliListener* listenerHandle;
125 static constexpr auto persistentElements = std::tuple{