DescriptionAdjust the CoreGraphics context for offscreen layers.
UI elements like buttons are drawn on Mac by pointing
the CoreGraphics context at the Skia bitmap associated
with the current device. If the elements are drawn
in a transparent context, Skia creates an offscreen
layer to capture the draw, then applies the transparency.
CoreGraphics does not know that it is drawing to an
offscreen, so the clip and matrix need to be adjusted
by the offscreen's origin, which is its position on
the device.
Also, use getTopDevice() instead of getDevice() to
obtain the bitmap. Normally, they will return the same
SkDevice (and in that case, getOrigin() will return
(0,0)) but if there's a layer present, getDevice()
will return the actual device instead of the tempoary
offscreen.
BUG:108767
TEST:http://jsfiddle.net/casaschi/JWkfA/
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=117217
Patch Set 1 #
Messages
Total messages: 7 (0 generated)
|