--- Dirk Meyer <[EMAIL PROTECTED]> escreveu: 
> Gustavo Sverzut Barbieri wrote:
> >  --- Dirk Meyer <[EMAIL PROTECTED]> escreveu: > Ho
> >> 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.
> >
> > I didn't understant that.
> 
> Look at blue1_round1 and go into the movie/mp3/image menu (the normal
> one). You see a transparent background for the listing and one for
> the
> view area. These backgrounds overlap (you can see that when you
> select
> an item without image. If you draw these background on different
> layers and blit them together, the second rectangle will darken
> everything which is below it. Below means the background _and_ the
> other rectangle and the space they share gets darken than the rest.
>

You can make this one work making the overlap area transparent on one
layer. Or in this case, have the view and listing to be the same
object.

 
> >> 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.
> >> 
> >
> > Why? I don't understand.
> > What I meant with OPAQUE maybe wasn't very clear. 
> 
> It was clear. I tried something similar to your proposal. It worked
> fine until I got to the view area.
> 
> > A Window could be opaque but have transparent areas. The OPAQUE
> > thing means we just don't care with things are under this window:
> we
> > don't redraw them.  
> 
> We can't do that, beacuse ...
> 
> > IE: the info area has rounded corners and transparent BG. 
> 
> ... the round corders are part of the background. The small space at
> the corners where the round is has to be the original background. And
> if the background below that transparent background changes, we have
> to redraw the transparent part, too.
> 

As I said, we can make OPAQUE=true and have some transparent parts in
the window IF we are sure that everything that's under our window will
not change (or will not affect our window)


> > However we know that the screen BG never change. So we can make
> > Info.OPAQUE=TRUE.  
> 
> Wrong. For Aubins new skin the background changes on the main menu
> for
> each item. The background can also change for different folders. 
> 

See my other email, "WindowManager", there I said that in that case we
can make the MainMenuListing a GUIObject and the MainMenuIcon another,
being MainMenuListing OPAQUE=false


> > The same with View and Listing. 
> 
> The same? View and Listing change, for the view area the background
> changes based on the size of the image.
>

Huh? Are you talking that it changes when I change from Images->Movies
or it changes from inside the movie, when you select another item?

 
> >  But the real slow part for us, Menus, will become really fast.
> 
> Have you tried my new skin? It's much faster than before. Because
> every area is aware of all the others I can redraw only the parts I
> want to change.
> 

No I haven't. I'm in my parents house and I have no Linux here :(
Friday I'm home, so I'll test. Also, are you and Rob writing about your
changes/innovations? As I'm out for few days I "lost sync" with your
things :)


> > About the OPAQUE, I think all the windows could be opaque for now.
> 
> That's too easy, it's not the case with the current skins.
>

Yes it is. We will only use OPAQUE=false when we have transparent
popups or something like that. Actually when we want to have a popup
shown AND the background changing. IMHO this will be used only with
Applets and if we want these applets over the menu or something.

 
> >
> >> 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.
> >> 
> >
> > As i said before, I see no reason for that. 
> 
> I hope you understand now. I tried, it didn't work out. But I don't
> see way we should have different GUIObjects for each area. The menu
> is
> one big GUIObject, it's fast and why should everything be an extra
> GUIObject? 
> 

I think having multiple windows with GUIObjects inside are easy. in my
mind it should work like Mandrake installation: it is a bunch of
windows placed right on the screen, the look is like a one window with
widgets placed, but it's easy to control (make appear/disappear) the
windows that appear/disappear widgets, and in our case (that we don't
have a full-featured GUIObjects toolkit, it's easiest). However, if you
want to make Listing+View+Info one window(I said window. Making them
all a monolitic GUIObject is ugly, maybe various GUIObjects put
together with a Container is the best solution) and draw things like
you do now, I see no problem too. But if we have the windows redrawing
optimized for the WM, I see why not use the WM instead of one for each
window.

The point is we need a WM to handle focus and windows redrawing.


Gustavo

_______________________________________________________________________
Busca Yahoo!
O serviço de busca mais completo da Internet. O que você pensar o Yahoo! encontra.
http://br.busca.yahoo.com/


-------------------------------------------------------
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

Reply via email to