From: Elias P. <eli...@gm...> - 2010-02-12 18:18:31
|
On Sat, 2010-01-23 at 23:22 +0100, Elias Pschernig wrote: > The attached patch adds a new display flag called > ALLEGRO_FULLSCREEN_WINDOW which makes al_create_display ignore the > passed width and height and instead creates a fullscreen window as big > as the desktop. It's ignored under Windows and OSX for now. > Ok, we discussed this a bit on allegro.cc in the meantime. The need for both "real fullscreen" and "fake fullscreen" got clear in the allegro.cc thread I think. According to X-G in Windows it's possible to have two fullscreen modes with the exact same resolution/refresh rate/pixel format - but one allows instant alt-tab and additional monitors keep working, e.g. when you want to have a video or website running in one. The other mode makes alt-tab take several seconds (even though the monitor resolution is not changed) and messes with additional monitors. However the "real fullscreen" may have better performance (most likely depends on the gfx card). It means Allegro won't be able to make the decision so we should support both. (In X11 the situation seems to be the same as Windows, once we support XRandR a "real fullscreen" and "fake fullscreen" will be quite different even if the monitor resolution isn't affected.) With my proposed flag, the user would have to explicitly set the ALLEGRO_FULLSCREEN_WINDOW to get a "fake fullscreen" mode. The width/height actually wouldn't be ignored as in my first version of the patch, but (at least in X11) be passed as window dimensions. When toggling the window out of fullscreen state it's the size it would get then. So I think we can't simply use 0/0 to replace the flag as was suggested. The attached patch mainly updates the documentation to reflect the meaning of the initial width/height and also explains the difference to ALLEGRO_FULLSCREEN in case the same pixel dimension would be passed with that flag. -- Elias Pschernig <eli...@gm...> |