On Tue, Mar 30, 2010 at 3:54 PM, Milan Mimica
<milan.mimica@xxxxxxxxx> wrote:
Hello!
I've been trying to catch up the development in the past few weeks and I feel
I'm not too far behind, I just have some questions regarding fullscreen windowed
mode and windows rezising API in general.
ALLEGRO_FULLSCREEN_WINDOWED is a display flag which (along with ALLEGRO_NOFRAME)
can be toggled, unlike any other flag so far.
RESIZABLE and GENERATE_EXPOSE probably can be toggled as well.
What is our allegro window supposed to do if al_resize_display() is called on a
FULLSCREEN_WINDOWED display?
I'd say it should just validate and remember the new size and use that it if
ALLEGRO_FULLSCREEN_WINDOWED flag is ever toggled away. That way we guarantee
that no API changes togglable display flags.
Yes, makes most sense to me.
Should ALLEGRO_FULLSCREEN_WINDOWED affect ALLEGRO_NOFRAME state?
I'd say it doesn't matter - as user can assume it has no effect. Of course toggling away fullscreen-window while no-frame is still set will get you a no-frame window.
Can't the user emulate ALLEGRO_FULLSCREEN_WINDOWED himself with ALLEGRO_NOFRAME
and al_get_monitor_info thing? That would erase all the above questions. We can
have an example showing how to do it.
No. At least in X11 it's a separate X11 flag which has nothing to do with all the various (broken) video-mode-changing extensions. It would be an excellent test program though to try and emulate it with the other API - I bet it will show a lot of problems, like task-bars on windows or menu-bars on OSX (and probably both on X11) :P Which just confirms the answer of no.
What is al_acknowledge_resize() used for? Why and when does the user need to ack
it, can he just allow/disallow it? If the user doesn't ack it, the resize is not
supposed to happen, right?
I'd say the ack should not be required for resizes not initiated by the programmer - i.e. in response to al_resize_window. That may be unlike the current behavior in which case I think we need to change it. Resizes by the user (when resizing a resizable window) on the other hand need the flag since we cannot touch the back-buffer while another thread may still be drawing to it.
I'm sure some more questions will pop out of of those so I'll just stop here.
Great, only way to fix and improve things... I'm probably guilty as no other here of just forgetting about things I said I want to implement then never do :P