[AD] Expose events in OS X

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


I don't know whether anyone else has looked into this or plans to do it in the future, or even if the following bit of information was already discussed, but I looked (briefly) into making it work today and found the following:

when a window is exposed, the delegate gets a windowDidExpose message, except if the window content is retained (or buffered), in which case the message is never generated. Allegro's windows are buffered. About non-retained windows, Apple's documentation says the following:

"The window draws directly to the screen without using any buffer.

You should not use this mode. It exists primarily for use in the original Classic Blue Box. It does not support Quartz drawing, alpha blending, or opacity. Moreover, it does not support hardware acceleration, and interferes with system-wide display acceleration. If you use this mode, your application must manage visibility region clipping itself, and manage repainting on visibility changes."

I don't think we ever want any of these side effects. That means we can never get expose messages on OS X and applications requesting expose messages cannot expect them to be actually generated. This probably needs to be made clear in the documentation, or al_create_display() should fail if expose events are required.

Thoughts?

Evert




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/