// * This makes emacs happy -*-Mode: C++;-*-
/****************************************************************************
* Copyright (c) 1998-2014,2017 Free Software Foundation, Inc. *
* 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, distribute with modifications, 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 ABOVE 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. *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
****************************************************************************/
#ifndef NCURSES_CURSESW_H_incl
#define NCURSES_CURSESW_H_incl 1
// $Id: cursesw.h,v 1.53 2017/11/21 00:37:23 tom Exp $
/* SCO 3.2v4 curses.h includes term.h, which defines lines as a macro.
Undefine it here, because NCursesWindow uses lines as a method. */
/* "Convert" macros to inlines. We'll define it as another symbol to avoid
* conflict with library symbols.
#define UNDEF(name) CUR_ ##name
inline int UNDEF(addch)(chtype ch) { return addch(ch); }
#define addch UNDEF(addch)
inline int UNDEF(addchstr)(chtype *at) { return addchstr(at); }
#define addchstr UNDEF(addchstr)
inline int UNDEF(addnstr)(const char *str, int n)
{ return addnstr(str, n); }
#define addnstr UNDEF(addnstr)
inline int UNDEF(addstr)(const char * str) { return addstr(str); }
#define addstr UNDEF(addstr)
inline int UNDEF(attroff)(chtype at) { return attroff(at); }
#define attroff UNDEF(attroff)
inline int UNDEF(attron)(chtype at) { return attron(at); }
#define attron UNDEF(attron)
inline chtype UNDEF(attrset)(chtype at) { return attrset(at); }
#define attrset UNDEF(attrset)
inline int UNDEF(bkgd)(chtype ch) { return bkgd(ch); }
inline void UNDEF(bkgdset)(chtype ch) { bkgdset(ch); }
#define bkgdset UNDEF(bkgdset)
inline int UNDEF(border)(chtype ls, chtype rs, chtype ts, chtype bs, chtype tl, chtype tr, chtype bl, chtype br)
{ return border(ls, rs, ts, bs, tl, tr, bl, br); }
#define border UNDEF(border)
inline int UNDEF(box)(WINDOW *win, int v, int h) { return box(win, v, h); }
inline int UNDEF(chgat)(int n, attr_t attr, NCURSES_PAIRS_T color, const void *opts) {
return chgat(n, attr, color, opts); }
#define chgat UNDEF(chgat)
inline int UNDEF(clear)() { return clear(); }
#define clear UNDEF(clear)
inline int UNDEF(clearok)(WINDOW* win, bool bf) { return clearok(win, bf); }
#define clearok UNDEF(clearok)
extern "C" NCURSES_IMPEXP int NCURSES_API clearok(WINDOW*, bool);
inline int UNDEF(clrtobot)() { return clrtobot(); }
#define clrtobot UNDEF(clrtobot)
inline int UNDEF(clrtoeol)() { return clrtoeol(); }
#define clrtoeol UNDEF(clrtoeol)
inline chtype UNDEF(color_set)(NCURSES_PAIRS_T p, void* opts) { return color_set(p, opts); }
#define color_set UNDEF(color_set)
inline int UNDEF(crmode)(void) { return crmode(); }
#define crmode UNDEF(crmode)
inline int UNDEF(delch)() { return delch(); }
#define delch UNDEF(delch)
inline int UNDEF(deleteln)() { return deleteln(); }
#define deleteln UNDEF(deleteln)
inline int UNDEF(echochar)(chtype ch) { return echochar(ch); }
#define echochar UNDEF(echochar)
inline int UNDEF(erase)() { return erase(); }
#define erase UNDEF(erase)
inline int UNDEF(fixterm)(void) { return fixterm(); }
#define fixterm UNDEF(fixterm)
inline int UNDEF(flushok)(WINDOW* _win, bool _bf) {
return flushok(_win, _bf); }
#define flushok UNDEF(flushok)
inline int UNDEF(getattrs)(WINDOW *win) { return getattrs(win); }
#define getattrs UNDEF(getattrs)
inline void UNDEF(getbegyx)(WINDOW* win, int& y, int& x) { getbegyx(win, y, x); }
#define getbegyx UNDEF(getbegyx)
inline chtype UNDEF(getbkgd)(const WINDOW *win) { return getbkgd(win); }
#define getbkgd UNDEF(getbkgd)
inline int UNDEF(getch)() { return getch(); }
#define getch UNDEF(getch)
inline void UNDEF(getmaxyx)(WINDOW* win, int& y, int& x) { getmaxyx(win, y, x); }
#define getmaxyx UNDEF(getmaxyx)
inline int UNDEF(getnstr)(char *_str, int n) { return getnstr(_str, n); }
#define getnstr UNDEF(getnstr)
inline void UNDEF(getparyx)(WINDOW* win, int& y, int& x) { getparyx(win, y, x); }
#define getparyx UNDEF(getparyx)
inline int UNDEF(getstr)(char *_str) { return getstr(_str); }
#define getstr UNDEF(getstr)
inline void UNDEF(getyx)(const WINDOW* win, int& y, int& x) {
#define getyx UNDEF(getyx)
inline int UNDEF(hline)(chtype ch, int n) { return hline(ch, n); }
#define hline UNDEF(hline)
inline chtype UNDEF(inch)() { return inch(); }
inline int UNDEF(inchstr)(chtype *str) { return inchstr(str); }
#define inchstr UNDEF(inchstr)
inline int UNDEF(innstr)(char *_str, int n) { return innstr(_str, n); }
#define innstr UNDEF(innstr)
inline int UNDEF(insch)(chtype c) { return insch(c); }
#define insch UNDEF(insch)
inline int UNDEF(insdelln)(int n) { return insdelln(n); }
#define insdelln UNDEF(insdelln)
inline int UNDEF(insertln)() { return insertln(); }
#define insertln UNDEF(insertln)
inline int UNDEF(insnstr)(const char *_str, int n) {
return insnstr(_str, n); }
#define insnstr UNDEF(insnstr)
inline int UNDEF(insstr)(const char *_str) {
#define insstr UNDEF(insstr)
inline int UNDEF(instr)(char *_str) { return instr(_str); }
#define instr UNDEF(instr)
inline void UNDEF(intrflush)(WINDOW *win, bool bf) { intrflush(); }
#define intrflush UNDEF(intrflush)
inline int UNDEF(is_linetouched)(WINDOW *w, int l) { return is_linetouched(w,l); }
#define is_linetouched UNDEF(is_linetouched)
inline int UNDEF(leaveok)(WINDOW* win, bool bf) { return leaveok(win, bf); }
#define leaveok UNDEF(leaveok)
extern "C" NCURSES_IMPEXP int NCURSES_API leaveok(WINDOW* win, bool bf);
inline int UNDEF(move)(int x, int y) { return move(x, y); }
inline int UNDEF(mvaddch)(int y, int x, chtype ch)
{ return mvaddch(y, x, ch); }
#define mvaddch UNDEF(mvaddch)
inline int UNDEF(mvaddnstr)(int y, int x, const char *str, int n)
{ return mvaddnstr(y, x, str, n); }
#define mvaddnstr UNDEF(mvaddnstr)
inline int UNDEF(mvaddstr)(int y, int x, const char * str)
{ return mvaddstr(y, x, str); }
#define mvaddstr UNDEF(mvaddstr)
inline int UNDEF(mvchgat)(int y, int x, int n,
attr_t attr, NCURSES_PAIRS_T color, const void *opts) {
return mvchgat(y, x, n, attr, color, opts); }
#define mvchgat UNDEF(mvchgat)
inline int UNDEF(mvdelch)(int y, int x) { return mvdelch(y, x);}
#define mvdelch UNDEF(mvdelch)
inline int UNDEF(mvgetch)(int y, int x) { return mvgetch(y, x);}
#define mvgetch UNDEF(mvgetch)
inline int UNDEF(mvgetnstr)(int y, int x, char *str, int n) {
return mvgetnstr(y, x, str, n);}
#define mvgetnstr UNDEF(mvgetnstr)
inline int UNDEF(mvgetstr)(int y, int x, char *str) {return mvgetstr(y, x, str);}
#define mvgetstr UNDEF(mvgetstr)
inline chtype UNDEF(mvinch)(int y, int x) { return mvinch(y, x);}
#define mvinch UNDEF(mvinch)
inline int UNDEF(mvinnstr)(int y, int x, char *_str, int n) {
return mvinnstr(y, x, _str, n); }
#define mvinnstr UNDEF(mvinnstr)
inline int UNDEF(mvinsch)(int y, int x, chtype c)
{ return mvinsch(y, x, c); }
#define mvinsch UNDEF(mvinsch)
inline int UNDEF(mvinsnstr)(int y, int x, const char *_str, int n) {
return mvinsnstr(y, x, _str, n); }
#define mvinsnstr UNDEF(mvinsnstr)
inline int UNDEF(mvinsstr)(int y, int x, const char *_str) {
return mvinsstr(y, x, _str); }
#define mvinsstr UNDEF(mvinsstr)
inline int UNDEF(mvwaddch)(WINDOW *win, int y, int x, const chtype ch)
{ return mvwaddch(win, y, x, ch); }
#define mvwaddch UNDEF(mvwaddch)
inline int UNDEF(mvwaddchnstr)(WINDOW *win, int y, int x, const chtype *str, int n)
{ return mvwaddchnstr(win, y, x, str, n); }
#define mvwaddchnstr UNDEF(mvwaddchnstr)
inline int UNDEF(mvwaddchstr)(WINDOW *win, int y, int x, const chtype *str)
{ return mvwaddchstr(win, y, x, str); }
#define mvwaddchstr UNDEF(mvwaddchstr)
inline int UNDEF(mvwaddnstr)(WINDOW *win, int y, int x, const char *str, int n)
{ return mvwaddnstr(win, y, x, str, n); }
#define mvwaddnstr UNDEF(mvwaddnstr)
inline int UNDEF(mvwaddstr)(WINDOW *win, int y, int x, const char * str)
{ return mvwaddstr(win, y, x, str); }
#define mvwaddstr UNDEF(mvwaddstr)
inline int UNDEF(mvwchgat)(WINDOW *win, int y, int x, int n,
attr_t attr, NCURSES_PAIRS_T color, const void *opts) {
return mvwchgat(win, y, x, n, attr, color, opts); }
#define mvwchgat UNDEF(mvwchgat)
inline int UNDEF(mvwdelch)(WINDOW *win, int y, int x)
{ return mvwdelch(win, y, x); }
#define mvwdelch UNDEF(mvwdelch)
inline int UNDEF(mvwgetch)(WINDOW *win, int y, int x) { return mvwgetch(win, y, x);}
#define mvwgetch UNDEF(mvwgetch)
inline int UNDEF(mvwgetnstr)(WINDOW *win, int y, int x, char *str, int n)
{return mvwgetnstr(win, y, x, str, n);}
#define mvwgetnstr UNDEF(mvwgetnstr)
inline int UNDEF(mvwgetstr)(WINDOW *win, int y, int x, char *str)
{return mvwgetstr(win, y, x, str);}