terminal_status_line/StatusBarManager.h
2025-10-27 17:07:57 +02:00

36 lines
540 B
C++

#ifndef STATUS_BAR_MANAGER_H_
#define STATUS_BAR_MANAGER_H_
#include <vector>
#include "Progress.h"
class StatusBarManager
{
private:
bool m_is_started;
std::vector<Progress*> m_progress_messages;
struct TermSize
{
int rows;
int columns;
};
TermSize get_terminal_size();
void setup_terminal_scroll_area(int nr_rows);
public:
StatusBarManager();
~StatusBarManager();
bool draw_status_line();
void start();
void stop();
void add_progress_message(Progress* message);
void clear();
};
#endif // STATUS_BAR_MANAGER_H_