/*
* Copyright (c) 2024 Ross Cunniff
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
using namespace oadl;
#include "libterm.oah"
proc main()
{
using namespace term;
Start(IS_COLOR, CAN_SCROLL);
try {
RawInput(1);
CLS();
GotoRC(5, 10);
"Here at 5,10";
Reverse(1);
" -- reverse vid!";
Reverse(0);
" Delta: \x394";
GotoRC(6, 10);
"IS_COLOR: ", Query(IS_COLOR);
GotoRC(15,10);
ColorPair(1,BLUE, BLACK);
ColorPair(2,WHITE, BLACK);
SetColor(1);
Bold(1);
"Press a key...";
Flush();
while (Getch() == NULL) {
}
ScrollRegion(11,20);
for (var i = 0; i < 5; i++) {
Scroll(-1);
Flush();
wait(250);
}
for (var i = 0; i < 5; i++) {
Scroll(1);
Flush();
wait(250);
}
SetColor(2);
Bold(0);
GotoRC(16, 10); "EEOL: 12345";
GotoRC(17, 10); "EEOS: 1";
GotoRC(18, 10); "EEOS: 2";
GotoRC(19, 10); "EEOS: 3";
GotoRC(15, 25);
Flush();
while (Getch() == NULL) {
}
GotoRC(16, 15);
EEOL();
GotoRC(17, 15);
EEOS();
GotoRC(15, 10);
"Press enter...";
Flush();
RawInput(0);
var s = readstr();
Stop();
} catch(n) {
Stop();
say("Caught exception ", n, "\n");
}
say("Got here!\n");
try {
Start(-1);
} catch(n) {
say("Caught exception ", n, "\n");
}
}