OLE clipping

Mike Hearn m.hearn at signal.qinetiq.com
Mon May 12 11:04:32 CDT 2003


I've been staring at traces all day trying to figure this one out, and
haven't got very far, so I'm wondering if you guys have any advice. I
have an application which embeds an IE web browser control into a
window, and then proceeds to draw over it, which should be clipped. The
reason it draws over it, is because this is a Java Swing app and there
are wierd interactions between "lightweight" and "heavyweight"
components (whether they have Win32 windows or not).

In fact, I'm doubly confused, because during execution I can see calls
to PatBlt, BitBlt and StretchBlt, but if I disable that code by putting
a return true; at the top of X11DRV_InternalStretchBlt, which they all
call, nothing changes! The app looks exactly the same, minus the
WebBrowser control. So clearly Java does not use the *Blt family of
functions, but I can't see any other calls that leap out at me as to
what it might use.

So anyway, I've got a few questions:

1) What else could Java be using to draw, if not the blitter functions?
2) Is there some crucial part of GDI clipping that isn't implemented
which might be causing this problem?
3) Is it normal that the parent window of an ActiveX embedder can draw
over its children in this way? I'd have thought the GDI would have
clipped it.

I think I'm going to experiment with a standard Win32/Delphi app and
drawing over an ActiveX control, to see what happens.

thanks -mike

Mike Hearn <m.hearn at signal.qinetiq.com>
QinetiQ - Malvern Technology Center

More information about the wine-devel mailing list