ncurses:如何刷新单个面板
ncurses: how to refresh a single panel
在没有面板的情况下使用 ncurses 时,可以使用 wrefresh
和 wnoutrefresh
刷新单个 window;但是带有面板的是另一个函数 update_panels
,它似乎与 wnoutrefresh
做同样的事情,但对于所有面板,并考虑堆栈顺序;
它的 man 页面说:
Use this function and not wrefresh or wnoutrefresh.
我的问题是:是否可以在不调用 update_panels
的情况下刷新单个面板,如单个 window?我在一个面板上同时尝试了 wrefresh
和 wnoutrefresh
,但是这两个函数的结果看起来很奇怪;
仅供参考:我想刷新单个面板而不是所有面板,因为我认为这可能会产生更少的开销,但我不确定这是真的还是重要的;如果性能不是问题,我想我可以使用 update_panels
;
刷新所有面板
不,你不能那样做(ncurses 只会重新绘制已更改的内容,与面向 window 的调用不同,update_panels 会考虑重叠面板)
在没有面板的情况下使用 ncurses 时,可以使用 wrefresh
和 wnoutrefresh
刷新单个 window;但是带有面板的是另一个函数 update_panels
,它似乎与 wnoutrefresh
做同样的事情,但对于所有面板,并考虑堆栈顺序;
它的 man 页面说:
Use this function and not wrefresh or wnoutrefresh.
我的问题是:是否可以在不调用 update_panels
的情况下刷新单个面板,如单个 window?我在一个面板上同时尝试了 wrefresh
和 wnoutrefresh
,但是这两个函数的结果看起来很奇怪;
仅供参考:我想刷新单个面板而不是所有面板,因为我认为这可能会产生更少的开销,但我不确定这是真的还是重要的;如果性能不是问题,我想我可以使用 update_panels
;
不,你不能那样做(ncurses 只会重新绘制已更改的内容,与面向 window 的调用不同,update_panels 会考虑重叠面板)