2.5 光标操作

=============


2.5.1 光标说明

---------------

   * curses库中光标分为物理光标和逻辑光标.物理光标只有一个,而逻辑光标属于curses窗口,每个窗口只有一个物理光标但却可能有多个逻辑光标

   * 物理光标位置会在处理输入函数之后发生改变,但可以通过WINDOW结构的_leave标志重新定位它

     * 如果设置了_leave标志,在输入结束后,逻辑光标将会移动到物理光标指向的窗口中最后写入的区域.

     * 如果没有设置_leave标志,在输入操作结束后,物理光标将返回到逻辑光标指向窗口的地一个字符移动位置

     * _leave标志由leaveok()函数控制的


2.5.2 光标移动函数

-------------------

/**
@brief 移动逻辑光标到指定的位置
@param x x坐标,表示移动后位置所在的行数
@param y y坐标,表示移动后位置所在的列数
 */
int move(int x,int y);
/**
@brief 移动物理光标到指定位置
@param last_x 移动前光标所处的行位置
@param last_y 移动前光标所处的列位置
@param new_x 移动后光标所处的行位置
@param new_y 移动后光标所处的列位置
@note mvcur()不用等待屏幕刷新就会立即生效
 */
void mvcur(int last_x,int last_y,int new_x,int new_y);
/**
@brief 设置物理光标的状态
@param visibility 物理光标的状态
       0  隐藏
       1  正常
       2  高亮显示
 */
int curs_set(int visiblility)