Unravel Engine C++ Reference
Loading...
Searching...
No Matches
unravel::console_log_panel Class Reference

#include <console_log_panel.h>

Inheritance diagram for unravel::console_log_panel:
unravel::panel_base

Classes

struct  log_entry
 
struct  log_snapshot_entry
 
struct  log_source
 

Public Types

using mem_buf = hpp::small_vector<char, 250>
 
using display_entries_t = hpp::small_vector<log_entry, 1024>
 
using entries_t = hpp::stack_ringbuffer<log_entry, 1024>
 

Public Member Functions

 console_log_panel (const char *name)
 
void sink_it_ (const details::log_msg &msg) override
 
void flush_ () override
 
void draw_ui (rtti::context &ctx) override
 
auto get_window_flags () const -> ImGuiWindowFlags override
 
void draw ()
 
void draw_details ()
 
auto draw_last_log () -> bool
 
void draw_last_log_button ()
 
void on_play ()
 
void on_recompile ()
 
auto snapshot_logs (level::level_enum min_level, size_t max_count, uint64_t after_id=0) const -> std::vector< log_snapshot_entry >
 Snapshot recent log entries (thread-safe). Newest-last order. Filters by min_level (inclusive) and optional after_id exclusive cursor.
 
- Public Member Functions inherited from unravel::panel_base
 panel_base (const char *name)
 
virtual ~panel_base ()=default
 
auto is_visible () const -> bool
 
void set_visible (bool visible)
 
auto is_focused () const -> bool
 
auto is_fullscreen () const -> bool
 
void set_fullscreen (bool fullscreen)
 
void toggle_fullscreen ()
 
void focus ()
 
void on_frame_ui_render (rtti::context &ctx)
 
auto get_name () const -> const std::string &
 

Additional Inherited Members

- Protected Member Functions inherited from unravel::panel_base
virtual auto get_window_name () const -> const char *
 
void render_panel (rtti::context &ctx, const char *name, ImGuiWindowFlags flags=ImGuiWindowFlags_MenuBar)
 
virtual void on_before_render (rtti::context &ctx)
 
virtual void on_after_render (rtti::context &ctx)
 
virtual bool begin_panel (const char *name, ImGuiWindowFlags flags)
 
virtual void end_panel (const char *name)
 
- Protected Attributes inherited from unravel::panel_base
std::string name_
 
std::string name_fullscreen_
 
bool is_visible_ {}
 
bool is_focused_ {}
 
bool is_fullscreen_ {}
 
bool request_focus_ {}
 

Detailed Description

Definition at line 20 of file console_log_panel.h.

Member Typedef Documentation

◆ display_entries_t

using unravel::console_log_panel::display_entries_t = hpp::small_vector<log_entry, 1024>

Definition at line 52 of file console_log_panel.h.

◆ entries_t

using unravel::console_log_panel::entries_t = hpp::stack_ringbuffer<log_entry, 1024>

Definition at line 53 of file console_log_panel.h.

◆ mem_buf

using unravel::console_log_panel::mem_buf = hpp::small_vector<char, 250>

Definition at line 23 of file console_log_panel.h.

Constructor & Destructor Documentation

◆ console_log_panel()

unravel::console_log_panel::console_log_panel ( const char * name)
explicit

Definition at line 69 of file console_log_panel.cpp.

Member Function Documentation

◆ draw()

void unravel::console_log_panel::draw ( )

Definition at line 256 of file console_log_panel.cpp.

◆ draw_details()

void unravel::console_log_panel::draw_details ( )

Definition at line 460 of file console_log_panel.cpp.

◆ draw_last_log()

auto unravel::console_log_panel::draw_last_log ( ) -> bool

Definition at line 391 of file console_log_panel.cpp.

◆ draw_last_log_button()

void unravel::console_log_panel::draw_last_log_button ( )

Definition at line 424 of file console_log_panel.cpp.

◆ draw_ui()

void unravel::console_log_panel::draw_ui ( rtti::context & ctx)
overridevirtual

Implements unravel::panel_base.

Definition at line 250 of file console_log_panel.cpp.

◆ flush_()

void unravel::console_log_panel::flush_ ( )
override

Definition at line 119 of file console_log_panel.cpp.

◆ get_window_flags()

auto unravel::console_log_panel::get_window_flags ( ) const -> ImGuiWindowFlags
overridevirtual

Reimplemented from unravel::panel_base.

Definition at line 245 of file console_log_panel.cpp.

◆ on_play()

void unravel::console_log_panel::on_play ( )

Definition at line 493 of file console_log_panel.cpp.

◆ on_recompile()

void unravel::console_log_panel::on_recompile ( )

Definition at line 501 of file console_log_panel.cpp.

◆ sink_it_()

void unravel::console_log_panel::sink_it_ ( const details::log_msg & msg)
override

Definition at line 78 of file console_log_panel.cpp.

◆ snapshot_logs()

auto unravel::console_log_panel::snapshot_logs ( level::level_enum min_level,
size_t max_count,
uint64_t after_id = 0 ) const -> std::vector<log_snapshot_entry>

Snapshot recent log entries (thread-safe). Newest-last order. Filters by min_level (inclusive) and optional after_id exclusive cursor.

Definition at line 123 of file console_log_panel.cpp.


The documentation for this class was generated from the following files: