feat(kernel/tty): implement blinking cursor

This commit is contained in:
2025-04-12 10:55:01 +00:00
parent bc84c406d9
commit 5293bb2039
9 changed files with 108 additions and 38 deletions

View File

@ -126,20 +126,34 @@ namespace KernelConsole
void csi_cha(ANSIArgument *Args, int ArgsCount);
void Process(char c);
TerminalCell *GetCell(size_t index) { return &Cells[index]; }
VirtualTerminal(unsigned short Rows, unsigned short Columns,
unsigned short XPixels, unsigned short YPixels,
PaintCallback Paint, CursorCallback Print);
~VirtualTerminal();
};
struct ConsoleTerminal
{
VirtualTerminal *Term = nullptr;
struct Blinker
{
bool Enabled = false;
uint32_t Color = 0x000000;
char Character = '\0';
int Delay = 500;
} Blink;
};
/**
* 0 - Default
* 1...11 - User
* ...
* 15 - Panic
*/
extern VirtualTerminal *Terminals[16];
extern std::atomic<VirtualTerminal *> CurrentTerminal;
extern ConsoleTerminal *Terminals[16];
extern std::atomic<ConsoleTerminal *> CurrentTerminal;
extern int TermColors[];
extern int TermBrightColors[];