Closed Bug 591392 Opened 15 years ago Closed 15 years ago

Persona theme cover caption buttons during taskbar preview

Categories

(Core :: Widget: Win32, defect)

x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: Felipe, Unassigned)

References

Details

On bug 574833 we fixed this for the regular window rendering by adding a clipping region around the caption buttons. However, taskbar preview does not go through the regular OnPaint path: the window content is rendered as a bitmap and given back to the OS.
When we hand the bitmap off to the DWM, we can give it the coordinates for the bitmap. They have always been (0,0) so I think that means they've got the client-area origin. I have not followed the changes in 574833 so I can't be of much help beyond this.
Are the bitmaps are RGBA32? (or any other type that contains an alpha channel?) If so, this will be easy. On TaskbarPreview we can just paint the region of the caption buttons with a totally transparent brush and this will make them visible.
(if there's such thing as a transparent brush)
They are drawn to an RGBA32 bitmap. My understanding is that this should just work already - those areas are already transparent, right?
Not when there's a personas applied. We draw the entire background-image on the bitmap, and it falls over the buttons.
I suppose since we control the initial canvas context, that area could be clipped out before the context is handed off to the controller. That requires us to assume that the controller is going to draw the window though - with extensions this may not be true (ex: perhaps the tab candy view would be drawn). I'm not sure what the impact on drawWindow that would have w.r.t native theming; I know it's been sensitive to the clip before. If there's a way to get the clip region from JS, that might be better. I'm not sure if I like this solution any better though...
Fixed by bug 601603
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.