使用Xlib库删除或删除一行

时间:2014-02-14 04:21:14

标签: c linux xlib

假设我们使用XDrawLine API在Xlib中绘制一条线,删除或删除该线的最佳方法是什么?是否有任何专用API或我们是​​否必须使用相同XDrawLine API的特殊实现?

提前感谢您的回复。

2 个答案:

答案 0 :(得分:1)

最好的方法是在绘制线之前绘制到屏幕外像素图并记住状态(或像素图副本)。删除行==将离线像素图绘制到该状态(或者只是将保存的像素图复制回屏幕)

答案 1 :(得分:0)

您可以在另一条线的顶部绘制一条线条背景颜色(例如白色)以“擦除”它,但是在您绘制第一条线之前无法恢复原始图形 - Xlib没有历史。

一般情况下,您的应用程序应该能够在任何时候对窗口进行完全“重新绘制”(例如,如果窗口调整大小或最小化,或者是否被另一个窗口覆盖“损坏”) )。你问的问题听起来好像你的应用程序现在可能无法做到这一点,这会阻止它在某些情况下正常工作。