<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>yoob.TextTerminal Demo</title>
<style>
#terminal {
background: black;
}
</style>
</head>
<body>
<h1>yoob.TextTerminal Demo</h1>
<!--
<pre id="terminal" tabindex="0"></pre>
-->
<canvas id="terminal" width="600" height="400" tabindex="0">
Your browser doesn't support displaying an HTML5 canvas.
</canvas>
</body>
<script src="../src/yoob/playfield.js"></script>
<script src="../src/yoob/cursor.js"></script>
<script src="../src/yoob/playfield-html-view.js"></script>
<script src="../src/yoob/playfield-canvas-view.js"></script>
<script src="../src/yoob/text-terminal.js"></script>
<script src="../src/yoob/line-input-buffer.js"></script>
<script>
var element = document.getElementById('terminal');
var t = new yoob.TextTerminal().init(80, 25);
var view = t.createPlayfieldCanvasView(element, 12, 18);
/*
var view = new yoob.PlayfieldHTMLView();
view.init(pf, element);
*/
t.write("Click me!\n");
t.setCharAt(30, 10, 'Z');
t.setCharAt(30, 10, '?');
var z = 0;
element.onclick = function(e) {
t.writeRaw("Hello, world! (" + z + ") ");
t.setColors("white", undefined);
t.writeRaw("How's by you? ");
t.setColors("yellow", "purple");
t.writeRaw("That's nice.");
t.setColors("green", "black");
t.writeRaw(" Supercalifragilisticexpialadociousness!!!!!");
t.advanceRow();
t.writeRaw("What??");
t.advanceRow();
view.draw();
z++;
};
t.write("Or focus me and\ntype something. Try backspacing.\n\n");
view.draw();
var ib = new yoob.LineInputBuffer().init(element, t);
ib.onupdate = function(str) {
//alert("'" + str + "'");
view.draw();
};
ib.onenter = function(str) {
t.write("You typed '" + str + "'\n");
t.write("And now I\bU see\n");
view.draw();
};
element.focus();
</script>