52 lines
4.0 KiB
Plaintext
52 lines
4.0 KiB
Plaintext
|
|
||
|
print(...)
|
||
|
printf(...)
|
||
|
│
|
||
|
│ ╔═════════════════════════[ vterm ]═════════════════════════╗
|
||
|
│ ║createVTerm() ║
|
||
|
│ ║ ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ ║
|
||
|
│ ║ ║
|
||
|
│ ║ │ restoreVTerm(x,y,w,h) │ ║
|
||
|
│ ║ ║
|
||
|
│ ║ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ ║
|
||
|
│ ║ ║
|
||
|
│ ┌───────╨─────[ vwin ]─────────────┐ ║
|
||
|
│ │createArea(area) │ ║
|
||
|
│ │ │ ║
|
||
|
│ │ │ ║
|
||
|
└───┼─────────────► ──────► updateVTerm(area) ────► ║
|
||
|
│ │ ║
|
||
|
│ putArea(x,y,area) ║
|
||
|
│ ────────────────────► ║
|
||
|
│ getArea(x,y,area) ║
|
||
|
│ ◄──────────────────── ║
|
||
|
│ │ ║
|
||
|
│ │ ║
|
||
|
│ resizeArea(area)│ ║
|
||
|
└───────╥──────────────────────────┘ ║
|
||
|
║ ║
|
||
|
║ ║
|
||
|
║ ║
|
||
|
║ │ resizeVTerm()║
|
||
|
╚═══▼═══════════════════════════════════════════════════════╝
|
||
|
│
|
||
|
│ putVTerm() ┌───────────────┐
|
||
|
└───────────────────►│ output_buffer │
|
||
|
updateTerminal() └───────┬───────┘
|
||
|
│
|
||
|
│ flush_out()
|
||
|
│ +
|
||
|
│ Fputchar(char)
|
||
|
│
|
||
|
▼
|
||
|
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
|
||
|
▌ ▐
|
||
|
▌ screen ▐
|
||
|
▌ ───────────── ▐
|
||
|
▌ real terminal ▐
|
||
|
▌ ▐
|
||
|
▀▀▀▀▀▀▀███▀▀▀▀▀▀▀
|
||
|
███
|
||
|
▀▀▀▀▀▀▀▀▀
|
||
|
|