initial commit

This commit is contained in:
2021-12-20 01:55:30 +01:00
commit bd790c1488
38 changed files with 2320 additions and 0 deletions

48
src/lib/TermIO.hx Normal file
View File

@@ -0,0 +1,48 @@
package lib;
import util.Vec.Vec2;
import util.Color;
import lib.TermWriteable;
/**
Helpfull class for writing onto a `TermWriteable`.
**/
class TermIO {
private var output: TermWriteable;
public function new(output: TermWriteable) {
this.output = output;
output.clear();
output.setCursorPos(0,0);
}
public function writeLn(text: String,?textColor: Color){
if (textColor != null){
output.setTextColor(textColor);
}
var size = output.getSize();
for (i in 0...Math.floor(text.length / size.x) + 1){
output.write(text.substr(i * size.x,size.x));
newLine();
}
if (textColor != null){
output.setTextColor(White);
}
}
private function newLine() {
var cPos = output.getCursorPos();
if (cPos.y == output.getSize().y){
output.scroll(1);
output.setCursorPos(0,cPos.y);
}else{
output.setCursorPos(0,cPos.y + 1);
}
}
}