21std::string
Code(Event event) {
23 for (
auto& it : event.input()) {
24 codes +=
" " + std::to_string((
unsigned int)it);
30 auto screen = App::TerminalOutput();
32 std::vector<Event> keys;
39 for (
size_t i = std::max(0, (
int)keys.size() - 20); i < keys.size(); ++i) {
40 children.push_back(
text(
Code(keys[i])));
42 return vbox(children);
50 for (
size_t i = std::max(0, (
int)keys.size() - 20); i < keys.size(); ++i) {
51 children.push_back(
text(keys[i].DebugString()));
53 return vbox(children);
61 keys.push_back(event);
65 screen.Loop(component);
Component Renderer(Component child, std::function< Element()>)
|child| に似た、|render| をComponent::Render()イベントとして 使用する新しいComponentを返します。
Component ResizableSplitLeft(Component main, Component back, int *main_size)
マウスで設定可能な、2つのコンポーネント間の水平分割。
Element text(std::string_view text)
UTF8エンコードされたユニコードテキストを表示します。
Element border(Element child)
要素の周囲にボーダーを描画します。
Element vbox(Elements children)
要素を縦に一つずつ表示するコンテナ。
std::vector< Element > Elements
Component CatchEvent(Component child, std::function< bool(Event)>)
std::string Code(Event event)