FTXUI/ftxui/include/ftxui/core/screen.hpp

34 lines
610 B
C++
Raw Normal View History

2018-09-18 14:48:40 +08:00
#ifndef FTXUI_CORE_SCREEN
#define FTXUI_CORE_SCREEN
#include <string>
#include <vector>
2018-09-20 03:52:25 +08:00
#include <memory>
2018-09-18 14:48:40 +08:00
namespace ftxui {
2018-09-20 03:52:25 +08:00
namespace dom {
class Node;
}
2018-09-18 14:48:40 +08:00
class Screen {
public:
Screen(size_t dimx, size_t dimy);
wchar_t& at(size_t x, size_t y);
std::string ToString();
size_t dimx() { return dimx_;}
size_t dimy() { return dimy_;}
static Screen WholeTerminal();
2018-09-20 03:52:25 +08:00
static Screen TerminalOutput(std::unique_ptr<dom::Node>& element);
2018-09-18 14:48:40 +08:00
private:
size_t dimx_;
size_t dimy_;
std::vector<std::wstring> lines_;
};
}; // namespace ftxui
#endif /* end of include guard: FTXUI_CORE_SCREEN */