зеркало из https://github.com/mozilla/gecko-dev.git
Bug 549056: We always do double pass drawing when we're not a Win32 surface. r=jmathies,jrmuizel
This commit is contained in:
Родитель
2c21dc5996
Коммит
3b2115fe46
|
@ -212,13 +212,14 @@ gfxWindowsNativeDrawing::BeginNativeDrawing()
|
||||||
PRBool
|
PRBool
|
||||||
gfxWindowsNativeDrawing::IsDoublePass()
|
gfxWindowsNativeDrawing::IsDoublePass()
|
||||||
{
|
{
|
||||||
// this is the same test we use in BeginNativeDrawing.
|
|
||||||
nsRefPtr<gfxASurface> surf = mContext->CurrentSurface(&mDeviceOffset.x, &mDeviceOffset.y);
|
nsRefPtr<gfxASurface> surf = mContext->CurrentSurface(&mDeviceOffset.x, &mDeviceOffset.y);
|
||||||
if (!surf || surf->CairoStatus())
|
if (!surf || surf->CairoStatus())
|
||||||
return false;
|
return false;
|
||||||
if ((surf->GetType() == gfxASurface::SurfaceTypeWin32 ||
|
if (surf->GetType() != gfxASurface::SurfaceTypeWin32 ||
|
||||||
surf->GetType() == gfxASurface::SurfaceTypeWin32Printing) &&
|
surf->GetType() != gfxASurface::SurfaceTypeWin32Printing) {
|
||||||
(surf->GetContentType() != gfxASurface::CONTENT_COLOR ||
|
return PR_TRUE;
|
||||||
|
}
|
||||||
|
if ((surf->GetContentType() != gfxASurface::CONTENT_COLOR ||
|
||||||
(surf->GetContentType() == gfxASurface::CONTENT_COLOR_ALPHA &&
|
(surf->GetContentType() == gfxASurface::CONTENT_COLOR_ALPHA &&
|
||||||
!(mNativeDrawFlags & CAN_DRAW_TO_COLOR_ALPHA))))
|
!(mNativeDrawFlags & CAN_DRAW_TO_COLOR_ALPHA))))
|
||||||
return PR_TRUE;
|
return PR_TRUE;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче