[cairo] Paint a image in Cairo surface X11
psychon at znc.in
Fri Feb 5 09:15:34 PST 2016
Am 05.02.2016 um 15:13 schrieb Alex Vazquez:
> I have a problem when I paint a image using Cairo and X11.
> The test is simple I try paint a image in a X11 Windows using Cairo.
> If the size of surface is less that size of image, X11 don't show the
> image but If the size of surface is bigger that the size of image X11
> show fine the image.
> Why is happen?
In X11, you have to handle redraws (Expose events).
For example, with your version, remove the code that handles a ButtonPress and
switch to another window, move it above of your window and then switch back to
your window. The content of the window will be lost.
> How can i fix this problem?
Redraw when the server tells you to.
> I add a test where you can test this problem.
Thanks, attached is a fixed version (well, I am lazy; an Expose event contains
information about which part of the window needs to be redrawn; the code just
P.S.: No idea why this has something to do with the size of the image for you.
If you want me to guess it is because with a larger it takes a tiny bit longer
to upload the image and thus the race against the window manager more often ends
with "paint only after the window is shown".
P.P.S.: The program still exits by segfaulting, just as your version...
- Captain, I think I should tell you I've never
actually landed a starship before.
- That's all right, Lieutenant, neither have I.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 2611 bytes
Desc: not available
More information about the cairo