亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cursesw.cc

?? ncurses-5.4 需要的就來下把 一定會有用的哦
?? CC
字號:
// * this is for making emacs happy: -*-Mode: C++;-*-/*  Copyright (C) 1989 Free Software Foundation  written by Eric Newton (newton@rocky.oswego.edu)  This file is part of the GNU C++ Library.  This library is free  software; you can redistribute it and/or modify it under the terms of  the GNU Library General Public License as published by the Free  Software Foundation; either version 2 of the License, or (at your  option) any later version.  This library is distributed in the hope  that it will be useful, but WITHOUT ANY WARRANTY; without even the  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR  PURPOSE.  See the GNU Library General Public License for more details.  You should have received a copy of the GNU Library General Public  License along with this library; if not, write to the Free Software  Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  modified by Ulrich Drepper  (drepper@karlsruhe.gmd.de)          and Anatoly Ivasyuk (anatoly@nick.csh.rit.edu)  modified by Juergen Pfeifer  and Thomas Dickey (noting that more than 70% of this file has been changed)*/#include "internal.h"#include "cursesw.h"MODULE_ID("$Id: cursesw.cc,v 1.26 2003/10/25 15:02:46 tom Exp $")#define COLORS_NEED_INITIALIZATION  -1#define COLORS_NOT_INITIALIZED       0#define COLORS_MONOCHROME            1#define COLORS_ARE_REALLY_THERE      2// declare static variables for the classlong NCursesWindow::count = 0L;bool NCursesWindow::b_initialized = FALSE;/* * The ncurses library has a fallback for vsscanf(), which may work... */#if !(USE_STRSTREAM_VSCAN || USE_STRSTREAM_VSCAN_CAST)#  undef  USE_STDIO_VSCAN#  define USE_STDIO_VSCAN 1#endif#if defined(__GNUG__)#  ifndef _IO_va_list#    define _IO_va_list char *#  endif#endifintNCursesWindow::scanw(const char* fmt, ...){    int result = ERR;    char buf[BUFSIZ];    if (::wgetnstr(w, buf, sizeof(buf)) != ERR) {	va_list args;	va_start(args, fmt);#if USE_STDIO_VSCAN	if (::vsscanf(buf, fmt, args) != -1)	    result = OK;#elif USE_STRSTREAM_VSCAN	/* powerpc, os390 */	strstreambuf ss(buf, sizeof(buf));	if (ss.vscan(fmt, args) != -1)	    result = OK;#elif USE_STRSTREAM_VSCAN_CAST	/* pre-gcc 3.0 */	strstreambuf ss(buf, sizeof(buf));	if (ss.vscan(fmt, (_IO_va_list)args) != -1)	    result = OK;#endif	va_end(args);    }    return result;}intNCursesWindow::scanw(int y, int x, const char* fmt, ...){    int result = ERR;    char buf[BUFSIZ];    if (::wmove(w, y, x) != ERR) {	if (::wgetnstr(w, buf, sizeof(buf)) != ERR) {	    va_list args;	    va_start(args, fmt);#if USE_STDIO_VSCAN	    if (::vsscanf(buf, fmt, args) != -1)		result = OK;#elif USE_STRSTREAM_VSCAN	/* powerpc, os390 */	    strstreambuf ss(buf, sizeof(buf));	    if (ss.vscan(fmt, args) != -1)		result = OK;#elif USE_STRSTREAM_VSCAN_CAST	/* pre-gcc 3.0 */	    strstreambuf ss(buf, sizeof(buf));	    if (ss.vscan(fmt, (_IO_va_list)args) != -1)		result = OK;#endif	    va_end(args);	}    }    return result;}intNCursesWindow::printw(const char * fmt, ...){    va_list args;    va_start(args, fmt);    char buf[BUFSIZ];    ::vsprintf(buf, fmt, args);    va_end(args);    return waddstr(w, buf);}intNCursesWindow::printw(int y, int x, const char * fmt, ...){    va_list args;    va_start(args, fmt);    int result = ::wmove(w, y, x);    if (result == OK) {	char buf[BUFSIZ];	::vsprintf(buf, fmt, args);	result = waddstr(w, buf);    }    va_end(args);    return result;}voidNCursesWindow::init(void){    leaveok(0);    keypad(1);    meta(1);}voidNCursesWindow::err_handler(const char *msg) const THROWS(NCursesException){  THROW(new NCursesException(msg));}voidNCursesWindow::initialize() {  if (!b_initialized) {    ::initscr();    b_initialized = TRUE;    if (colorInitialized==COLORS_NEED_INITIALIZATION) {      colorInitialized=COLORS_NOT_INITIALIZED;      useColors();    }    ::noecho();    ::cbreak();  }}NCursesWindow::NCursesWindow() {  initialize();  w = (WINDOW *)0;  init();  alloced = FALSE;  subwins = par = sib = 0;  count++;}NCursesWindow::NCursesWindow(int lines, int cols, int begin_y, int begin_x){    initialize();    w = ::newwin(lines, cols, begin_y, begin_x);    if (w == 0) {	err_handler("Cannot construct window");    }    init();    alloced = TRUE;    subwins = par = sib = 0;    count++;}NCursesWindow::NCursesWindow(WINDOW* &window){    initialize();    w = window;    init();    alloced = FALSE;    subwins = par = sib = 0;    count++;}NCursesWindow::NCursesWindow(NCursesWindow& win, int l, int c,			     int begin_y, int begin_x, char absrel){    initialize();    if (absrel == 'a') { // absolute origin	begin_y -= win.begy();	begin_x -= win.begx();    }    // Even though we treat subwindows as a tree, the standard curses    // library needs the `subwin' call to link to the parent in    // order to correctly perform refreshes, etc.    // Friendly enough, this also works for pads.    w = ::derwin(win.w, l, c, begin_y, begin_x);    if (w == 0) {	err_handler("Cannot construct subwindow");    }    par = &win;    sib = win.subwins;    win.subwins = this;    subwins = 0;    alloced = TRUE;    count++;}NCursesWindow::NCursesWindow(NCursesWindow& win,				bool do_box NCURSES_PARAM_INIT(TRUE)){  initialize();  w = :: derwin(win.w,win.height()-2,win.width()-2,1,1);  if (w == 0) {    err_handler("Cannot construct subwindow");  }  par = &win;  sib = win.subwins;  win.subwins = this;  subwins = 0;  alloced = TRUE;  count++;  if (do_box) {    win.box();    win.touchwin();  }}NCursesWindow NCursesWindow::Clone() {  WINDOW *d = ::dupwin(w);  NCursesWindow W(d);  W.subwins = subwins;  W.sib = sib;  W.par = par;  W.alloced = alloced;  return W;}typedef int (*RIPOFFINIT)(NCursesWindow&);static RIPOFFINIT R_INIT[5];       // There can't be morestatic int r_init_idx   = 0;static RIPOFFINIT* prip = R_INIT;extern "C" int _nc_ripoffline(int,int (*init)(WINDOW*,int));NCursesWindow::NCursesWindow(WINDOW *win, int cols) {  initialize();  w = win;  assert((w->_maxx+1)==cols);  alloced = FALSE;  subwins = par = sib = 0;}int NCursesWindow::ripoff_init(WINDOW *w, int cols){  int res = ERR;  RIPOFFINIT init = *prip++;  if (init) {    NCursesWindow* W = new NCursesWindow(w,cols);    res = init(*W);  }  return res;}int NCursesWindow::ripoffline(int ripoff_lines,			      int (*init)(NCursesWindow& win)) {  int code = ::_nc_ripoffline(ripoff_lines,ripoff_init);  if (code==OK && init && ripoff_lines) {    R_INIT[r_init_idx++] = init;  }  return code;}boolNCursesWindow::isDescendant(NCursesWindow& win) {  for (NCursesWindow* p = subwins; p != NULL; p = p->sib) {    if (p==&win)      return TRUE;    else {      if (p->isDescendant(win))	return TRUE;    }  }  return FALSE;}voidNCursesWindow::kill_subwindows(){    for (NCursesWindow* p = subwins; p != 0; p = p->sib) {	p->kill_subwindows();	if (p->alloced) {	    if (p->w != 0)		::delwin(p->w);	    p->alloced = FALSE;	}	p->w = 0; // cause a run-time error if anyone attempts to use...    }}NCursesWindow::~NCursesWindow(){    kill_subwindows();    if (par != 0) {  // Snip us from the parent's list of subwindows.	NCursesWindow * win = par->subwins;	NCursesWindow * trail = 0;	for (;;) {	    if (win == 0)		break;	    else if (win == this) {		if (trail != 0)		    trail->sib = win->sib;		else		    par->subwins = win->sib;		break;	    } else {		trail = win;		win = win->sib;	    }	}    }    if (alloced && w != 0)	::delwin(w);    if (alloced) {      --count;      if (count == 0) {	::endwin();      }      else if (count < 0) { // cannot happen!	err_handler("Too many windows destroyed");      }    }}// ---------------------------------------------------------------------// Color stuff//int NCursesWindow::colorInitialized = COLORS_NOT_INITIALIZED;voidNCursesWindow::useColors(void){    if (colorInitialized == COLORS_NOT_INITIALIZED) {      if (b_initialized) {	if (::has_colors()) {	  ::start_color();	  colorInitialized = COLORS_ARE_REALLY_THERE;	}	else	  colorInitialized = COLORS_MONOCHROME;      }      else	colorInitialized = COLORS_NEED_INITIALIZATION;    }}shortNCursesWindow::getcolor(int getback) const{    short fore, back;    if (colorInitialized==COLORS_ARE_REALLY_THERE) {      if (::pair_content((short)PAIR_NUMBER(w->_attrs), &fore, &back))	err_handler("Can't get color pair");    }    else {      // Monochrome means white on black      back = COLOR_BLACK;      fore = COLOR_WHITE;    }    return getback ? back : fore;}int NCursesWindow::NumberOfColors(){  if (colorInitialized==COLORS_ARE_REALLY_THERE)    return COLORS;  else    return 1; // monochrome (actually there are two ;-)}shortNCursesWindow::getcolor() const{  if (colorInitialized==COLORS_ARE_REALLY_THERE)    return PAIR_NUMBER(w->_attrs);  else    return 0; // we only have pair zero}intNCursesWindow::setpalette(short fore, short back, short pair){  if (colorInitialized==COLORS_ARE_REALLY_THERE)    return ::init_pair(pair, fore, back);  else    return OK;}intNCursesWindow::setpalette(short fore, short back){  if (colorInitialized==COLORS_ARE_REALLY_THERE)    return setpalette(fore, back, (short)PAIR_NUMBER(w->_attrs));  else    return OK;}intNCursesWindow::setcolor(short pair){  if (colorInitialized==COLORS_ARE_REALLY_THERE) {    if ((pair < 1) || (pair > COLOR_PAIRS))      err_handler("Can't set color pair");    attroff(A_COLOR);    attrset(COLOR_PAIR(pair));  }  return OK;}#if HAVE_HAS_KEYextern "C" int _nc_has_mouse(void);bool NCursesWindow::has_mouse() const {  return ((::has_key(KEY_MOUSE) || ::_nc_has_mouse())	  ? TRUE : FALSE);}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色哟哟一区二区三区| 91精品国产综合久久精品图片| 日韩欧美一区二区视频| 天天色图综合网| 欧美一区二区三区公司| 免费精品视频在线| 国产欧美一区二区精品仙草咪| 粉嫩嫩av羞羞动漫久久久| 中文字幕欧美一| 欧美视频在线一区| 久久精品国产**网站演员| 国产三级精品视频| 色综合久久九月婷婷色综合| 亚洲成人7777| 国产色综合一区| 色国产综合视频| 美国毛片一区二区| 国产精品青草久久| 欧美挠脚心视频网站| 国产在线一区观看| 一区二区三区波多野结衣在线观看| 欧美视频完全免费看| 极品瑜伽女神91| 亚洲日本一区二区| 日韩一区二区电影在线| 成人av中文字幕| 日韩国产欧美视频| 成人免费在线播放视频| 欧美日韩国产色站一区二区三区| 国产一区二区三区免费在线观看| 一区二区三区在线视频免费观看| 欧美一区二区三区电影| 91麻豆自制传媒国产之光| 久久国产综合精品| 亚洲国产欧美在线| 国产精品五月天| 日韩午夜在线影院| 色播五月激情综合网| 国产剧情一区二区| 日韩精品国产欧美| 亚洲免费色视频| 久久久噜噜噜久久人人看| 欧美日韩国产成人在线免费| 福利电影一区二区三区| 日韩avvvv在线播放| 亚洲免费在线播放| 久久精品视频在线免费观看| 欧美浪妇xxxx高跟鞋交| 91麻豆高清视频| 激情综合一区二区三区| 丝袜亚洲另类丝袜在线| 亚洲精品免费播放| 国产精品网曝门| 国产欧美在线观看一区| 精品成人免费观看| 日韩一卡二卡三卡四卡| 欧美丰满高潮xxxx喷水动漫| 色哟哟精品一区| 99久久精品免费观看| 国产99精品在线观看| 国产乱对白刺激视频不卡| 免费欧美日韩国产三级电影| 亚洲一区日韩精品中文字幕| 亚洲黄一区二区三区| 中文字幕在线播放不卡一区| 久久久久久电影| 国产欧美精品一区二区色综合朱莉| 日韩精品一区二区三区四区| 欧美一区二区视频观看视频| 8v天堂国产在线一区二区| 欧美性猛片aaaaaaa做受| 色综合天天综合网天天狠天天| 成人黄色av电影| 色综合天天综合网国产成人综合天| 暴力调教一区二区三区| av在线不卡免费看| 91免费国产在线| 欧美性大战久久久久久久蜜臀| 色综合天天综合网天天狠天天| 91麻豆免费观看| 在线观看区一区二| 538prom精品视频线放| 91精品国产全国免费观看 | 午夜久久久久久电影| 亚洲动漫第一页| 香蕉加勒比综合久久| 视频一区欧美精品| 韩国女主播一区| 国产成人午夜电影网| 97久久精品人人做人人爽| 91国偷自产一区二区三区观看 | 日韩精品乱码av一区二区| 日本在线不卡一区| 精品一区二区三区免费观看 | 在线精品视频一区二区| 欧美日韩五月天| 欧美www视频| 国产精品国产三级国产有无不卡| 伊人开心综合网| 日本中文字幕一区二区视频| 国产主播一区二区三区| 成人激情黄色小说| 91久久精品网| 精品成人佐山爱一区二区| 亚洲欧美二区三区| 美美哒免费高清在线观看视频一区二区 | 国产精品中文字幕日韩精品 | 日韩一级黄色片| 国产精品久久久久一区| 亚洲成a人片在线不卡一二三区 | 五月天婷婷综合| 国产美女视频91| 色先锋久久av资源部| 欧美va亚洲va香蕉在线| 亚洲欧美一区二区三区久本道91 | 精品在线一区二区| 91免费版在线| 久久伊人中文字幕| 亚洲小说欧美激情另类| 国产自产v一区二区三区c| 欧美伊人精品成人久久综合97 | 欧美午夜片在线观看| 欧美v日韩v国产v| 亚洲午夜久久久久| 懂色av中文一区二区三区| 欧美日本免费一区二区三区| 国产精品久久久久永久免费观看| 蜜臀国产一区二区三区在线播放| 99re热视频这里只精品| 欧美成人精品福利| 天天综合网天天综合色| 91麻豆国产精品久久| 久久久精品国产免大香伊 | 一区二区理论电影在线观看| 国内精品国产成人国产三级粉色| 色女孩综合影院| 国产亚洲欧美日韩俺去了| 亚洲小说欧美激情另类| 成人av片在线观看| 精品对白一区国产伦| 午夜精品久久久| 色综合天天综合网国产成人综合天 | 97超碰欧美中文字幕| 久久理论电影网| 奇米影视一区二区三区| 欧美日韩免费在线视频| 亚洲天堂av一区| 成人国产精品视频| 国产拍欧美日韩视频二区| 国产美女在线精品| 精品国精品自拍自在线| 男男gaygay亚洲| 在线91免费看| 日韩—二三区免费观看av| 欧美日韩午夜在线视频| 亚洲国产精品久久不卡毛片| 在线视频你懂得一区| 亚洲蜜臀av乱码久久精品蜜桃| 成年人国产精品| 中文字幕在线播放不卡一区| 不卡免费追剧大全电视剧网站| 国产女主播在线一区二区| 国产尤物一区二区| 久久久五月婷婷| 成人少妇影院yyyy| 成人欧美一区二区三区视频网页 | 色综合久久88色综合天天免费| 欧美高清在线视频| 成人av手机在线观看| 亚洲视频资源在线| 91黄视频在线观看| 午夜一区二区三区视频| 欧美一级淫片007| 国产在线播放一区| 中文字幕精品一区二区精品绿巨人| 成人激情午夜影院| 夜夜嗨av一区二区三区| 7777精品伊人久久久大香线蕉最新版| 性做久久久久久久久| 日韩免费性生活视频播放| 国产成人免费网站| 综合激情网...| 欧美日韩精品一区二区三区蜜桃 | 在线播放日韩导航| 老司机免费视频一区二区| 精品国产乱码91久久久久久网站| 国产专区综合网| 亚洲欧洲www| 欧美日韩精品电影| 国产精品一二三| 综合在线观看色| 3atv一区二区三区| 国产成人免费在线视频| 亚洲六月丁香色婷婷综合久久 | 欧洲国内综合视频| 天天综合天天做天天综合| 久久综合av免费| 97精品视频在线观看自产线路二| 亚洲午夜久久久久久久久电影网| 精品国产91亚洲一区二区三区婷婷 |