Hiyas,
I have done some more work on integrating the GUI objects into the new skin and as a result opened up an anoying bug in the GUI code having to do with the way I draw/blit/update the screen.
I am really tired right now but I hope I can communicate the problem before I go crash. :)
When show() is called on an object its bg_surface property gets set to a surface that is copied from the existing screen with the objects position and size. When that object gets hide() called on it (when it gets destroyed this happens) it takes its bg_surface and blits it back onto the screen. The work for this is in the ZIndexRenderer's update_hide and update_show functions.
I have only been doing this since the new skin code draws more efficiently and as a result you can detect some nastiness, particularly with alpha transparencies. It is like the bg_surface really doesn't replace its place on the screen, then the next object to get a bg_surface it will contain a surface of the last object. If the object has an alpha transparency you can see the background get darker and darker. The funny thing is that if you use my audioitem uitest and just keep hitting enter (not up/down to go through the audioitems) on the same item to make a popup come and go away, you don't see the problem until you scroll to a new item.
I am really tired and would appreciate it if you guys, particularly Dischi, Aubin, Krister, Gustavo, could take a look. I know the way I am drawing some things is completely braindamaged but would like to fix this bug before I optimize for instance the ListBox.
Thanks... need sleep. -Rob
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger for complex code. Debugging C/C++ programs can leave you feeling lost and disoriented. TotalView can help you find your way. Available on major UNIX and Linux platforms. Try it free. www.etnus.com
_______________________________________________
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel
