⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ncurses.h

📁 在linux平台下模拟超市的收银系统即POS机
💻 H
📖 第 1 页 / 共 4 页
字号:
#define mvwchgat(win,y,x,n,a,c,o)	(wmove(win,y,x) == ERR ? ERR : wchgat(win,n,a,c,o))#define mvwgetch(win,y,x)		(wmove(win,y,x) == ERR ? ERR : wgetch(win))#define mvwgetnstr(win,y,x,str,n)	(wmove(win,y,x) == ERR ? ERR : wgetnstr(win,str,n))#define mvwgetstr(win,y,x,str)		(wmove(win,y,x) == ERR ? ERR : wgetstr(win,str))#define mvwhline(win,y,x,c,n)		(wmove(win,y,x) == ERR ? ERR : whline(win,c,n))#define mvwinch(win,y,x)		(wmove(win,y,x) == ERR ? (chtype)ERR : winch(win))#define mvwinchnstr(win,y,x,s,n)	(wmove(win,y,x) == ERR ? ERR : winchnstr(win,s,n))#define mvwinchstr(win,y,x,s)		(wmove(win,y,x) == ERR ? ERR : winchstr(win,s))#define mvwinnstr(win,y,x,s,n)		(wmove(win,y,x) == ERR ? ERR : winnstr(win,s,n))#define mvwinsch(win,y,x,c)		(wmove(win,y,x) == ERR ? ERR : winsch(win,c))#define mvwinsnstr(win,y,x,s,n)		(wmove(win,y,x) == ERR ? ERR : winsnstr(win,s,n))#define mvwinsstr(win,y,x,s)		(wmove(win,y,x) == ERR ? ERR : winsstr(win,s))#define mvwinstr(win,y,x,s)		(wmove(win,y,x) == ERR ? ERR : winstr(win,s))#define mvwvline(win,y,x,c,n)		(wmove(win,y,x) == ERR ? ERR : wvline(win,c,n))#define mvaddch(y,x,ch)			mvwaddch(stdscr,y,x,ch)#define mvaddchnstr(y,x,str,n)		mvwaddchnstr(stdscr,y,x,str,n)#define mvaddchstr(y,x,str)		mvwaddchstr(stdscr,y,x,str)#define mvaddnstr(y,x,str,n)		mvwaddnstr(stdscr,y,x,str,n)#define mvaddstr(y,x,str)		mvwaddstr(stdscr,y,x,str)#define mvchgat(y,x,n,a,c,o)		mvwchgat(stdscr,y,x,n,a,c,o)#define mvdelch(y,x)			mvwdelch(stdscr,y,x)#define mvgetch(y,x)			mvwgetch(stdscr,y,x)#define mvgetnstr(y,x,str,n)		mvwgetnstr(stdscr,y,x,str,n)#define mvgetstr(y,x,str)		mvwgetstr(stdscr,y,x,str)#define mvhline(y,x,c,n)		mvwhline(stdscr,y,x,c,n)#define mvinch(y,x)			mvwinch(stdscr,y,x)#define mvinchnstr(y,x,s,n)		mvwinchnstr(stdscr,y,x,s,n)#define mvinchstr(y,x,s)		mvwinchstr(stdscr,y,x,s)#define mvinnstr(y,x,s,n)		mvwinnstr(stdscr,y,x,s,n)#define mvinsch(y,x,c)			mvwinsch(stdscr,y,x,c)#define mvinsnstr(y,x,s,n)		mvwinsnstr(stdscr,y,x,s,n)#define mvinsstr(y,x,s)			mvwinsstr(stdscr,y,x,s)#define mvinstr(y,x,s)			mvwinstr(stdscr,y,x,s)#define mvvline(y,x,c,n)		mvwvline(stdscr,y,x,c,n)/* * Some wide-character functions do not depend on the extensions. */#define getbkgd(win)                    ((win)->_bkgd)#define slk_attr_off(a,v)		((v) ? ERR : slk_attroff(a))#define slk_attr_on(a,v)		((v) ? ERR : slk_attron(a))#define wattr_get(win,a,p,opts)		((void)((a) != 0 && (*(a) = (win)->_attrs)), \					 (void)((p) != 0 && (*(p) = PAIR_NUMBER((win)->_attrs))), \					 OK)/* * XSI curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use * varargs.h.  It adds new calls vw_printw/vw_scanw, which are supposed to * use POSIX stdarg.h.  The ncurses versions of vwprintw/vwscanw already * use stdarg.h, so... */#define vw_printw		vwprintw#define vw_scanw		vwscanw/* * Export fallback function for use in C++ binding. */#if !1#define vsscanf(a,b,c) _nc_vsscanf(a,b,c)NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);#endif/* * Pseudo-character tokens outside ASCII range.  The curses wgetch() function * will return any given one of these only if the corresponding k- capability * is defined in your terminal's terminfo entry. * * Some keys (KEY_A1, etc) are arranged like this: *	a1     up    a3 *	left   b2    right *	c1     down  c3 * * A few key codes do not depend upon the terminfo entry. */#define KEY_CODE_YES	0400		/* A wchar_t contains a key code */#define KEY_MIN		0401		/* Minimum curses key */#define KEY_BREAK	0401		/* Break key (unreliable) */#define KEY_SRESET	0530		/* Soft (partial) reset (unreliable) */#define KEY_RESET	0531		/* Reset or hard reset (unreliable) *//* * These definitions were generated by ./MKkey_defs.sh ./Caps */#define KEY_DOWN	0402		/* down-arrow key */#define KEY_UP		0403		/* up-arrow key */#define KEY_LEFT	0404		/* left-arrow key */#define KEY_RIGHT	0405		/* right-arrow key */#define KEY_HOME	0406		/* home key */#define KEY_BACKSPACE	0407		/* backspace key */#define KEY_F0		0410		/* Function keys.  Space for 64 */#define KEY_F(n)	(KEY_F0+(n))	/* Value of function key n */#define KEY_DL		0510		/* delete-line key */#define KEY_IL		0511		/* insert-line key */#define KEY_DC		0512		/* delete-character key */#define KEY_IC		0513		/* insert-character key */#define KEY_EIC		0514		/* sent by rmir or smir in insert mode */#define KEY_CLEAR	0515		/* clear-screen or erase key */#define KEY_EOS		0516		/* clear-to-end-of-screen key */#define KEY_EOL		0517		/* clear-to-end-of-line key */#define KEY_SF		0520		/* scroll-forward key */#define KEY_SR		0521		/* scroll-backward key */#define KEY_NPAGE	0522		/* next-page key */#define KEY_PPAGE	0523		/* previous-page key */#define KEY_STAB	0524		/* set-tab key */#define KEY_CTAB	0525		/* clear-tab key */#define KEY_CATAB	0526		/* clear-all-tabs key */#define KEY_ENTER	0527		/* enter/send key */#define KEY_PRINT	0532		/* print key */#define KEY_LL		0533		/* lower-left key (home down) */#define KEY_A1		0534		/* upper left of keypad */#define KEY_A3		0535		/* upper right of keypad */#define KEY_B2		0536		/* center of keypad */#define KEY_C1		0537		/* lower left of keypad */#define KEY_C3		0540		/* lower right of keypad */#define KEY_BTAB	0541		/* back-tab key */#define KEY_BEG		0542		/* begin key */#define KEY_CANCEL	0543		/* cancel key */#define KEY_CLOSE	0544		/* close key */#define KEY_COMMAND	0545		/* command key */#define KEY_COPY	0546		/* copy key */#define KEY_CREATE	0547		/* create key */#define KEY_END		0550		/* end key */#define KEY_EXIT	0551		/* exit key */#define KEY_FIND	0552		/* find key */#define KEY_HELP	0553		/* help key */#define KEY_MARK	0554		/* mark key */#define KEY_MESSAGE	0555		/* message key */#define KEY_MOVE	0556		/* move key */#define KEY_NEXT	0557		/* next key */#define KEY_OPEN	0560		/* open key */#define KEY_OPTIONS	0561		/* options key */#define KEY_PREVIOUS	0562		/* previous key */#define KEY_REDO	0563		/* redo key */#define KEY_REFERENCE	0564		/* reference key */#define KEY_REFRESH	0565		/* refresh key */#define KEY_REPLACE	0566		/* replace key */#define KEY_RESTART	0567		/* restart key */#define KEY_RESUME	0570		/* resume key */#define KEY_SAVE	0571		/* save key */#define KEY_SBEG	0572		/* shifted begin key */#define KEY_SCANCEL	0573		/* shifted cancel key */#define KEY_SCOMMAND	0574		/* shifted command key */#define KEY_SCOPY	0575		/* shifted copy key */#define KEY_SCREATE	0576		/* shifted create key */#define KEY_SDC		0577		/* shifted delete-character key */#define KEY_SDL		0600		/* shifted delete-line key */#define KEY_SELECT	0601		/* select key */#define KEY_SEND	0602		/* shifted end key */#define KEY_SEOL	0603		/* shifted clear-to-end-of-line key */#define KEY_SEXIT	0604		/* shifted exit key */#define KEY_SFIND	0605		/* shifted find key */#define KEY_SHELP	0606		/* shifted help key */#define KEY_SHOME	0607		/* shifted home key */#define KEY_SIC		0610		/* shifted insert-character key */#define KEY_SLEFT	0611		/* shifted left-arrow key */#define KEY_SMESSAGE	0612		/* shifted message key */#define KEY_SMOVE	0613		/* shifted move key */#define KEY_SNEXT	0614		/* shifted next key */#define KEY_SOPTIONS	0615		/* shifted options key */#define KEY_SPREVIOUS	0616		/* shifted previous key */#define KEY_SPRINT	0617		/* shifted print key */#define KEY_SREDO	0620		/* shifted redo key */#define KEY_SREPLACE	0621		/* shifted replace key */#define KEY_SRIGHT	0622		/* shifted right-arrow key */#define KEY_SRSUME	0623		/* shifted resume key */#define KEY_SSAVE	0624		/* shifted save key */#define KEY_SSUSPEND	0625		/* shifted suspend key */#define KEY_SUNDO	0626		/* shifted undo key */#define KEY_SUSPEND	0627		/* suspend key */#define KEY_UNDO	0630		/* undo key */#define KEY_MOUSE	0631		/* Mouse event has occurred */#define KEY_RESIZE	0632		/* Terminal resize event */#define KEY_EVENT	0633		/* We were interrupted by an event */#define KEY_MAX		0777		/* Maximum key value is 0633 *//* $Id: curses.tail,v 1.8 2002/11/02 20:26:26 tom Exp $ *//* mouse interface */#define NCURSES_MOUSE_VERSION	1/* event masks */#define	BUTTON1_RELEASED	000000000001L#define	BUTTON1_PRESSED		000000000002L#define	BUTTON1_CLICKED		000000000004L#define	BUTTON1_DOUBLE_CLICKED	000000000010L#define	BUTTON1_TRIPLE_CLICKED	000000000020L#define BUTTON1_RESERVED_EVENT	000000000040L#define	BUTTON2_RELEASED	000000000100L#define	BUTTON2_PRESSED		000000000200L#define	BUTTON2_CLICKED		000000000400L#define	BUTTON2_DOUBLE_CLICKED	000000001000L#define	BUTTON2_TRIPLE_CLICKED	000000002000L#define BUTTON2_RESERVED_EVENT	000000004000L#define	BUTTON3_RELEASED	000000010000L#define	BUTTON3_PRESSED		000000020000L#define	BUTTON3_CLICKED		000000040000L#define	BUTTON3_DOUBLE_CLICKED	000000100000L#define	BUTTON3_TRIPLE_CLICKED	000000200000L#define BUTTON3_RESERVED_EVENT	000000400000L#define	BUTTON4_RELEASED	000001000000L#define	BUTTON4_PRESSED		000002000000L#define	BUTTON4_CLICKED		000004000000L#define	BUTTON4_DOUBLE_CLICKED	000010000000L#define	BUTTON4_TRIPLE_CLICKED	000020000000L#define BUTTON4_RESERVED_EVENT	000040000000L#define BUTTON_CTRL		000100000000L#define BUTTON_SHIFT		000200000000L#define BUTTON_ALT		000400000000L#define	ALL_MOUSE_EVENTS	000777777777L#define	REPORT_MOUSE_POSITION	001000000000L/* macros to extract single event-bits from masks */#define	BUTTON_RELEASE(e, x)		((e) & (001 << (6 * ((x) - 1))))#define	BUTTON_PRESS(e, x)		((e) & (002 << (6 * ((x) - 1))))#define	BUTTON_CLICK(e, x)		((e) & (004 << (6 * ((x) - 1))))#define	BUTTON_DOUBLE_CLICK(e, x)	((e) & (010 << (6 * ((x) - 1))))#define	BUTTON_TRIPLE_CLICK(e, x)	((e) & (020 << (6 * ((x) - 1))))#define	BUTTON_RESERVED_EVENT(e, x)	((e) & (040 << (6 * ((x) - 1))))typedef unsigned long mmask_t;typedef struct{    short id;		/* ID to distinguish multiple devices */    int x, y, z;	/* event coordinates (character-cell) */    mmask_t bstate;	/* button state bits */}MEVENT;extern NCURSES_EXPORT(int) getmouse (MEVENT *);extern NCURSES_EXPORT(int) ungetmouse (MEVENT *);extern NCURSES_EXPORT(mmask_t) mousemask (mmask_t, mmask_t *);extern NCURSES_EXPORT(bool) wenclose (const WINDOW *, int, int);extern NCURSES_EXPORT(int) mouseinterval (int);extern NCURSES_EXPORT(bool) wmouse_trafo (const WINDOW* win,int* y, int* x, bool to_screen);extern NCURSES_EXPORT(bool) mouse_trafo (int*, int*, bool);              /* generated */#define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen)/* other non-XSI functions */extern NCURSES_EXPORT(int) mcprint (char *, int);	/* direct data to printer */extern NCURSES_EXPORT(int) has_key (int);		/* do we have given key? *//* Debugging : use with libncurses_g.a */extern NCURSES_EXPORT(void) _tracef (const char *, ...) GCC_PRINTFLIKE(1,2);extern NCURSES_EXPORT(void) _tracedump (const char *, WINDOW *);extern NCURSES_EXPORT(char *) _traceattr (attr_t);extern NCURSES_EXPORT(char *) _traceattr2 (int, chtype);extern NCURSES_EXPORT(char *) _nc_tracebits (void);extern NCURSES_EXPORT(char *) _tracechar (int);extern NCURSES_EXPORT(char *) _tracechtype (chtype);extern NCURSES_EXPORT(char *) _tracechtype2 (int, chtype);#ifdef _XOPEN_SOURCE_EXTENDED#define _tracech_t		_tracecchar_textern NCURSES_EXPORT(char *) _tracecchar_t (const cchar_t *);#define _tracech_t2		_tracecchar_t2extern NCURSES_EXPORT(char *) _tracecchar_t2 (int, const cchar_t *);#else#define _tracech_t		_tracechtype#define _tracech_t2		_tracechtype2#endifextern NCURSES_EXPORT(char *) _tracemouse (const MEVENT *);extern NCURSES_EXPORT(void) trace (const unsigned int);/* trace masks */#define TRACE_DISABLE	0x0000	/* turn off tracing */#define TRACE_TIMES	0x0001	/* trace user and system times of updates */#define TRACE_TPUTS	0x0002	/* trace tputs calls */#define TRACE_UPDATE	0x0004	/* trace update actions, old & new screens */#define TRACE_MOVE	0x0008	/* trace cursor moves and scrolls */#define TRACE_CHARPUT	0x0010	/* trace all character outputs */#define TRACE_ORDINARY	0x001F	/* trace all update actions */#define TRACE_CALLS	0x0020	/* trace all curses calls */#define TRACE_VIRTPUT	0x0040	/* trace virtual character puts */#define TRACE_IEVENT	0x0080	/* trace low-level input processing */#define TRACE_BITS	0x0100	/* trace state of TTY control bits */#define TRACE_ICALLS	0x0200	/* trace internal/nested calls */#define TRACE_CCALLS	0x0400	/* trace per-character calls */#define TRACE_DATABASE	0x0800	/* trace read/write of terminfo/termcap data */#define TRACE_ATTRS	0x1000	/* trace attribute updates */#define TRACE_SHIFT	13	/* number of bits in the trace masks */#define TRACE_MAXIMUM	((1 << TRACE_SHIFT) - 1) /* maximum trace level */#if defined(TRACE) || defined(NCURSES_TEST)extern NCURSES_EXPORT_VAR(int) _nc_optimize_enable;		/* enable optimizations */#ifdef _XOPEN_SOURCE_EXTENDEDextern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *);#endifextern NCURSES_EXPORT(const char *) _nc_visbuf (const char *);#define OPTIMIZE_MVCUR		0x01	/* cursor movement optimization */#define OPTIMIZE_HASHMAP	0x02	/* diff hashing to detect scrolls */#define OPTIMIZE_SCROLL		0x04	/* scroll optimization */#define OPTIMIZE_ALL		0xff	/* enable all optimizations (dflt) */#endif#ifdef __cplusplus/* these names conflict with STL */#undef box#undef clear#undef erase#undef move#undef refresh}#endif#endif /* __NCURSES_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -