Idris2Doc : NCurses.Core

NCurses.Core

(source)

Definitions

dataWindow : Type
  When you make new windows with @newWindow@
this data type stores a reference for you
to use with any function that operates on
a particular window.

Most functions operate on a window even if
they don't appear to; you get a default window
for free with @initNCurses@. You can request the
default window with @stdWindow@.

Totality: total
Visibility: export
Constructor: 
Win : AnyPtr->Window
stdWindow : HasIOio=>ioWindow
  Get the default standard ncurses window.

Visibility: export
newWindow : HasIOio=>Nat->Nat->Nat->Nat->ioWindow
  Create a new ncurses window.

Visibility: export
deleteWindow : HasIOio=>Window->ioBool
  Delete an ncurses window.

Returns @True@ on success and @False@ on error.

Visibility: export
moveWindow : HasIOio=>Window->Nat->Nat->ioBool
  Move an ncurses window.

Returns @True@ on success and @False@ on error.

Visibility: export
getWindowPos' : HasIOio=>Window->io (Nat, Nat)
  As is normal for ncurses, returns (y, x).

Visibility: export
setWindowSize : HasIOio=>Window->Nat->Nat->ioBool
  Resize an ncurses window.

Returns @True@ on success and @False@ on error.

Visibility: export
getMaxSize' : HasIOio=>Window->io (Nat, Nat)
  As is normal for ncurses, returns (height, width).

Visibility: export
getYPos' : HasIOio=>Window->ioNat
Visibility: export
getYPos : HasIOio=>ioNat
Visibility: export
getXPos' : HasIOio=>Window->ioNat
Visibility: export
getXPos : HasIOio=>ioNat
Visibility: export
refresh : HasIOio=>io ()
  Refresh the standard window.

See @refresh'@ to refresh any other window.

Visibility: export
refresh' : HasIOio=>Window->io ()
  Refresh a particular window.

Visibility: export
clear : HasIOio=>io ()
  Clear the standard window.

Clearing causes NCurses to redraw the whole terminal on
the next call to refresh. See @erase@ for a less intensive
process that allows NCurses to intelligently determine how
much of the terminal view needs to be redrawn.

Clearing the standard window will require refreshing all
windows after the next call to refresh the standard window,
It probably makes sense much of the time to refresh immediately
after a call to clear.

See @clear'@ to clear any other window.

Visibility: export
clear' : HasIOio=>Window->io ()
  Clear a particular window.

Clearing causes NCurses to redraw the whole terminal on
the next call to refresh. See @erase@ for a less intensive
process that allows NCurses to intelligently determine how
much of the terminal view needs to be redrawn.

Clearing the standard window will require refreshing all
windows after the next call to refresh the standard window,
It probably makes sense much of the time to refresh immediately
after a call to clear.

Visibility: export
erase : HasIOio=>io ()
  Erase the standard window.

See @erase'@ to erase any other window.

Visibility: export
erase' : HasIOio=>Window->io ()
  Erase the given window.

Visibility: export
nPutCh : HasIOio=>Char->io ()
Visibility: export
nPutCh' : HasIOio=>Window->Char->io ()
Visibility: export
nPutStr : HasIOio=>String->io ()
Visibility: export
nPutStr' : HasIOio=>Window->String->io ()
Visibility: export
nPutStrLn : HasIOio=>String->io ()
Visibility: export
nPutStrLn' : HasIOio=>Window->String->io ()
Visibility: export
nPutStrAt : HasIOio=>Nat->String->io ()
  Move the cursor and print to the standard window.

See @nPutStrLnAt'@ to print to a particular window.

Visibility: export
nPutStrAt' : HasIOio=>Window->Nat->String->io ()
  Move the cursor and print to the given window.

Visibility: export
nVerticalLine : HasIOio=>Char->Nat->io ()
  Draw a vertical line comprised of the given character.

Visibility: export
nVerticalLine' : HasIOio=>Window->Char->Nat->io ()
  Draw a vertical line comprised of the given character in
the given window.

Visibility: export
nHorizontalLine : HasIOio=>Char->Nat->io ()
  Draw a horizontal line comprised of the given character.

Visibility: export
nHorizontalLine' : HasIOio=>Window->Char->Nat->io ()
  Draw a horizontal line comprised of the given character in
the given window.

Visibility: export
dataBorderChar : Type
  Border characters can either be the default or they can be specified
by you. There are different defaults for left/right, top/bottom, and corner characters.

Totality: total
Visibility: public export
Constructors:
Custom : Char->BorderChar
Default : BorderChar
nWindowBorder : HasIOio=>Window->BorderChar->BorderChar->BorderChar->BorderChar->BorderChar->BorderChar->BorderChar->BorderChar->io ()
  Draw a border around the given window.
Use the given characters for each edge and corner of the border.
Specify @Default@ for any character for which you want to use the
default.

The border will use the current background/foreground colors.

The border will be drawn _inside_ the given window.

Visibility: export
nDefaultWindowBorder : HasIOio=>Window->io ()
  Draw the default window border for the given window. This is
equivalent to calling @nWindowBorder@ with all border characters
set to @Default@.

Visibility: export
nMoveCursor : HasIOio=>Nat->Nat->io ()
  Move the cursor in the standard window.

Visibility: export
nMoveCursor' : HasIOio=>Window->Nat->Nat->io ()
  Move the cursor in the given window.

Visibility: export
initNCurses : HasIOio=>io ()
  You must call @initNCurses@ before using the other
ncurses functions and you must call @deinitNCurses@
after you are done (before exiting your program).

You will actually see weird behavior in the shell
post-exit of your program if you have not deinited
ncurses.

Visibility: export
deinitNCurses : HasIOio=>io ()
  Must be called after @initNCurses@ and before your
program exits.

Visibility: export