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

Reply via email to