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

📄 cursesw.h

📁 ears-0.32, linux下有用的语音信号处理工具包
💻 H
📖 第 1 页 / 共 2 页
字号:
#define mvwdelch UNDEF(mvwdelch)#endif#ifdef mvwgetchinline int UNDEF(mvwgetch)(WINDOW *win, int y, int x) { return mvwgetch(win, y, x);}#undef mvwgetch#define mvwgetch UNDEF(mvwgetch)#endif#ifdef mvwgetstrinline int UNDEF(mvwgetstr)(WINDOW *win, int y, int x, char *str){return mvwgetstr(win,y,x, str);}#undef mvwgetstr#define mvwgetstr UNDEF(mvwgetstr)#endif#ifdef mvwinchinline int UNDEF(mvwinch)(WINDOW *win, int y, int x) { return mvwinch(win, y, x);}#undef mvwinch#define mvwinch UNDEF(mvwinch)#endif#ifdef mvwinschinline int UNDEF(mvwinsch)(WINDOW *win, int y, int x, char c){ return mvwinsch(win, y, x, c); }#undef mvwinsch#define mvwinsch UNDEF(mvwinsch)#endif#ifdef mvaddchinline int UNDEF(mvaddch)(int y, int x, chtype ch){ return mvaddch(y, x, ch); }#undef mvaddch#define mvaddch UNDEF(mvaddch)#endif#ifdef mvaddnstrinline int UNDEF(mvaddnstr)(int y, int x, const char *str, int n){ return mvaddnstr(y, x, (char*)str, n); }#undef mvaddnstr#define mvaddnstr UNDEF(mvaddnstr)#endif#ifdef mvaddstrinline int UNDEF(mvaddstr)(int y, int x, const char * str){ return mvaddstr(y, x, (char*)str); }#undef mvaddstr#define mvaddstr UNDEF(mvaddstr)#endif#ifdef mvdelchinline int UNDEF(mvdelch)(int y, int x) { return mvdelch(y, x);}#undef mvdelch#define mvdelch UNDEF(mvdelch)#endif#ifdef mvgetchinline int UNDEF(mvgetch)(int y, int x) { return mvgetch(y, x);}#undef mvgetch#define mvgetch UNDEF(mvgetch)#endif#ifdef mvgetstrinline int UNDEF(mvgetstr)(int y, int x, char *str) {return mvgetstr(y, x, str);}#undef mvgetstr#define mvgetstr UNDEF(mvgetstr)#endif#ifdef mvinchinline int UNDEF(mvinch)(int y, int x) { return mvinch(y, x);}#undef mvinch#define mvinch UNDEF(mvinch)#endif#ifdef mvinschinline int UNDEF(mvinsch)(int y, int x, char c){ return mvinsch(y, x, c); }#undef mvinsch#define mvinsch UNDEF(mvinsch)#endif#ifdef napmsinline void UNDEF(napms)(unsigned long x) { napms(x); }#undef napms#define napms UNDEF(napms)#endif#ifdef fixterminline int UNDEF(fixterm)(void) { return fixterm(); }#undef fixterm#define fixterm UNDEF(fixterm)#endif#ifdef resetterminline int UNDEF(resetterm)(void) { return resetterm(); }#undef resetterm#define resetterm UNDEF(resetterm)#endif#ifdef saveterminline int UNDEF(saveterm)(void) { return saveterm(); }#undef saveterm#define saveterm UNDEF(saveterm)#endif#ifdef crmodeinline int UNDEF(crmode)(void) { return crmode(); }#undef crmode#define crmode UNDEF(crmode)#endif#ifdef nocrmodeinline int UNDEF(nocrmode)(void) { return nocrmode(); }#undef nocrmode#define nocrmode UNDEF(nocrmode)#endif/* * * C++ class for windows. * * */class NCursesWindow{  private:    void           init();   protected:    static int     count;            // count of all active windows:                                     //   We rely on the c++ promise that                                     //   all otherwise uninitialized                                     //   static class vars are set to 0    WINDOW *       w;                // the curses WINDOW    int            alloced;          // true if we own the WINDOW    NCursesWindow* par;              // parent, if subwindow    NCursesWindow* subwins;          // head of subwindows list    NCursesWindow* sib;              // next subwindow of parent    void           kill_subwindows(); // disable all subwindows  public:    NCursesWindow(WINDOW* &window);  // useful only for stdscr    NCursesWindow(int lines,         // number of lines 		  int cols,          // number of columns	 	  int begin_y,       // line origin		  int begin_x);      // col origin    NCursesWindow(NCursesWindow& par,// parent window		  int lines,         // number of lines		  int cols,          // number of columns		  int by,            // absolute or relative		  int bx,            //   origins:		  char absrel = 'a');// if `a', by & bx are                                     // absolute screen pos,                                     // else if `r', they are                                     // relative to par origin    virtual ~NCursesWindow();    // terminal status    int            lines() const { return LINES; }                            // number of lines on terminal, *not* window    int            cols() const { return COLS; }                            // number of cols  on terminal, *not* window    virtual int    colors() const { return 1; }                            // number of available colors    // window status    int            height() const { return maxy() - begy() + 1; }                             // number of lines in this window    int            width() const { return maxx() - begx() + 1; }                             // number of cols in this window    int            begx() const { return w->_begx; }                             // smallest x coord in window    int            begy() const { return w->_begy; }                             // smallest y coord in window    int            maxx() const { return w->_maxx; }                             // largest  x coord in window    int            maxy() const { return w->_maxy; }                             // largest  x coord in window    virtual short  foreground() const { return 1; }                             // actual foreground color    virtual short  background() const { return 1; }                             // actual background color    virtual short  getcolor() const { return 0x11; }                             // actual color pair number    virtual int    setpalette(short fore, short back) const { return 0; }                             // set color palette entry    virtual int    setcolor(short pair) { return 0; }                             // set actually used palette entry    // window positioning    int            move(int y, int x) { return ::wmove(w, y, x); }    // coordinate positioning    void           getyx(int& y, int& x) { ::getyx(w, y, x); }    int            mvcur(int sy, int ey, int sx, int ex)                       { return ::mvcur(sy, ey, sx, ex); }    // input    int            nodelay(bool i) { return ::nodelay(w,i); }    int            timeout(int i) { return ::wtimeout(w,i); }    int            getch() { return ::wgetch(w); }    int            getch(int y, int x)                       { return (::wmove(w, y, x)==ERR) ? ERR : ::wgetch(w); }    int            getstr(char* str) { return ::wgetstr(w, str); }    int            getstr(int y, int x, char* str)                       { return (::wmove(w, y, x)==ERR) ? ERR                                                         : ::wgetstr(w, str); }    int            scanw(const char*, ...)#if __GNUG__ >= 2	           __attribute__ ((format (scanf, 2, 3)));#else                   ;#endif    int            scanw(int, int, const char*, ...)#if __GNUG__ >= 2	           __attribute__ ((format (scanf, 4, 5)));#else                   ;#endif    // output    int            addch(const chtype ch) { return ::waddch(w, ch); }    int            addch(int y, int x, chtype ch)                       { return (::wmove(w, y, x)==ERR) ? ERR                                                         : ::waddch(w, ch); }    int            addstr(const char* str) { return ::waddstr(w, (char*)str); }    int            addstr(int y, int x, const char * str)                       { return (::wmove(w, y, x)==ERR) ? ERR                                                  : ::waddstr(w, (char*)str); }    int            addnstr (const char* str, int n)                        { return ::waddnstr(w, (char*) str, n); }    int            printw(const char* fmt, ...)#if __GNUG__ >= 2	           __attribute__ ((format (printf, 2, 3)));#else                   ;#endif    int            printw(int y, int x, const char * fmt, ...)#if __GNUG__ >= 2	           __attribute__ ((format (printf, 4, 5)));#else                   ;#endif    int            inch() { return ::winch(w); }    int            inch(int y, int x)                       { return (::wmove(w, y, x)==ERR) ? ERR : ::winch(w); }    int            insch(chtype ch) { return ::winsch(w, ch); }    int            insch(int y, int x, chtype ch)                       { return (::wmove(w, y, x)==ERR) ? ERR                                                         : ::winsch(w, ch); }    int            insertln() { return ::winsertln(w); }    int            attron(chtype at) { return ::wattron(w, at); }    int            attroff(chtype at) { return ::wattroff(w, at); }    int            attrset(chtype at) { return ::wattrset(w, at); }    // borders    int            box(char vert, char  hor) { return ::box(w, vert, hor); }    int            box() { return ::box(w, ACS_VLINE, ACS_HLINE); }    // lines and boxes    int            hline(int y, int x, chtype ch, int len)                       { return (::wmove(w, y, x)==ERR) ? ERR:                                               ::whline(w, ch, len); }    int            hline(int y, int x, int len)                       { return (::wmove(w, y, x)==ERR) ? ERR:                                               ::whline(w, ACS_HLINE, len); }    int            hline(chtype ch, int len) { return ::whline(w, ch, len); }    int            hline(int len) { return ::whline(w, ACS_HLINE, len); }    int            vline(int y, int x, chtype ch, int len)                       { return (::wmove(w, y, x)==ERR) ? ERR:                                                ::wvline(w, ch, len); }    int            vline(int y, int x, int len)                       { return (::wmove(w, y, x)==ERR) ? ERR:                                                ::wvline(w, ACS_VLINE, len); }    int            vline(chtype ch, int len) { return ::wvline(w, ch, len); }    int            vline(int len) { return ::wvline(w, ACS_VLINE, len); }    // erasure    int            erase() { return ::werase(w); }    int            clear() { return ::wclear(w); }    int            clearok(int bf) { return ::clearok(w, bf); }    int            clrtobot() { return ::wclrtobot(w); }    int            clrtoeol() { return ::wclrtoeol(w); }    int            delch() { return ::wdelch(w); }    int            delch(int y, int x)                       { return (::wmove(w, y, x)==ERR) ? ERR : ::wdelch(w); }    int            deleteln() { return ::wdeleteln(w); }    // screen control    int            scrl(int bf) { return ::wscrl(w,bf); }    int            scroll() { return ::scroll(w); }    int            scrollok(int bf) { return ::scrollok(w, bf); }    int            idlok(int bf) { return ::idlok(w, bf); }    int            touchwin() { return ::touchwin(w); }    int            refresh() { move(0,0); return ::wrefresh(w); }    int            leaveok(int bf) { return ::leaveok(w, bf); }    int            noutrefresh() { move(0,0); return ::wnoutrefresh(w); }    int            doupdate() { return ::doupdate(); }#ifndef _no_flushok    int            flushok(int bf) { return ::flushok(w, bf); }#endif    int            keypad(int bf) { return ::keypad(w, bf); }    int            standout() { return ::wstandout(w); }    int            standend() { return ::wstandend(w); }    // multiple window control    int            overlay(NCursesWindow &win)                       { return ::overlay(w, win.w); }    int            overwrite(NCursesWindow &win)                       { return ::overwrite(w, win.w); }    // traversal support    NCursesWindow*  child() { return subwins; }    NCursesWindow*  sibling() { return sib; }    NCursesWindow*  parent() { return par; }};class NCursesColorWindow : public NCursesWindow {  private:    void           colorInit(void);    short          getcolor(int getback) const;  protected:    static int     colorInitialized;  public:    NCursesColorWindow(WINDOW* &window);  // useful only for stdscr    NCursesColorWindow(int lines,         // number of lines		       int cols,          // number of columns		       int begin_y,       // line origin		       int begin_x);      // col origin    NCursesColorWindow(NCursesWindow& par,// parent window		       int lines,         // number of lines		       int cols,          // number of columns		       int by,            // absolute or relative		       int bx,            //   origins:		       char absrel = 'a');// if `a', by & bx are                                          // absolute screen pos,                                          // else if `r', they are                                          // relative to par origin    // terminal status    int            colors() const { return has_colors() ? COLORS : 1; }                            // number of available colors    // window status    short          foreground() const { return getcolor(0); }                             // actual foreground color    short          background() const { return getcolor(1); }                             // actual background color    short          getcolor() const { return PAIR_NUMBER(w->_attrs); }                             // actual color pair number    static int     setpalette(short fore, short back, short pair);    int            setpalette(short fore, short back) const {                      return setpalette(fore, back, PAIR_NUMBER(w->_attrs)); }                             // set color palette entry    int            setcolor(short pair);                             // set actually used palette entry};#endif // _CURSESW_H#endif

⌨️ 快捷键说明

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