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

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

?? newwin.c

?? 該程序是C語言編寫的
?? C
字號:
/****************************************************************/
/* Newwin(), subwin() routines of the PCcurses package		*/
/*								*/
/****************************************************************/
/* This version of curses is based on ncurses, a curses version	*/
/* originally written by Pavel Curtis at Cornell University.	*/
/* I have made substantial changes to make it run on IBM PC's,	*/
/* and therefore consider myself free to make it public domain.	*/
/*				Bjorn Larsson (bl@infovox.se)	*/
/****************************************************************/
/* 1.4:  References to win->borderchar[] removed due to		*/
/*	 re-defined border() functions. Use of short		*/
/*	 wherever possible. Bug in subwin() did not		*/
/*	 allow subwin to be the same size as the origi-		*/
/*	 nal window. Portability improvements:		900114	*/
/* 1.3:  MSC '-W3', Turbo'C' '-w -w-pro' checks.		*/
/*	 Support for border(), wborder() functions:	881005	*/
/* 1.2:	 Other max limits off by 1. Fixed thanks to		*/
/*	 S. Creps:					881002	*/
/* 1.1:	 Fix in subwin: '+/-1' error when checking that		*/
/*	 subwindow fits in parent window:		880305	*/
/* 1.0:	 Release:					870515	*/
/****************************************************************/

#include <stdio.h>
#include <curses.h>
#include <curspriv.h>

char _curses_newwin_rcsid[] = "@(#)newwin.c     v.1.4  - 900114";

extern	char	*malloc();
extern	char	*calloc();
extern	void	 free();

/****************************************************************/
/* Makenew() allocates all data for a new window except the	*/
/* actual lines themselves.					*/
/****************************************************************/

static WINDOW *makenew(num_lines, num_columns, begy, begx)
  int	num_lines;
  int	num_columns;
  int	begy;
  int	begx;
  {
  short		 i;
  WINDOW	*win;

  /* allocate the window structure itself */

  if ((win = (WINDOW *) malloc(sizeof(WINDOW))) == NULL)
    return ((WINDOW *) ERR);

  /* allocate the line pointer array */

  if ((win->_line = (short **) calloc(num_lines, sizeof (short *))) == NULL)
    {
    free(win);
    return((WINDOW *) ERR);
    }

  /* allocate the minchng and maxchng arrays */

  if ((win->_minchng = (short *) calloc(num_lines, sizeof(short))) == NULL)
    {
    free(win);
    free(win->_line);
    return((WINDOW *) ERR);
    }
  if ((win->_maxchng = (short *) calloc(num_lines, sizeof(short))) == NULL)
    {
    free(win);
    free(win->_line);
    free(win->_minchng);
    return((WINDOW *) ERR);
    }

  /* initialize window variables */

  win->_curx      = 0;
  win->_cury      = 0;
  win->_maxy      = num_lines;
  win->_maxx      = num_columns;
  win->_begy      = begy;
  win->_begx      = begx;
  win->_flags     = 0;
  win->_attrs     = ATR_NRM;
  win->_tabsize   = 8;
  win->_clear     = (bool) ((num_lines == LINES) && (num_columns == COLS));
  win->_leave     = FALSE;
  win->_scroll    = FALSE;
  win->_nodelay   = FALSE;
  win->_keypad    = FALSE;
  win->_regtop    = 0;
  win->_regbottom = num_lines - 1;

  /* init to say window unchanged */

  for (i = 0; i < num_lines; i++)
    {
    win->_minchng[i] = 0;
    win->_maxchng[i] = num_columns-1;
    }

  /* set flags for window properties */

  if ((begy + num_lines) == LINES)
    {
    win->_flags |= _ENDLINE;
    if ((begx == 0) && (num_columns == COLS) && (begy == 0))
      win->_flags |= _FULLWIN;
    } /* if */

  if (((begy + num_lines) == LINES)
        &&
      ((begx + num_columns) == COLS))
    win->_flags |= _SCROLLWIN;
  return(win);
  } /* makenew */

/****************************************************************/
/* Newwin() creates a new window with size num_lines * num_co-	*/
/* lumns, and origin begx,begy relative to the SCREEN. Special	*/
/* case: if num_lines and/or num_columns is 0, the remainder of	*/
/* the screen is used.						*/
/****************************************************************/

WINDOW *newwin(num_lines, num_columns, begy, begx)
  int	num_lines;
  int	num_columns;
  int	begy;
  int	begx;
  {
  WINDOW	*win;
  short		*ptr;
  short		 i, j;

  if (num_lines == 0)
    num_lines = LINES - begy;
  if (num_columns == 0)
    num_columns = COLS - begx;
  if ((win = makenew(num_lines, num_columns, begy, begx)) == (WINDOW *) ERR)
    return((WINDOW *) ERR);
  for (i = 0; i < num_lines; i++)	/* make and clear the lines */
    {
    if((win->_line[i] = (short *) calloc(num_columns,sizeof(short))) == NULL)
      {
      for (j = 0; j < i; j++)		/* if error, free all the data */
	free(win->_line[j]);
      free(win->_minchng);
      free(win->_maxchng);
      free(win->_line);
      free(win);
      return((WINDOW *) ERR);
      } /* if */
    else
      for (ptr = win->_line[i]; ptr < win->_line[i] + num_columns;)
	*ptr++ = ' ' | ATR_NRM;
    } /* for */
  return(win);
  } /* newwin */

/****************************************************************/
/* Subwin() creates a sub-window in the 'orig' window, with	*/
/* size num_lines * num_columns, and with origin begx, begy	*/
/* relative to the SCREEN. Special case: if num_lines and/or	*/
/* num_columns is 0, the remainder of the original window is	*/
/* used. The subwindow uses the original window's line buffers	*/
/* to store it's own lines.					*/
/****************************************************************/

WINDOW *subwin(orig, num_lines, num_columns, begy, begx)
  WINDOW	*orig;
  int		 num_lines, num_columns, begy, begx;
  {
  WINDOW	*win;
  short		 i, j, k;

  /* make sure window fits inside the original one */

  if (
      begy < orig->_begy || 
      begx < orig->_begx ||
      (begy + num_lines) > (orig->_begy + orig->_maxy) ||
      (begx + num_columns) > (orig->_begx + orig->_maxx)
     )
    return((WINDOW *) ERR);

  if (num_lines == 0)
    num_lines = orig->_maxy - (begy - orig->_begy);
  if (num_columns == 0)
    num_columns = orig->_maxx - (begx - orig->_begx);
  if ((win = makenew(num_lines, num_columns, begy, begx)) == (WINDOW *) ERR)
    return((WINDOW *) ERR);

  /* set line pointers the same as in the original window */

  j = begy - orig->_begy;
  k = begx - orig->_begx;
  for (i = 0; i < num_lines; i++)
    win->_line[i] = (orig->_line[j++]) + k;
  win->_flags |= _SUBWIN;
  return(win);
  } /* subwin */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
777午夜精品视频在线播放| 99热在这里有精品免费| 欧美日韩一本到| 亚洲一区二区四区蜜桃| 欧美午夜一区二区| 日本三级亚洲精品| 久久蜜桃香蕉精品一区二区三区| 国内精品在线播放| 国产精品黄色在线观看| 91成人免费在线| 寂寞少妇一区二区三区| 2019国产精品| 99久久精品一区二区| 一级精品视频在线观看宜春院| 欧美偷拍一区二区| 久草精品在线观看| 国产精品欧美一区二区三区| 欧美优质美女网站| 看国产成人h片视频| 欧美激情一二三区| 欧美午夜精品久久久久久孕妇| 免费一级片91| 国产精品国产三级国产普通话蜜臀 | 国产精品影视天天线| 国产精品嫩草影院com| 欧美另类z0zxhd电影| 国产一区二区不卡| 亚洲美女精品一区| 日韩欧美www| 色婷婷综合视频在线观看| 久久精品国产一区二区| 亚洲欧美日韩中文字幕一区二区三区 | 国产精品灌醉下药二区| 欧美日韩精品免费| 粉嫩嫩av羞羞动漫久久久| 亚洲综合在线观看视频| 久久久三级国产网站| 欧美色窝79yyyycom| 成人免费视频一区二区| 美女视频黄免费的久久| 亚洲一区中文日韩| 国产片一区二区| 欧美电视剧在线观看完整版| 91久久香蕉国产日韩欧美9色| 黑人巨大精品欧美黑白配亚洲| 亚洲一区二区视频| 国产精品麻豆视频| 精品久久人人做人人爱| 欧美日韩一区二区三区视频| 波多野结衣91| 国产成a人无v码亚洲福利| 蜜桃免费网站一区二区三区| 亚洲成av人片在线观看无码| 亚洲同性gay激情无套| 国产日韩综合av| 日韩欧美一级精品久久| 欧美色倩网站大全免费| 91久久线看在观草草青青| 粉嫩av一区二区三区在线播放| 蜜桃av一区二区三区电影| 一区二区三区免费| ●精品国产综合乱码久久久久| 久久精品视频免费| 久久女同性恋中文字幕| 日韩欧美成人一区二区| 日韩精品一区在线观看| 日韩一区二区不卡| 91麻豆精品国产91久久久久| 91精品福利视频| 91激情在线视频| 在线观看一区不卡| 在线这里只有精品| 色狠狠综合天天综合综合| 91在线视频免费91| 99免费精品在线观看| 成人高清在线视频| 成人午夜私人影院| 成人黄色小视频| 99久久久无码国产精品| 91在线精品一区二区三区| 91啪在线观看| 欧美在线观看视频一区二区| 在线视频观看一区| 欧美日韩一区二区不卡| 在线播放中文一区| 日韩三级高清在线| 久久久一区二区| 国产欧美精品国产国产专区 | 亚洲精品乱码久久久久久黑人| 亚洲欧洲精品一区二区三区不卡| 日韩一区在线免费观看| 亚洲一区二区中文在线| 日韩高清在线一区| 久久99久久久久| 国产成人一区在线| 在线影视一区二区三区| 91麻豆精品国产91久久久久| 精品捆绑美女sm三区| 国产精品久久综合| 亚洲一区二区欧美日韩 | 亚洲精品免费播放| 日韩av中文字幕一区二区| 国产在线观看一区二区| 9i看片成人免费高清| 欧美日韩视频在线第一区| 日韩免费高清av| 国产精品免费久久| 亚洲国产成人av好男人在线观看| 美女任你摸久久| 不卡av电影在线播放| 欧美日韩国产综合一区二区三区 | 91老师片黄在线观看| 91精品国产高清一区二区三区| 精品sm捆绑视频| 亚洲免费av高清| 美女免费视频一区| 91在线观看一区二区| 91精品欧美一区二区三区综合在| 久久久www成人免费无遮挡大片| 亚洲欧美另类图片小说| 免费高清在线一区| 色婷婷综合久久久久中文| 欧美成人精品二区三区99精品| 亚洲精品国产精品乱码不99| 精品一区二区影视| 欧美性感一类影片在线播放| 国产色产综合色产在线视频| 亚洲mv在线观看| 成人禁用看黄a在线| 欧美精品一区二区三区蜜桃| 亚洲午夜羞羞片| av亚洲精华国产精华精华| 日韩女优制服丝袜电影| 一区二区三区四区精品在线视频| 激情综合亚洲精品| 555夜色666亚洲国产免| ...中文天堂在线一区| 久久草av在线| 欧美精品丝袜中出| 亚洲欧洲综合另类在线 | 高清日韩电视剧大全免费| 欧美精品 国产精品| 18成人在线观看| 国产成人免费视频一区| 欧美大白屁股肥臀xxxxxx| 亚洲小少妇裸体bbw| 91片黄在线观看| 国产精品国产精品国产专区不蜜| 国产精品一色哟哟哟| 日韩欧美一级片| 麻豆专区一区二区三区四区五区| 欧美系列亚洲系列| 亚洲欧美日韩电影| 不卡一区二区中文字幕| 国产精品免费久久| 粉嫩aⅴ一区二区三区四区 | 91精品在线一区二区| 亚洲一区中文日韩| 在线看国产日韩| 亚洲在线观看免费视频| 色婷婷激情久久| 一区二区三区在线不卡| 在线观看亚洲专区| 亚洲国产精品尤物yw在线观看| 欧美色综合影院| 亚洲国产精品综合小说图片区| 欧美日韩在线一区二区| 亚洲成人www| 欧美一区二区在线视频| 日本午夜一区二区| 精品奇米国产一区二区三区| 激情图区综合网| 久久精品无码一区二区三区| 国产高清精品在线| 国产精品国产三级国产普通话三级 | 欧美精品三级在线观看| 视频一区欧美精品| 欧美sm极限捆绑bd| 国产伦精品一区二区三区视频青涩| 久久久国产午夜精品| 成人高清在线视频| 亚洲综合免费观看高清完整版| 欧美日韩在线播放三区四区| 石原莉奈在线亚洲二区| 欧美电视剧在线观看完整版| 国产精品一区免费在线观看| 中文字幕一区视频| 欧美中文字幕一二三区视频| 免费高清在线一区| 亚洲国产成人在线| 欧美无砖专区一中文字| 免费成人结看片| 国产蜜臀av在线一区二区三区| av网站免费线看精品| 亚洲国产毛片aaaaa无费看| 日韩欧美视频在线| 99免费精品视频| 奇米一区二区三区| 中文av字幕一区| 91电影在线观看|