Qt World Summit: Register Today!

GrabFrameBuffer function on Solarix and Windows platform

  • I am working on a task, which is invert white text color to black text color. Currently what I am doing is I change text color before grabFrameBuffer. So whenever user want to invert text color from white to black, opengl will change text color to black, and then call grabFrameBuffer. After called grabFrameBuffer, the image with inverted text color suppose to print on print_preview dialog box. Everything is working fine on windows platform, but it works a bit weird on Solaris platform. Whenever the grabFrameBuffer called, it will grab print_preview dialog box as well on Solaris platform(invert color option is inside print_preview dialog box). Is there anyway to fix this issue? Or is there anyway can perform the same functions as described at above? Thank you. :)

  • You you might considder doing, is look into creating your own (proxy) paint engine that does this. I have seen examples in the past that seem to fit your use case.

  • Hi Andre, thank you for your suggestion. Paint engine is too much for my project. Is there any simple way to do it? What is in my mind now is hide or minimized the print_preview dialog box before grabFrameBuffer and then show or showNormal the dialog box back after grabFrameBuffer. The result that I got is hide() and show() will crash the application. Minimized and showNormal only works on Windows platform. Solaris cant minimized the print_preview dialog box. :(

Log in to reply