4 curses库基垫(pad)处理
~~~~~~~~~~~~~~~~~~~~~~~~
4.1 基垫说明
=============
* 基垫也是一种窗口,它在各方面与WINDOW一样,只是它的大小和位置不再局限于终端屏幕的可视部分.
* 与子窗口类似,基垫也同样有子基垫(subpad)
* 大部分窗口操作的函数都可以直接作用在基垫上,只有少数才是基垫独有的.
* 由于基垫可以完全看不见,这就导致了基垫与WINDOW的一个最主要的差异,即基垫与标准屏幕没有直接关联
4.2 基垫函数说明
=================
/** @brief 创建新基垫 @param lines,cols 指定创建基垫的总行数和总列数 @return 失败的话,返回NULL @note 由于与标准屏幕没有任何关联,因此参数中不需要在标准屏幕中的定位参数 */ WINDOW* newpad(int lines,int cols); /** @brief 创建子基垫 @param pad 要创建子基垫的父基垫 @param lines,cols 子基垫的行数和列数 @param begin_x,begin_y 子基垫左上方在父基垫中的相对位置 */ WINDOW* subpad(WINDOW* pad,int lines,int cols,int begin_x,int begin_y); /** @brief 刷新基垫指定区域 @param prow,pcol 描述了基垫中需要刷新到标准屏幕中的区域的左上角 @param sminrow,smincol,smaxrow,smaxcol 指示标准屏幕上显示基垫的矩形区域 @see pnoutrefresh() doupdate() */ int prefresh(WINDOW* pad,int prow,int pcol,int simnrow,int smincol,int smaxrow,int smaxcol);