📄 cursesw.h
字号:
// * This makes emacs happy -*-Mode: C++;-*-/**************************************************************************** * Copyright (c) 1998-2001,2004 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 * * authorization. * ****************************************************************************/#ifndef NCURSES_CURSESW_H_incl#define NCURSES_CURSESW_H_incl 1// $Id: cursesw.h,v 1.30 2004/02/08 00:11:54 tom Exp $#include <etip.h>#include <stdarg.h>#include <stdio.h>#if HAVE_STRSTREAM_H && (USE_STRSTREAM_VSCAN||USE_STRSTREAM_VSCAN_CAST)#include <strstream.h>#endifextern "C" {# include <curses.h>}/* SCO 3.2v4 curses.h includes term.h, which defines lines as a macro. Undefine it here, because NCursesWindow uses lines as a method. */#undef lines/* "Convert" macros to inlines. We'll define it as another symbol to avoid * conflict with library symbols. */#undef UNDEF#define UNDEF(name) CUR_ ##name#ifdef addchinline int UNDEF(addch)(chtype ch) { return addch(ch); }#undef addch#define addch UNDEF(addch)#endif#ifdef echocharinline int UNDEF(echochar)(chtype ch) { return echochar(ch); }#undef echochar#define echochar UNDEF(echochar)#endif#ifdef insdellninline int UNDEF(insdelln)(int n) { return insdelln(n); }#undef insdelln#define insdelln UNDEF(insdelln)#endif#ifdef addstrinline int UNDEF(addstr)(const char * str) { return addstr(str); }#undef addstr#define addstr UNDEF(addstr)#endif#ifdef attroninline int UNDEF(attron)(chtype at) { return attron(at); }#undef attron#define attron UNDEF(attron)#endif#ifdef attroffinline int UNDEF(attroff)(chtype at) { return attroff(at); }#undef attroff#define attroff UNDEF(attroff)#endif#ifdef attrsetinline chtype UNDEF(attrset)(chtype at) { return attrset(at); }#undef attrset#define attrset UNDEF(attrset)#endif#ifdef color_setinline chtype UNDEF(color_set)(short p, void* opts) { return color_set(p, opts); }#undef color_set#define color_set UNDEF(color_set)#endif#ifdef borderinline 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); }#undef border#define border UNDEF(border)#endif#ifdef boxinline int UNDEF(box)(WINDOW *win, int v, int h) { return box(win, v, h); }#undef box#define box UNDEF(box)#endif#ifdef mvwhlineinline int UNDEF(mvwhline)(WINDOW *win, int y, int x, chtype c, int n) { return mvwhline(win, y, x, c, n); }#undef mvwhline#define mvwhline UNDEF(mvwhline)#endif#ifdef mvwvlineinline int UNDEF(mvwvline)(WINDOW *win, int y, int x, chtype c, int n) { return mvwvline(win, y, x, c, n); }#undef mvwvline#define mvwvline UNDEF(mvwvline)#endif#ifdef clearinline int UNDEF(clear)() { return clear(); }#undef clear#define clear UNDEF(clear)#endif#ifdef clearokinline int UNDEF(clearok)(WINDOW* win, bool bf) { return clearok(win, bf); }#undef clearok#define clearok UNDEF(clearok)#elseextern "C" NCURSES_IMPEXP int NCURSES_API clearok(WINDOW*, bool);#endif#ifdef clrtobotinline int UNDEF(clrtobot)() { return clrtobot(); }#undef clrtobot#define clrtobot UNDEF(clrtobot)#endif#ifdef clrtoeolinline int UNDEF(clrtoeol)() { return clrtoeol(); }#undef clrtoeol#define clrtoeol UNDEF(clrtoeol)#endif#ifdef delchinline int UNDEF(delch)() { return delch(); }#undef delch#define delch UNDEF(delch)#endif#ifdef deletelninline int UNDEF(deleteln)() { return deleteln(); }#undef deleteln#define deleteln UNDEF(deleteln)#endif#ifdef eraseinline int UNDEF(erase)() { return erase(); }#undef erase#define erase UNDEF(erase)#endif#ifdef flushokinline int UNDEF(flushok)(WINDOW* _win, bool _bf) { return flushok(_win, _bf); }#undef flushok#define flushok UNDEF(flushok)#else#define _no_flushok#endif#ifdef getchinline int UNDEF(getch)() { return getch(); }#undef getch#define getch UNDEF(getch)#endif#ifdef getstrinline int UNDEF(getstr)(char *_str) { return getstr(_str); }#undef getstr#define getstr UNDEF(getstr)#endif#ifdef instrinline int UNDEF(instr)(char *_str) { return instr(_str); }#undef instr#define instr UNDEF(instr)#endif#ifdef innstrinline int UNDEF(innstr)(char *_str, int n) { return innstr(_str, n); }#undef innstr#define innstr UNDEF(innstr)#endif#ifdef mvwinnstrinline int UNDEF(mvwinnstr)(WINDOW *win, int y, int x, char *_str, int n) { return mvwinnstr(win, y, x, _str, n); }#undef mvwinnstr#define mvwinnstr UNDEF(mvwinnstr)#endif#ifdef mvinnstrinline int UNDEF(mvinnstr)(int y, int x, char *_str, int n) { return mvinnstr(y, x, _str, n); }#undef mvinnstr#define mvinnstr UNDEF(mvinnstr)#endif#ifdef winsstrinline int UNDEF(winsstr)(WINDOW *w, const char *_str) { return winsstr(w, _str); }#undef winsstr#define winsstr UNDEF(winsstr)#endif#ifdef mvwinsstrinline int UNDEF(mvwinsstr)(WINDOW *w, int y, int x, const char *_str) { return mvwinsstr(w, y, x, _str); }#undef mvwinsstr#define mvwinsstr UNDEF(mvwinsstr)#endif#ifdef insstrinline int UNDEF(insstr)(const char *_str) { return insstr(_str); }#undef insstr#define insstr UNDEF(insstr)#endif#ifdef mvinsstrinline int UNDEF(mvinsstr)(int y, int x, const char *_str) { return mvinsstr(y, x, _str); }#undef mvinsstr#define mvinsstr UNDEF(mvinsstr)#endif#ifdef insnstrinline int UNDEF(insnstr)(const char *_str, int n) { return insnstr(_str, n); }#undef insnstr#define insnstr UNDEF(insnstr)#endif#ifdef mvwinsnstrinline int UNDEF(mvwinsnstr)(WINDOW *w, int y, int x, const char *_str, int n) { return mvwinsnstr(w, y, x, _str, n); }#undef mvwinsnstr#define mvwinsnstr UNDEF(mvwinsnstr)#endif#ifdef mvinsnstrinline int UNDEF(mvinsnstr)(int y, int x, const char *_str, int n) { return mvinsnstr(y, x, _str, n); }#undef mvinsnstr#define mvinsnstr UNDEF(mvinsnstr)#endif#ifdef getnstrinline int UNDEF(getnstr)(char *_str, int n) { return getnstr(_str, n); }#undef getnstr#define getnstr UNDEF(getnstr)#endif#ifdef getyxinline void UNDEF(getyx)(const WINDOW* win, int& y, int& x) { getyx(win, y, x); }#undef getyx#define getyx UNDEF(getyx)#endif#ifdef getbegyxinline void UNDEF(getbegyx)(WINDOW* win, int& y, int& x) { getbegyx(win, y, x); }#undef getbegyx#define getbegyx UNDEF(getbegyx)#endif#ifdef getmaxyxinline void UNDEF(getmaxyx)(WINDOW* win, int& y, int& x) { getmaxyx(win, y, x); }#undef getmaxyx#define getmaxyx UNDEF(getmaxyx)#endif#ifdef hlineinline int UNDEF(hline)(chtype ch, int n) { return hline(ch, n); }#undef hline#define hline UNDEF(hline)#endif#ifdef inchinline chtype UNDEF(inch)() { return inch(); }#undef inch#define inch UNDEF(inch)#endif#ifdef inschinline int UNDEF(insch)(char c) { return insch(c); }#undef insch#define insch UNDEF(insch)#endif#ifdef insertlninline int UNDEF(insertln)() { return insertln(); }#undef insertln#define insertln UNDEF(insertln)#endif#ifdef leaveokinline int UNDEF(leaveok)(WINDOW* win, bool bf) { return leaveok(win, bf); }#undef leaveok#define leaveok UNDEF(leaveok)#elseextern "C" NCURSES_IMPEXP int NCURSES_API leaveok(WINDOW* win, bool bf);#endif#ifdef moveinline int UNDEF(move)(int x, int y) { return move(x, y); }#undef move#define move UNDEF(move)#endif#ifdef refreshinline int UNDEF(refresh)() { return refresh(); }#undef refresh#define refresh UNDEF(refresh)#endif#ifdef redrawwininline int UNDEF(redrawwin)(WINDOW *win) { return redrawwin(win); }#undef redrawwin#define redrawwin UNDEF(redrawwin)#endif#ifdef scrlinline int UNDEF(scrl)(int l) { return scrl(l); }#undef scrl#define scrl UNDEF(scrl)#endif#ifdef scrollinline int UNDEF(scroll)(WINDOW *win) { return scroll(win); }#undef scroll#define scroll UNDEF(scroll)#endif#ifdef scrollokinline int UNDEF(scrollok)(WINDOW* win, bool bf) { return scrollok(win, bf); }#undef scrollok#define scrollok UNDEF(scrollok)#else#if defined(__NCURSES_H)extern "C" NCURSES_IMPEXP int NCURSES_API scrollok(WINDOW*, bool);#elseextern "C" NCURSES_IMPEXP int NCURSES_API scrollok(WINDOW*, char);#endif#endif#ifdef setscrreginline int UNDEF(setscrreg)(int t, int b) { return setscrreg(t, b); }#undef setscrreg#define setscrreg UNDEF(setscrreg)#endif#ifdef standendinline int UNDEF(standend)() { return standend(); }#undef standend#define standend UNDEF(standend)#endif#ifdef standoutinline int UNDEF(standout)() { return standout(); }#undef standout#define standout UNDEF(standout)#endif#ifdef subpadinline WINDOW *UNDEF(subpad)(WINDOW *p, int l, int c, int y, int x){ return derwin(p, l, c, y, x); }#undef subpad#define subpad UNDEF(subpad)#endif#ifdef timeoutinline void UNDEF(timeout)(int delay) { timeout(delay); }#undef timeout#define timeout UNDEF(timeout)#endif#ifdef touchlineinline int UNDEF(touchline)(WINDOW *win, int s, int c){ return touchline(win, s, c); }#undef touchline#define touchline UNDEF(touchline)#endif#ifdef touchwininline int UNDEF(touchwin)(WINDOW *win) { return touchwin(win); }#undef touchwin#define touchwin UNDEF(touchwin)#endif#ifdef untouchwininline int UNDEF(untouchwin)(WINDOW *win) { return untouchwin(win); }#undef untouchwin#define untouchwin UNDEF(untouchwin)#endif#ifdef vlineinline int UNDEF(vline)(chtype ch, int n) { return vline(ch, n); }#undef vline#define vline UNDEF(vline)#endif#ifdef waddstrinline int UNDEF(waddstr)(WINDOW *win, char *str) { return waddstr(win, str); }#undef waddstr#define waddstr UNDEF(waddstr)#endif#ifdef waddchstrinline int UNDEF(waddchstr)(WINDOW *win, chtype *at) { return waddchstr(win, at); }#undef waddchstr#define waddchstr UNDEF(waddchstr)#endif#ifdef wstandendinline int UNDEF(wstandend)(WINDOW *win) { return wstandend(win); }#undef wstandend#define wstandend UNDEF(wstandend)#endif#ifdef wstandoutinline int UNDEF(wstandout)(WINDOW *win) { return wstandout(win); }#undef wstandout#define wstandout UNDEF(wstandout)#endif#ifdef wattroffinline int UNDEF(wattroff)(WINDOW *win, int att) { return wattroff(win, att); }#undef wattroff#define wattroff UNDEF(wattroff)#endif#ifdef chgatinline int UNDEF(chgat)(int n, attr_t attr, short color, const void *opts) { return chgat(n, attr, color, opts); }#undef chgat#define chgat UNDEF(chgat)#endif#ifdef mvchgatinline int UNDEF(mvchgat)(int y, int x, int n,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -