覆盖或覆盖子例程

用途

复制一个窗口上的另一个窗口。

Curses 库 (libcurses.a)

语法

WINDOW *dstwin);
int overwrite(const WINDOW *srcwin,
WINDOW *dstwin);

描述

overlayoverwrite 子例程将 srcwin 覆盖在 dstwin之上。 斯克温德斯特温 自变量不必是相同的大小; 仅复制两个窗口重叠的文本。

overwrite 子例程复制字符,就好像在清除了目标窗口的属性和后台属性的情况下执行了一系列 win_wchwadd_wch 子例程一样。

overlay 子例程执行相同的操作,只是每当要复制的字符是源窗口的背景字符时。 overlay 子例程不复制字符,而只是将目标光标移动到源背景字符的宽度。

如果覆盖窗口边框的任何部分不是多列字符的第一列,那么在完成覆盖之前,所有列位置都将替换为背景字符并进行呈现。 如果发生此情况时缺省背景字符是多列字符,那么这些子例程将失败。

参数

表 1. 参数
描述
斯尔克温  
德斯温  

返回值

在成功完成后。 这些子例程返回 "正常"。 否则,将返回 ERR。

示例

  1. 要在 other_window上复制 my_window (不包括空格) ,请使用:
    WINDOW *my_window, *other_window;
    overlay(my_window, other_window);
  2. 要在 other_window上复制 my_window (包括空格) ,请使用:
    WINDOW *my_window, *other_window;
    overwrite(my_window, other_window);