# ncurses output for DCT, by Shiar
+# 1.12.0 200410312200 - define main loop (get input from Term::ReadKey)
# 1.11.0 200410152225 - uses class in filename instead of $set{display} check
# 1.10.0 200410140120 - all output functions seperated from main
use warnings;
use Curses;
+use Term::ReadKey;
push @{$hook{init}}, sub {
initscr;
- END { endwin; } # restore terminal on quit
+ ReadMode 3; # cbreak mode
+
+ END {
+ ReadMode 0;
+ endwin;
+ } # restore terminal on quit
$set{height} = $LINES-2 if $LINES>=3;
$set{width} = $COLS if $COLS;
refresh;
}; # showentry
+$hook{main} = sub {
+ while (1) {
+ draw();
+
+ my $key = ReadKey; # wait for user input
+ if ($key eq chr 27) {
+ $key .= $_ while defined ($_ = ReadKey(-1)); # read additional keys
+ } # escape sequence
+
+ onkey($key);
+ } # input loop
+}; # main
+
return {
author => "Shiar",
title => "curses output",
- version => "1.11",
+ version => "1.12",
};