зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1384043 - Support solid color for layers free mode. r=mattwoodrow
MozReview-Commit-ID: H4YWgdl1yAV --HG-- extra : rebase_source : ea2920a5b25c2fde2950af189c7245c90d370934
This commit is contained in:
Родитель
680df47bd6
Коммит
805e149605
|
@ -2892,6 +2892,31 @@ nsDisplaySolidColor::WriteDebugInfo(std::stringstream& aStream)
|
|||
<< (int)NS_GET_A(mColor) << ")";
|
||||
}
|
||||
|
||||
bool
|
||||
nsDisplaySolidColor::CreateWebRenderCommands(mozilla::wr::DisplayListBuilder& aBuilder,
|
||||
const StackingContextHelper& aSc,
|
||||
nsTArray<WebRenderParentCommand>& aParentCommands,
|
||||
mozilla::layers::WebRenderLayerManager* aManager,
|
||||
nsDisplayListBuilder* aDisplayListBuilder)
|
||||
{
|
||||
if (aManager->IsLayersFreeTransaction()) {
|
||||
ContainerLayerParameters parameter;
|
||||
if (GetLayerState(aDisplayListBuilder, aManager, parameter) != LAYER_ACTIVE) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
LayoutDeviceRect bounds = LayoutDeviceRect::FromAppUnits(
|
||||
mVisibleRect, mFrame->PresContext()->AppUnitsPerDevPixel());
|
||||
wr::LayoutRect transformedRect = aSc.ToRelativeLayoutRect(bounds);
|
||||
|
||||
aBuilder.PushRect(transformedRect,
|
||||
transformedRect,
|
||||
wr::ToColorF(ToDeviceColor(mColor)));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
nsRect
|
||||
nsDisplaySolidColorRegion::GetBounds(nsDisplayListBuilder* aBuilder, bool* aSnap)
|
||||
{
|
||||
|
|
|
@ -3004,6 +3004,12 @@ public:
|
|||
|
||||
virtual void WriteDebugInfo(std::stringstream& aStream) override;
|
||||
|
||||
virtual bool CreateWebRenderCommands(mozilla::wr::DisplayListBuilder& aBuilder,
|
||||
const StackingContextHelper& aSc,
|
||||
nsTArray<WebRenderParentCommand>& aParentCommands,
|
||||
mozilla::layers::WebRenderLayerManager* aManager,
|
||||
nsDisplayListBuilder* aDisplayListBuilder) override;
|
||||
|
||||
NS_DISPLAY_DECL_NAME("SolidColor", TYPE_SOLID_COLOR)
|
||||
|
||||
private:
|
||||
|
|
Загрузка…
Ссылка в новой задаче