Iros
 
Loading...
Searching...
No Matches
renderer.h
Go to the documentation of this file.
1#pragma once
2
5#include "dius/sync_file.h"
6#include "dius/tty.h"
7#include "ttx/cursor_style.h"
9
10namespace ttx {
17
18class Renderer {
19public:
21 auto finish(dius::SyncFile& output, RenderedCursor const& cursor) -> di::Result<>;
22
23 void put_text(di::StringView text, u32 row, u32 col, GraphicsRendition const& graphics_rendition = {});
24 void put_text(c32 text, u32 row, u32 col, GraphicsRendition const& graphics_rendition = {});
25
26 void set_bound(u32 row, u32 col, u32 width, u32 height);
27
28private:
29 di::VectorWriter<> m_buffer;
31
32 GraphicsRendition m_last_graphics_rendition;
33 u32 m_last_cursor_row { 0 };
34 u32 m_last_cursor_col { 0 };
35
36 u32 m_row_offset { 0 };
37 u32 m_col_offset { 0 };
38 u32 m_bound_width { 0 };
39 u32 m_bound_height { 0 };
40};
41}
Definition vector_writer.h:19
Definition sync_file.h:40
Definition renderer.h:18
auto finish(dius::SyncFile &output, RenderedCursor const &cursor) -> di::Result<>
Definition renderer.cpp:29
void set_bound(u32 row, u32 col, u32 width, u32 height)
Definition renderer.cpp:84
void put_text(di::StringView text, u32 row, u32 col, GraphicsRendition const &graphics_rendition={})
Definition renderer.cpp:44
void start(dius::tty::WindowSize size)
Definition renderer.cpp:11
constexpr usize width
Definition gfx_test.cpp:21
constexpr usize height
Definition gfx_test.cpp:22
constexpr usize size
Definition gfx_test.cpp:24
string::StringViewImpl< string::Utf8Encoding > StringView
Definition string_view.h:12
char32_t c32
Definition char.h:6
__UINT32_TYPE__ u32
Definition integers.h:11
Expected< T, Error > Result
Definition result.h:8
Definition escape_sequence_parser.cpp:18
CursorStyle
Definition cursor_style.h:6
@ SteadyBlock
Definition cursor_style.h:8
Definition tty.h:6
Definition graphics_rendition.h:103
Definition renderer.h:11
CursorStyle style
Definition renderer.h:14
bool hidden
Definition renderer.h:15
u32 cursor_row
Definition renderer.h:12
u32 cursor_col
Definition renderer.h:13