|
From: Pat T. <pa...@zs...> - 2004-10-08 14:27:03
|
Joe English <jen...@fl...> writes: > >Then if someone can figure out exactly how DrawThemeParentBackground() >is supposed to work in XP, maybe we can get notebooks to look >right too... I looked into this a bit. DrawThemeParentBackground is handling matters at a window level. The prototype is DrawThemeParentBackground(HWND hwnd, HDC hdc, RECT *prc); The idea is that if the theme element has any transparent bits, you ask the parent window to redraw itself before drawing the themed element. With HWNDs this is fine as HWND GetParent(HWND hwnd); returns the parent window. We don't have anything available at the point where we are drawing elements to request a redraw of the parent element. Even with this, we would have to construct a clipping region - we only want the parent to redraw the are covered by _this_ element after all. Tile currently always draws elements into a pixmap, so clipping isn't a problem perhaps - we won't erase siblings. The parent would need to be able to be offset though. And we need to be able to identify all ancenstor elements that may be covered by transparent regions in the current element. -- Pat Thoyts PGP Fingerprint: 2C 6E 98 07 2C 59 C8 97 10 CE 11 E6 04 E0 B9 DD |