21 using mem_buf = hpp::small_vector<char, 250>;
34 level::level_enum
level{level::off};
41 using entries_t = hpp::stack_ringbuffer<log_entry, 1024>;
44 void sink_it_(
const details::log_msg& msg)
override;
62 auto has_new_entries() const ->
bool;
63 void set_has_new_entries(
bool val);
65 auto draw_log(const
log_entry& msg,
int num_lines) ->
bool;
66 void draw_range(const hpp::string_view& formatted,
size_t start,
size_t end);
67 void draw_filter_button(level::level_enum level);
69 std::array<
bool,
size_t(level::n_levels)> enabled_categories_{};
71 std::recursive_mutex entries_mutex_;
75 std::atomic<bool> has_new_entries_ = {
false};
77 std::atomic<int64_t> new_entries_begin_idx_{-1};
79 ImGuiTextFilter filter_;
81 uint64_t current_id_{};
82 hpp::optional<log_entry> selected_log_{};
85 bool clear_on_play_{
true};
86 bool clear_on_recompile_{
true};