Hi, I just checked in a major gui update, so all developers (also plugin developers) should read here about the changes, because the old code may not work anymore :-)
I start with the easy stuff: I created a new widget 'Window' which does the whole being a window thing. It respects the rectangle definitions from the skin (and not only one, all of them) and has one container inside for the gui stuff. All windows like PopupBox now inherit from this class, it is impossle to the border and foreground colors for windows anymore, but why should we, the skin says how it should look. For a more complex example, take the blurr2 skin. It now has a nice border with shadow around the box. The code only respects <rectangle> definitions, <image>s are ignored (it would look bad if the gui code scales them). It also has round buttons. One other major change is that I started to rename all left/top to x/y because all other parts of freevo also use x/y. This is not finished yet because I won't have any Freevo time until Monday or so and I wanted to check this in. I tried some widget inside Freevo and they worked, but maybe I missed something. Please report broken widgets. Another new small features is inside ConfirmationBox. Most of the time we ask 'do you want to do this', than delete the box and display a new one 'doing...'. Examples are moving and copying files. But also delete may take some time for dirs. The fileops plugin now adds a handler_message to the ConfirmationBox. On 'OK', the box will change it's text, start the handler and destroy itself afterwards. This avoid popup destroying and opening again. Now some internals: I found why the code is so slow. Each widget copies the parent surface, creates a new one and blits this new one to the parent. This was a nice idea if the ZIndexRenderer would work, but it doesn't. I removed the ZIndexRenderer, we now always redraw the whole box (we did before, but more complex). To speed up things, don't blit the surface, don't create one. There is now a helper function 'get_surface' that gets a subsurface of the parent. No blitting needed. I changed that for some widgets, but not for all. Known bugs: o the programm search looks funny because it uses buttons for the text. Buttons have now round borders in blurr2 which makes it looks so strange. Todo: o rename all left/top to x/y o remove more unneeded functions/classes/files/parameter o cleanup the transformation which part of the fxd file reflects what color/font, e.g. the Scrollbar uses the selection color. Why? o remove Surfaces and use parent subsurface Good night, Dischi -- And now for something completely different. ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Freevo-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-devel