make output seletable

This commit is contained in:
2025-12-15 11:49:50 +01:00
parent a50503e8c9
commit 7e02e20878

View File

@@ -32,19 +32,32 @@ int getpid(Vault &vault) {
size_t write(Vault &vault, uint32_t id, const void *buffer, size_t size, int x, int y) {
(void)id;
TextStream* out;
switch (id) {
case 1:
out = &vault.kout;
break;
case 2:
out = &dout;
break;
default:
out = &vault.kout;
}
int dummy;
if(x == -1 && y != -1)
vault.kout.getPos(x, dummy);
out->getPos(x, dummy);
if(x != -1 && y == -1)
vault.kout.getPos(dummy, y);
out->getPos(dummy, y);
if(x == -1 && y == -1)
vault.kout.getPos(x, y);
out->getPos(x, y);
vault.kout.setPos(x, y);
out->setPos(x, y);
for(size_t i = 0; i<size; i++)
vault.kout << ((char*)buffer)[i];
vault.kout.flush();
*out << ((char*)buffer)[i];
out->flush();
return 0;
}