Ho Gustavo Sverzut Barbieri wrote: > I propose to integrate a WindowManager, as Krister said, with the new > Skin + GUI. > My WindowManager proposal is: > 1) Everything should be a GUI element. IE: The listing area in menu > should be GUI_ListingIcon, GUI_ListingText, for Icon and Text listing. > 2) Each Window MUST have it's own surface and it must have a property: > OPAQUE. If OPAQUE==FALSE, then the WM should redraw ALL the things that > are under that window and then redraw the whole window. If > OPAQUE==TRUE, the WM redraw only the parts of the other windows that > are not under the opaque window. With that we can avoid problems like > the transparency in X11 (like one with Konsole) > 3) Elements inside a window should receive a surface to draw or create > its own surface. > > With that, when we have an extended menu we create 3 windows: 1) View, > 2) Info, 3) Listing.
That's a nice idea, and I tried that. But there are some problems: if we draw overlapping transparent rectangles for blue_round1, we don't want the color to overlapp. But the most important problem: it's too slow. We would redraw most of the screen all the time (areas can overlap) and blitting something is slow, blitting an alpha surface into a surface is very slow. And one very important problem: the areas depend on each other, one has to be redrawn when another changes. What I have done (with Robs help): the skin is _no_ GUIObject. The skin is only a set of drawing functions. The menuwidget is a GUIObject which fills the hole screen. The menuwidget can be drawn, shown, hiden like all other GUIObjects. It uses the skin functions to draw itself. Since the menuwidget is one GUIObject, background, listing, view, info and title area aren't GUIObjects, they are only part of one GUIObject. With this design I can redraw the changed parts of the skin very fast, it would be much slower (you will notice that even on a fast computer) with separate GUIObjects for each area. Dischi -- C.O.B.O.L - Completely Obsolete Boring Old Language. ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Freevo-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-devel