Files
tai/taicpp/src/mplex/mplex_renderer.h
T

30 lines
933 B
C++

// MplexRenderer: composes one client's whole screen (tai.py:13535).
#pragma once
#include <memory>
#include <set>
#include <utility>
#include "mplex_canvas.h"
#include "mplex_clientconn.h"
#include "mplex_common.h"
#include "mplex_mode.h"
namespace detz::mplex {
class MplexServer;
class MplexRenderer {
public:
explicit MplexRenderer(MplexServer* server_in) : server(server_in) {}
MplexServer* server;
ModeBlock block_of(const std::shared_ptr<MplexPane>& pane, MplexClientConn& client);
MplexCanvas frame(MplexClientConn& client);
void borders(MplexCanvas& canvas, const std::shared_ptr<MplexWindow>& window, int area_y);
void status(MplexCanvas& canvas, MplexClientConn& client, const std::shared_ptr<MplexSession>& session,
const std::shared_ptr<MplexWindow>& window, int row);
static Row fit_list(const Row& cells, int avail, int current_at, const Style& base);
};
} // namespace detz::mplex