📄 curses.tail
字号:
/* $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 + -