Refactor everything

We now hijack existing system functions to integrate with `WinMgr`,
instead of `Spawn`ing our own `SaphirTask`.

Also, you can now use `Saphir(Bool)` to toggle enable/disable the
features.

There is a global var `saphir` which values are set by `Defaults.HC` for
colors and other behaviors; these values can be changed at any time.
This commit is contained in:
Alec Murphy
2026-04-25 18:25:56 -04:00
parent 98b17d20fa
commit 1e379a1053
14 changed files with 374 additions and 346 deletions

16
Saphir/Main.HC Normal file
View File

@@ -0,0 +1,16 @@
I64 Saphir(Bool enable = TRUE)
{
if (enable == saphir.enabled) {
return enable;
}
fn_patch(&Blink, &saphir_Blink, enable);
fn_patch(&DocBorder, &saphir_DocBorder, enable);
// fn_patch(&DocBorderLstDraw, &saphir_DocBorderLstDraw, enable);
fn_patch(&DrvTextAttrGet, &saphir_DrvTextAttrGet, enable);
saphir_cursor(enable);
saphir_keydev(enable);
if (!enable) {
DCFill;
}
saphir.enabled = enable;
}