Here you are.
I attach an svn diff, with the RawImage_FromDevice implemented for CD_X11. A few details.
1) The image format I was getting back didn't fit any of the precanned RawImage.Description which you may get with Description.Init_BPP32..., and therefore the colors were not too well preserved. Getting all the proper values from X requires some work, to figure out how X things match Lazarus things.
I took a shortcut, and added a DescriptionFix, which just puts in the right parameters for my screen (by looking to what GTK gets back with the same call). They may be not the most appropriate for yours.
2) I've fixed the bug which caused the new timer crash. It was due to some extra changes I had made to experiment with a Timer in a different thread.
3) You'll find my experiments too, but they're disabled, and won't affect you, unless you want to give a try.
4) You may find a screenshot of the screenshot ( =) ) taken by my test program at:
http://www.copeca.it/colla/magnifier.png
showing the terminal window whith the profiling of an Expose event. To be discussed elsewhere. I'm afraid that roughly 200 ms per frame isn't a very good speed.
Enjoy,
Giuliano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Vmg.diff
Type: text/x-patch
Size: 25898 bytes
Desc: not available
URL: <http://lists.lazarus.freepascal.org/pipermail/customdrawn/attachments/20120404/e82762d4/attachment-0001.bin>
