Peter Amstutz wrote:


Basically, it seems like Invalidate() it isn't always being called when it should be. For some reason, the screen lags behind what should actually be displayed, or it is not repainted when something draws on top of something else. What's I'm specifically trying to figure out is XUL menus.

So I can click on the menubar and the menu drops down, drawn (more or
less) correctly.  The problem is, when the menu rolls back up, it leaves
behind a big grey box where the menu used to be -- whatever was behind the
menu is not repainted.

So here's my question: what's responsible for noticing that this area of
the screen has been damaged, and for repainting it? XUL is incredibly
hairy, and I've just recently realized that the XUL widgets themselves are
written mostly in javascript...


In the case that you describe, it's the OS that's supposed to generate an expose event which causes a repaint. It sounds like since you're writing your own gfx and widget layer that you will have to cause those areas to be repainted when the menu is destroyed. I'm assuming you don't have an OS layer that does that for you.

--Chris

--
------------
Christopher Blizzard
http://www.mozilla.org
------------

_______________________________________________
mozilla-layout mailing list
[EMAIL PROTECTED]
http://mail.mozilla.org/listinfo/mozilla-layout

Reply via email to