-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I'm working on implementing new gfx and widget modules for Mozilla, which render to an off-screen canvas. I'm using this to render mozilla into a texture and put it onto a polygon in a 3D environment:
http://interreality.org/software/crystalzilla When those screenshots were made, the page was noninteractive. Now I'm working on having a *fully functional* web browser, by loading chrome://navigator/content/navigator.xul into my embedded frame. The big challenge right now is handling screen updates, which leads me to my problem... 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... Is it the case that the menu is a subwindow which is drawn on top of other subwindows, and is simply hidden to make it go away? If that's true, how do I detect that, so I can do a repaint of the overlapped subwindows? My "widget" module isn't based on a "real" widget set (it is just a bare memory buffer, with subbuffers for subwindows), so there may be assumptions that are being made that my code doesn't follow. So can someone help me out and explain how XUL uses the widget module, and what it really expects from it? Thanks! [ Peter Amstutz ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED] ] [Lead Programmer][Interreality Project][Virtual Reality for the Internet] [ VOS: Next Generation Internet Communication][ http://interreality.org ] [ http://interreality.org/~tetron ][ pgpkey: pgpkeys.mit.edu 18C21DF7 ] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/zxepaeHUyhjCHfcRAg41AJ0a7aG3MmiwXzR2ZlbIrzgE3PE59QCgsg5H 94YOL+gXujxT5xOO+q4F+Ws= =UQAM -----END PGP SIGNATURE----- _______________________________________________ mozilla-layout mailing list [EMAIL PROTECTED] http://mail.mozilla.org/listinfo/mozilla-layout
