2015-05-23 13:35:12 +02:00
|
|
|
|
|
|
|
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()║
|
|
|
|
╚═══▼═══════════════════════════════════════════════════════╝
|
|
|
|
│
|
2016-12-15 23:11:34 +01:00
|
|
|
│ putVTerm()
|
|
|
|
└──────────────────► updateTerminalLine(y)
|
|
|
|
updateTerminal() │
|
|
|
|
▼
|
|
|
|
┌───────────────┐
|
|
|
|
│ output_buffer │
|
|
|
|
└───────────────┘
|
|
|
|
│
|
|
|
|
│ flush_out()
|
|
|
|
│ +
|
|
|
|
│ Fputchar(char)
|
|
|
|
│
|
|
|
|
▼
|
|
|
|
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
|
|
|
|
▌ ▐
|
|
|
|
▌ screen ▐
|
|
|
|
▌ ───────────── ▐
|
|
|
|
▌ real terminal ▐
|
|
|
|
▌ ▐
|
|
|
|
▀▀▀▀▀▀▀███▀▀▀▀▀▀▀
|
|
|
|
███
|
|
|
|
▀▀▀▀▀▀▀▀▀
|
2015-05-23 13:35:12 +02:00
|
|
|
|