mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 03:45:46 +00:00
Bug 784260; DrawTargetD2D should deal with Cairo surfaces in CreateBrush... . r=Bas
--HG-- extra : rebase_source : 6f6226c1b22b6e863499a40268cb44afab799381
This commit is contained in:
parent
23ba347f48
commit
d65d21e855
@ -151,6 +151,10 @@ GetCairoSurfaceForSourceSurface(SourceSurface *aSurface)
|
||||
}
|
||||
|
||||
RefPtr<DataSourceSurface> data = aSurface->GetDataSurface();
|
||||
if (!data) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
cairo_surface_t* surf =
|
||||
cairo_image_surface_create_for_data(data->GetData(),
|
||||
GfxFormatToCairoFormat(data->GetFormat()),
|
||||
|
@ -2090,19 +2090,20 @@ DrawTargetD2D::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
AddDependencyOnSource(surf);
|
||||
}
|
||||
break;
|
||||
case SURFACE_DATA:
|
||||
default:
|
||||
{
|
||||
DataSourceSurface *dataSurf =
|
||||
static_cast<DataSourceSurface*>(pat->mSurface.get());
|
||||
bitmap = CreatePartialBitmapForSurface(dataSurf, mat, pat->mExtendMode);
|
||||
|
||||
RefPtr<DataSourceSurface> dataSurf = pat->mSurface->GetDataSurface();
|
||||
if (!dataSurf) {
|
||||
gfxWarning() << "Invalid surface type.";
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bitmap = CreatePartialBitmapForSurface(dataSurf, mat, pat->mExtendMode);
|
||||
if (!bitmap) {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
mRT->CreateBitmapBrush(bitmap,
|
||||
|
Loading…
Reference in New Issue
Block a user