假设有一个 ncurses pad。
1.) 我可以创建 pad 的 subwin 吗?
理论上,subwin 将与 pad 共享内存。但是当我在这个子窗口上调用 wrefresh
时会发生什么?
2.) 我可以创建 pad 的 subpad 吗?如果是,在 subpad 上调用 wrefresh
或 prefresh
是否有意义?
我目前的理解是必须为 pad 创建一个 subpad。传递给 subpad
函数的坐标指定 w.r.t. 的位置。 ( parent )垫。返回的 subpad 在概念上是一个窗口(不能大于其父结构),尽管必须使用 prefresh
函数将其放到屏幕上。它与父垫共享内存。正确吗?
最佳答案
Pad 不是普通的窗口;你不能在 pad 里面做一个窗口。
ncurses 库进行这些与问题相关的检查:
- 在
subpad
,它检查以确保父级是一个pad,然后调用derwin
完成剩下的工作。如果父级不是 pad,subpad
返回错误。 subwin
使用derwin
,它确保如果父级是 pad,则结果是 pad。无论哪种方式,结果都是与父级相同的类型。
pad 并不完全与窗口“共享”内存;它只是一种将坐标转换为窗口的便捷方式。
关于c - ncurses: Subwin 或 pad 的 subpad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35336532/