Re: [AD] window resizing

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


Just to provide on update on this( assuming someone cares )..
When _xwin_private_process_event receives a ConfigureNotify event it calls a global function, resize_screen. resize_screen is also available for the user to call. resize_screen calls (*gfx_driver->resize_window_handler)() which points to _xwin_resize_window. _xwin_resize_window calls _xwin_private_resize_window and recreates the internal screen object somehow. Right now Im calling _xwin_private_destroy_screen followed by _xwin_private_create_screen_bitmap but that crashes.

That is that.. ill hack on it more this weekend till it works.

Jon Rafkind wrote:

I have hacked on xwin.c to enable window resizing in X11 which works fine but I have not found a clean way yet to update the graphics driver and the current screen bitmap. Im not familiar enough with the Allegro internals to know of a good way to do this. Would a callback work? The way I imagine it is when the ConfigureNotify event is received in the X event handler, it calls a function pointer much like what _xwin_mouse_interrupt is, to reconfigure the gfx driver and update the screen bitmap. It would also call a user supplied call back( if one is set ) to let the user update their own stuff.

The xwin code doesnt seem to "know" about the current graphics driver, though, except for the times that it is passed into a function such as _xwin_create_screen. Is there some way to get the current gfx driver?


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/






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