ncurses blit / buffer

问题描述 投票:0回答:1

我正在寻找一种创建“缓冲区”的方法,该缓冲区可以使用ncurses直接复制或blit到WINDOW*上。我知道有子窗口,但是由于移动/调整其大小的唯一方法是创建一个新的子窗口,因此它们并不是一个很好的选择。我正在寻找类似于Microsoft的WriteConsoleOutput

如果我还可以以反向替换的方式复制区域(获取stdscr的矩形并将副本存储在缓冲区中,那将是很好的]

c ncurses blit
1个回答
0
投票

事实上,可以在不重新创建窗口的情况下移动或调整窗口的大小:

mvwin

调用mvwin会移动窗口,以使左上角位于位置(x,y)。如果此举会导致窗口关闭,允许,但应避免。

wresize

这是curses库的扩展。它为ncurses窗口将其尺寸调整为指定值。如果任何一个尺寸都大于当前值,即窗口的数据填充有具有当前背景演绎的空白(如由wbkgdset设置)合并到其中。

ncurses的这种扩展是在1995年中期引入的。通过了在NetBSD curses(2001)和PDCurses(2003)中。]

关于问题

,对窗口的更新基于行(例如,请参见waddchnstr
© www.soinside.com 2019 - 2024. All rights reserved.