31 auto cleanup(dius::SyncFile& output) -> di::Result<>;
33 void start(Size
const& size);
34 auto finish(dius::SyncFile& output, RenderedCursor
const& cursor_in) -> di::Result<>;
36 void put_text(di::StringView text, u32 row, u32 col, GraphicsRendition
const& rendition = {},
37 di::Optional<terminal::Hyperlink const&> hyperlink = {});
38 void put_text(c32 text, u32 row, u32 col, GraphicsRendition
const& rendition = {},
39 di::Optional<terminal::Hyperlink const&> hyperlink = {});
41 void put_cell(di::StringView text, u32 row, u32 col, GraphicsRendition
const& rendition,
42 di::Optional<terminal::Hyperlink const&> hyperlink, terminal::MultiCellInfo
const& multi_cell_info,
43 bool explicitly_sized,
bool complex_grapheme_cluster);
45 void clear_row(u32 row, GraphicsRendition
const& graphics_rendition = {},
46 di::Optional<terminal::Hyperlink const&> hyperlink = {});
48 void set_bound(u32 row, u32 col, u32 width, u32 height);
51 auto size() const -> Size {
return m_current_screen.size(); }
53 terminal::Screen m_current_screen;
54 terminal::Screen m_desired_screen;
55 di::Optional<RenderedCursor> m_current_cursor;
56 di::Vector<di::String> m_cleanup;
59 u32 m_row_offset { 0 };
60 u32 m_col_offset { 0 };
61 u32 m_bound_width { 0 };
62 u32 m_bound_height { 0 };
63 bool m_size_changed {
true };
auto setup(dius::SyncFile &output, Feature features, ClipboardMode clipboard_mode) -> di::Result<>
Definition renderer.cpp:26
void put_cell(di::StringView text, u32 row, u32 col, GraphicsRendition const &rendition, di::Optional< terminal::Hyperlink const & > hyperlink, terminal::MultiCellInfo const &multi_cell_info, bool explicitly_sized, bool complex_grapheme_cluster)
Definition renderer.cpp:582
void put_text(di::StringView text, u32 row, u32 col, GraphicsRendition const &rendition={}, di::Optional< terminal::Hyperlink const & > hyperlink={})
Definition renderer.cpp:554
void clear_row(u32 row, GraphicsRendition const &graphics_rendition={}, di::Optional< terminal::Hyperlink const & > hyperlink={})
Definition renderer.cpp:607