void ContentClientRemoteBuffer::CreateBuffer(ContentType aType, const nsIntRect& aRect, uint32_t aFlags, gfxASurface** aBlackSurface, gfxASurface** aWhiteSurface, RefPtr<gfx::DrawTarget>* aBlackDT, RefPtr<gfx::DrawTarget>* aWhiteDT) { BuildDeprecatedTextureClients(aType, aRect, aFlags); if (!mDeprecatedTextureClient) { return; } if (gfxPlatform::GetPlatform()->SupportsAzureContentForType( mDeprecatedTextureClient->BackendType())) { *aBlackDT = mDeprecatedTextureClient->LockDrawTarget(); if (aFlags & BUFFER_COMPONENT_ALPHA) { *aWhiteDT = mDeprecatedTextureClientOnWhite->LockDrawTarget(); } } else { nsRefPtr<gfxASurface> ret = mDeprecatedTextureClient->LockSurface(); *aBlackSurface = ret.forget().get(); if (aFlags & BUFFER_COMPONENT_ALPHA) { nsRefPtr<gfxASurface> retWhite = mDeprecatedTextureClientOnWhite->LockSurface(); *aWhiteSurface = retWhite.forget().get(); } } }
TemporaryRef<DrawTarget> ContentClientRemoteBuffer::CreateDTBuffer(ContentType aType, const nsIntRect& aRect, uint32_t aFlags, RefPtr<gfx::DrawTarget>* aWhiteDT) { BuildDeprecatedTextureClients(aType, aRect, aFlags); RefPtr<DrawTarget> ret = mDeprecatedTextureClient->LockDrawTarget(); if (aFlags & BUFFER_COMPONENT_ALPHA) { *aWhiteDT = mDeprecatedTextureClientOnWhite->LockDrawTarget(); } return ret.forget(); }
already_AddRefed<gfxASurface> ContentClientRemoteBuffer::CreateBuffer(ContentType aType, const nsIntRect& aRect, uint32_t aFlags, gfxASurface** aWhiteSurface) { BuildDeprecatedTextureClients(aType, aRect, aFlags); nsRefPtr<gfxASurface> ret = mDeprecatedTextureClient->LockSurface(); if (aFlags & BUFFER_COMPONENT_ALPHA) { nsRefPtr<gfxASurface> retWhite = mDeprecatedTextureClientOnWhite->LockSurface(); *aWhiteSurface = retWhite.forget().get(); } return ret.forget(); }