c++linuxx11xorg

X11 - Change String contents after draw?


I just started creating a X11 application.

I am rendering text to the display using XDrawString(...).

Now, given I'd like to add something like a clock, some counter or something that changes constantly, how would I "override" the already rendered text?

The way it currently is that it just renders again and leaves the old contents behind.

From Java I know "BufferedImages", where I would render everything before transferring it to the actual screen. With this, the old contents on the display would be overwritten.

Is there a similar mechanism in X11 or do I have to paint the whole screen white and then render everything again on top of it?

I am using C++ along the X11 libs with the gcc compiler.

Thanks!


Solution

  • I think the only option is to use the X11-DoubleBuffer Library for C++. I now settled with SDL instead.