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

Reply via email to