467 lines
7.9 KiB
Common Lisp
467 lines
7.9 KiB
Common Lisp
(defpackage #:de.anvi.ncurses
|
|
(:documentation "Low-level CFFI bindings to the Ncurses C API. Not meant to be used directly.")
|
|
(:use #:common-lisp #:cffi)
|
|
(:export
|
|
|
|
;; addch / add a character (with attributes) to a curses window, then advance the cursor
|
|
%addch
|
|
%waddch
|
|
%mvaddch
|
|
%mvwaddch
|
|
%echochar
|
|
%wechochar
|
|
|
|
;; add_wch / add a complex character and rendition to a curses window, then advance the cursor
|
|
%add-wch
|
|
%wadd-wch
|
|
%mvadd-wch
|
|
%mvwadd-wch
|
|
%echo-wchar
|
|
%wecho-wchar
|
|
|
|
;; addstr / add a string of characters to a curses window and advance cursor
|
|
%addstr
|
|
%addnstr
|
|
%waddstr
|
|
%waddnstr
|
|
%mvaddstr
|
|
%mvaddnstr
|
|
%mvwaddstr
|
|
%mvwaddnstr
|
|
|
|
;; attr / curses character and window attribute control routines
|
|
%attroff
|
|
%wattroff
|
|
%attron
|
|
%wattron
|
|
%attrset
|
|
%wattrset
|
|
%color-set
|
|
%wcolor-set
|
|
%standend
|
|
%wstandend
|
|
%standout
|
|
%wstandout
|
|
%attr-get
|
|
%wattr-get
|
|
%attr-off
|
|
%wattr-off
|
|
%attr-on
|
|
%wattr-on
|
|
%attr-set
|
|
%wattr-set
|
|
%chgat
|
|
%wchgat
|
|
%mvchgat
|
|
%mvwchgat
|
|
|
|
;; beep / curses bell and screen flash routines
|
|
%beep
|
|
%flash
|
|
|
|
;; bkgd / curses window background manipulation routines
|
|
%bkgdset
|
|
%wbkgdset
|
|
%bkgd
|
|
%wbkgd
|
|
%getbkgd
|
|
|
|
;; bkgrnd / window complex background manipulation routines
|
|
%bkgrnd
|
|
%wbkgrnd
|
|
%bkgrndset
|
|
%wbkgrndset
|
|
%getbkgrnd
|
|
%wgetbkgrnd
|
|
|
|
;; border / create curses borders, horizontal and vertical lines
|
|
%border
|
|
%wborder
|
|
%box
|
|
%hline
|
|
%whline
|
|
%vline
|
|
%wvline
|
|
%mvhline
|
|
%mvwhline
|
|
%mvvline
|
|
%mvwvline
|
|
|
|
;; border_set / create curses borders or lines using complex characters and renditions
|
|
%border-set
|
|
%wborder-set
|
|
%box-set
|
|
%hline-set
|
|
%whline-set
|
|
%mvhline-set
|
|
%mvwhline-set
|
|
%vline-set
|
|
%wvline-set
|
|
%mvvline-set
|
|
%mvwvline-set
|
|
|
|
;; clear / clear all or part of a curses window
|
|
%erase
|
|
%werase
|
|
%clear
|
|
%wclear
|
|
%clrtobot
|
|
%wclrtobot
|
|
%clrtoeol
|
|
%wclrtoeol
|
|
|
|
;; color / curses color manipulation routines
|
|
%start-color
|
|
%has-colors
|
|
%can-change-color
|
|
%init-pair
|
|
%init-color
|
|
%pair-content
|
|
%color-content
|
|
%init-extended-pair
|
|
%init-extended-color
|
|
%pair-extended-content
|
|
%color-extended-content
|
|
%color-pair
|
|
%pair-number
|
|
%COLOR-BLACK
|
|
%COLOR-RED
|
|
%COLOR-GREEN
|
|
%COLOR-YELLOW
|
|
%COLOR-BLUE
|
|
%COLOR-MAGENTA
|
|
%COLOR-CYAN
|
|
%COLOR-WHITE
|
|
|
|
;; default_colors / use terminal's default colors
|
|
%use-default-colors
|
|
%assume-default-colors
|
|
|
|
;; define_key / define a keycode
|
|
%define-key
|
|
|
|
;; delch / delete character under the cursor in a curses window
|
|
%delch
|
|
%wdelch
|
|
%mvdelch
|
|
%mvwdelch
|
|
|
|
;; deleteln / delete and insert lines in a curses window
|
|
%deleteln
|
|
%wdeleteln
|
|
%insdelln
|
|
%winsdelln
|
|
%insertln
|
|
%winsertln
|
|
|
|
;; extend / miscellaneous curses extensions
|
|
%curses-version
|
|
%use-extended-names
|
|
|
|
;; getcchar / Get a wide character string and rendition from a cchar_t or set a cchar_t from a wide-character string
|
|
%getcchar
|
|
%setcchar
|
|
|
|
;; getch / get (or push back) characters from curses terminal keyboard
|
|
%getch
|
|
%wgetch
|
|
%mvgetch
|
|
%mvwgetch
|
|
%ungetch
|
|
%has-key
|
|
|
|
;; get_wch / get (or push back) a wide (multi-byte) character from curses terminal keyboard
|
|
%get-wch
|
|
%wget-wch
|
|
%mvget-wch
|
|
%mvwget-wch
|
|
%unget-wch
|
|
wint_t
|
|
|
|
;; getstr / accept character strings from curses terminal keyboard
|
|
%getstr
|
|
%getnstr
|
|
%wgetstr
|
|
%wgetnstr
|
|
%mvgetstr
|
|
%mvgetnstr
|
|
%mvwgetstr
|
|
%mvwgetnstr
|
|
|
|
;; getyx / get curses cursor and window coordinates
|
|
;; --> legacy
|
|
|
|
;; inch / get a character and attributes from a curses window
|
|
%inch
|
|
%winch
|
|
%mvinch
|
|
%mvwinch
|
|
|
|
;; in_wch / extract a wide character and rendition from a window
|
|
%in-wch
|
|
%mvin-wch
|
|
%win-wch
|
|
%mvwin-wch
|
|
|
|
;; inchstr / get a string of characters (and attributes) from a curses window
|
|
%inchstr
|
|
%inchnstr
|
|
%winchstr
|
|
%winchnstr
|
|
%mvinchstr
|
|
%mvinchnstr
|
|
%mvwinchstr
|
|
%mvwinchnstr
|
|
|
|
;; initscr / Screen initialization and manipulation routines
|
|
%initscr
|
|
%endwin
|
|
%isendwin
|
|
%newterm
|
|
%set-term
|
|
%delscreen
|
|
|
|
;; inopts / Input options.
|
|
%cbreak
|
|
%nocbreak
|
|
%echo
|
|
%noecho
|
|
%halfdelay
|
|
%intrflush
|
|
%keypad
|
|
%meta
|
|
%nodelay
|
|
%raw
|
|
%noraw
|
|
%noqiflush
|
|
%qiflush
|
|
%notimeout
|
|
%timeout
|
|
%wtimeout
|
|
%typeahead
|
|
|
|
;; insch / insert a character before cursor in a curses window
|
|
%insch
|
|
%winsch
|
|
%mvinsch
|
|
%mvwinsch
|
|
|
|
;; ins_wch / insert a complex character and rendition into a window
|
|
%ins-wch
|
|
%wins-wch
|
|
%mvins-wch
|
|
%mvwins-wch
|
|
|
|
;; insstr / insert string before cursor in a curses window
|
|
%insstr
|
|
%insnstr
|
|
%winsstr
|
|
%winsnstr
|
|
%mvinsstr
|
|
%mvinsnstr
|
|
%mvwinsstr
|
|
%mvwinsnstr
|
|
|
|
;; instr / get a string of characters from a curses window
|
|
%instr
|
|
%innstr
|
|
%winstr
|
|
%winnstr
|
|
%mvinstr
|
|
%mvinnstr
|
|
%mvwinstr
|
|
%mvwinnstr
|
|
|
|
;; inwstr / extract a string of wchar_t characters from a curses window
|
|
%inwstr
|
|
%innwstr
|
|
%winwstr
|
|
%winnwstr
|
|
%mvinwstr
|
|
%mvinnwstr
|
|
%mvwinwstr
|
|
%mvwinnwstr
|
|
|
|
;; kernel / low-level curses routines
|
|
%def-prog-mode
|
|
%def-shell-mode
|
|
%reset-prog-mode
|
|
%reset-shell-mode
|
|
%resetty
|
|
%savetty
|
|
%getsyx
|
|
%setsyx
|
|
%ripoffline
|
|
%curs-set
|
|
%napms
|
|
|
|
;; keybound / return definition of keycode
|
|
%keybound
|
|
|
|
;; key_defined / check if a keycode is defined
|
|
%key-defined
|
|
|
|
;; legacy / get curses cursor and window coordinates, attributes
|
|
%getbegx
|
|
%getbegy
|
|
%getcurx
|
|
%getcury
|
|
%getmaxx
|
|
%getmaxy
|
|
%getparx
|
|
%getpary
|
|
|
|
;; legacy_coding
|
|
%use-legacy-coding
|
|
|
|
;; mouse interface through curses
|
|
%getmouse
|
|
%mousemask
|
|
|
|
;; move / move curses window cursor
|
|
%move
|
|
%wmove
|
|
|
|
;; ncurses / CRT screen handling and optimization package
|
|
chtype
|
|
wchar_t
|
|
wint_t
|
|
attr_t
|
|
cchar
|
|
cchar_t
|
|
ptr-cchar_t
|
|
cchar-attr
|
|
cchar-chars
|
|
cchar-colors
|
|
mmask_t
|
|
mevent
|
|
%ERROR
|
|
%OK
|
|
|
|
;; opaque / curses window properties
|
|
%is-cleared
|
|
%is-idcok
|
|
%is-idlok
|
|
%is-immedok
|
|
%is-keypad
|
|
%is-leaveok
|
|
%is-nodelay
|
|
%is-notimeout
|
|
%is-pad
|
|
%is-scrollok
|
|
%is-subwin
|
|
%is-syncok
|
|
%wgetparent
|
|
%wgetscrreg
|
|
|
|
;; outopts / curses output options
|
|
%clearok
|
|
%idlok
|
|
%idcok
|
|
%immedok
|
|
%leaveok
|
|
%scrollok
|
|
%setscrreg
|
|
%wsetscrreg
|
|
%nl
|
|
%nonl
|
|
|
|
;; pad / create and display curses pads
|
|
%newpad
|
|
%subpad
|
|
%prefresh
|
|
%pnoutrefresh
|
|
%pechochar
|
|
%pecho-wchar
|
|
|
|
;; refresh / refresh curses windows and lines
|
|
%refresh
|
|
%wrefresh
|
|
%wnoutrefresh
|
|
%doupdate
|
|
%redrawwin
|
|
%wredrawln
|
|
|
|
;; resizeterm / change the curses terminal size
|
|
%is-term-resized
|
|
%resize-term
|
|
%resizeterm
|
|
|
|
;; scroll / scroll a curses window
|
|
%scroll
|
|
%scrl
|
|
%wscrl
|
|
|
|
;; slk / curses soft label routines
|
|
%slk-init
|
|
%slk-set
|
|
%slk-refresh
|
|
%slk-noutrefresh
|
|
%slk-label
|
|
%slk-clear
|
|
%slk-restore
|
|
%slk-touch
|
|
%slk-attron
|
|
%slk-attroff
|
|
%slk-attrset
|
|
%slk-attr-on
|
|
%slk-attr-off
|
|
%slk-attr-set
|
|
%slk-attr
|
|
%slk-color
|
|
|
|
;; termattrs / environment query routines
|
|
%baudrate
|
|
%erasechar
|
|
%has-ic
|
|
%has-il
|
|
%killchar
|
|
%longname
|
|
%term-attrs
|
|
%termattrs
|
|
%termname
|
|
|
|
;; touch / curses refresh control routines
|
|
%touchwin
|
|
%touchline
|
|
%untouchwin
|
|
%wtouchln
|
|
%is-linetouched
|
|
%is-wintouched
|
|
|
|
;; util / miscellaneous curses utility routines
|
|
%unctrl
|
|
%keyname
|
|
%filter
|
|
%nofilter
|
|
%use-env
|
|
%putwin
|
|
%getwin
|
|
%delay-output
|
|
%flushinp
|
|
|
|
;; variables / curses global variables
|
|
%COLOR-PAIRS
|
|
%COLORS
|
|
%COLS
|
|
%ESCDELAY
|
|
%LINES
|
|
%TABSIZE
|
|
|
|
;; window / create curses windows
|
|
%newwin
|
|
%delwin
|
|
%mvwin
|
|
%subwin
|
|
%derwin
|
|
%mvderwin
|
|
%dupwin
|
|
%wsyncup
|
|
%syncok
|
|
%wcursyncup
|
|
%wsyncdown
|
|
|
|
;; wresize / resize a curses window
|
|
%wresize
|
|
|
|
))
|