зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1248913 - Add a constructor argument to nsDisplayMixBlendMode that lets you specify the blend mode. r=mattwoodrow
MozReview-Commit-ID: 9MqjLKjRmeh --HG-- extra : rebase_source : 11ebc2d8fa1939ba079bdf09e916d3da1e68d6d7
This commit is contained in:
Родитель
cd7fa4800f
Коммит
14975d0ba1
|
@ -4319,8 +4319,10 @@ nsDisplayOpacity::WriteDebugInfo(std::stringstream& aStream)
|
|||
|
||||
nsDisplayMixBlendMode::nsDisplayMixBlendMode(nsDisplayListBuilder* aBuilder,
|
||||
nsIFrame* aFrame, nsDisplayList* aList,
|
||||
uint8_t aBlendMode,
|
||||
const DisplayItemScrollClip* aScrollClip)
|
||||
: nsDisplayWrapList(aBuilder, aFrame, aList, aScrollClip)
|
||||
, mBlendMode(aBlendMode)
|
||||
{
|
||||
MOZ_COUNT_CTOR(nsDisplayMixBlendMode);
|
||||
}
|
||||
|
@ -4361,7 +4363,7 @@ nsDisplayMixBlendMode::BuildLayer(nsDisplayListBuilder* aBuilder,
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
container->SetMixBlendMode(nsCSSRendering::GetGFXBlendMode(mFrame->StyleDisplay()->mMixBlendMode));
|
||||
container->SetMixBlendMode(nsCSSRendering::GetGFXBlendMode(mBlendMode));
|
||||
|
||||
return container.forget();
|
||||
}
|
||||
|
|
|
@ -3385,7 +3385,7 @@ private:
|
|||
class nsDisplayMixBlendMode : public nsDisplayWrapList {
|
||||
public:
|
||||
nsDisplayMixBlendMode(nsDisplayListBuilder* aBuilder, nsIFrame* aFrame,
|
||||
nsDisplayList* aList,
|
||||
nsDisplayList* aList, uint8_t aBlendMode,
|
||||
const DisplayItemScrollClip* aScrollClip);
|
||||
#ifdef NS_BUILD_REFCNT_LOGGING
|
||||
virtual ~nsDisplayMixBlendMode();
|
||||
|
@ -3413,6 +3413,9 @@ public:
|
|||
return false;
|
||||
}
|
||||
NS_DISPLAY_DECL_NAME("MixBlendMode", TYPE_MIX_BLEND_MODE)
|
||||
|
||||
private:
|
||||
uint8_t mBlendMode;
|
||||
};
|
||||
|
||||
class nsDisplayBlendContainer : public nsDisplayWrapList {
|
||||
|
|
|
@ -2314,6 +2314,7 @@ nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder* aBuilder,
|
|||
mixBlendClipState.Clear();
|
||||
resultList.AppendNewToTop(
|
||||
new (aBuilder) nsDisplayMixBlendMode(aBuilder, this, &resultList,
|
||||
disp->mMixBlendMode,
|
||||
containerItemScrollClip));
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче