Bug 456152 - slight API cleanup for nsCSSRendering::PaintBackground; r+sr=roc

This commit is contained in:
Zack Weinberg
2008-09-24 06:07:22 +02:00
parent 141d743bcc
commit 6e07dbd270
10 changed files with 20 additions and 34 deletions

View File

@@ -1258,8 +1258,6 @@ nsCSSRendering::PaintBackground(nsPresContext* aPresContext,
nsIFrame* aForFrame,
const nsRect& aDirtyRect,
const nsRect& aBorderArea,
const nsStyleBorder& aBorder,
const nsStylePadding& aPadding,
PRBool aUsePrintSettings,
nsRect* aBGClipRect)
{
@@ -1268,6 +1266,8 @@ nsCSSRendering::PaintBackground(nsPresContext* aPresContext,
PRBool isCanvas;
const nsStyleBackground *color;
const nsStylePadding* padding = aForFrame->GetStylePadding();
const nsStyleBorder* border = aForFrame->GetStyleBorder();
if (!FindBackground(aPresContext, aForFrame, &color, &isCanvas)) {
// we don't want to bail out of moz-appearance is set on a root
@@ -1288,8 +1288,8 @@ nsCSSRendering::PaintBackground(nsPresContext* aPresContext,
}
if (!isCanvas) {
PaintBackgroundWithSC(aPresContext, aRenderingContext, aForFrame,
aDirtyRect, aBorderArea, *color, aBorder,
aPadding, aUsePrintSettings, aBGClipRect);
aDirtyRect, aBorderArea, *color, *border,
*padding, aUsePrintSettings, aBGClipRect);
return;
}
@@ -1319,7 +1319,7 @@ nsCSSRendering::PaintBackground(nsPresContext* aPresContext,
PaintBackgroundWithSC(aPresContext, aRenderingContext, aForFrame,
aDirtyRect, aBorderArea, canvasColor,
aBorder, aPadding, aUsePrintSettings, aBGClipRect);
*border, *padding, aUsePrintSettings, aBGClipRect);
}
inline nscoord IntDivFloor(nscoord aDividend, nscoord aDivisor)

View File

@@ -144,14 +144,12 @@ public:
nsIFrame* aForFrame,
const nsRect& aDirtyRect,
const nsRect& aBorderArea,
const nsStyleBorder& aBorder,
const nsStylePadding& aPadding,
PRBool aUsePrintSettings,
nsRect* aBGClipRect = nsnull);
/**
* Same as |PaintBackground|, except using the provided style context
* (which short-circuits the code that ensures that the root element's
* Same as |PaintBackground|, except using the provided style structs.
* This short-circuits the code that ensures that the root element's
* background is drawn on the canvas.
*/
static void PaintBackgroundWithSC(nsPresContext* aPresContext,

View File

@@ -555,8 +555,6 @@ nsDisplayBackground::Paint(nsDisplayListBuilder* aBuilder,
nsPoint offset = aBuilder->ToReferenceFrame(mFrame);
nsCSSRendering::PaintBackground(mFrame->PresContext(), *aCtx, mFrame,
aDirtyRect, nsRect(offset, mFrame->GetSize()),
*mFrame->GetStyleBorder(),
*mFrame->GetStylePadding(),
mFrame->HonorPrintBackgroundSettings());
}

View File

@@ -223,11 +223,9 @@ nsButtonFrameRenderer::PaintBorderAndBackground(nsPresContext* aPresContext,
nsStyleContext* context = mFrame->GetStyleContext();
const nsStyleBorder* border = context->GetStyleBorder();
const nsStylePadding* padding = context->GetStylePadding();
nsCSSRendering::PaintBackground(aPresContext, aRenderingContext, mFrame,
aDirtyRect, buttonRect, *border, *padding,
PR_FALSE);
aDirtyRect, buttonRect, PR_FALSE);
nsCSSRendering::PaintBorder(aPresContext, aRenderingContext, mFrame,
aDirtyRect, buttonRect, *border, context);
}

View File

@@ -260,7 +260,6 @@ nsFieldSetFrame::PaintBorderBackground(nsIRenderingContext& aRenderingContext,
{
PRIntn skipSides = GetSkipSides();
const nsStyleBorder* borderStyle = GetStyleBorder();
const nsStylePadding* paddingStyle = GetStylePadding();
nscoord topBorder = borderStyle->GetActualBorderWidth(NS_SIDE_TOP);
nscoord yoff = 0;
@@ -274,8 +273,7 @@ nsFieldSetFrame::PaintBorderBackground(nsIRenderingContext& aRenderingContext,
nsRect rect(aPt.x, aPt.y + yoff, mRect.width, mRect.height - yoff);
nsCSSRendering::PaintBackground(presContext, aRenderingContext, this,
aDirtyRect, rect, *borderStyle,
*paddingStyle, PR_TRUE);
aDirtyRect, rect, PR_TRUE);
if (mLegendFrame) {

View File

@@ -440,11 +440,11 @@ public:
CanvasFrame* frame = static_cast<CanvasFrame*>(mFrame);
nsPoint offset = aBuilder->ToReferenceFrame(mFrame);
nsRect bgClipRect = frame->CanvasArea() + offset;
// XXXzw This is the only use of the bgClipRect argument. Does this
// path need the propagation-of-root-background-to-viewport logic?
nsCSSRendering::PaintBackground(mFrame->PresContext(), *aCtx, mFrame,
aDirtyRect,
nsRect(offset, mFrame->GetSize()),
*mFrame->GetStyleBorder(),
*mFrame->GetStylePadding(),
mFrame->HonorPrintBackgroundSettings(),
&bgClipRect);
}

View File

@@ -571,12 +571,9 @@ nsPageFrame::PaintPageContent(nsIRenderingContext& aRenderingContext,
}
aRenderingContext.SetClipRect(clipRect, nsClipCombine_kIntersect);
const nsStyleBorder* border = GetStyleBorder();
const nsStylePadding* padding = GetStylePadding();
nsRect backgroundRect = nsRect(nsPoint(0, 0), pageContentFrame->GetSize());
nsCSSRendering::PaintBackground(PresContext(), aRenderingContext, this,
rect, backgroundRect, *border, *padding,
PR_TRUE);
rect, backgroundRect, PR_TRUE);
nsLayoutUtils::PaintFrame(&aRenderingContext, pageContentFrame,
nsRegion(rect), NS_RGBA(0,0,0,0));

View File

@@ -2052,11 +2052,8 @@ nsMathMLChar::Display(nsDisplayListBuilder* aBuilder,
nsDisplayMathMLCharBackground(aForFrame, mRect, styleContext));
NS_ENSURE_SUCCESS(rv, rv);
}
//else
// our container frame will take care of painting its background
// nsCSSRendering::PaintBackground(aPresContext, aRenderingContext, aForFrame,
// aDirtyRect, rect, *border, *padding, PR_TRUE);
#if defined(NS_DEBUG) && defined(SHOW_BOUNDING_BOX)
// for visual debug

View File

@@ -345,8 +345,7 @@ nsTableCellFrame::PaintBackground(nsIRenderingContext& aRenderingContext,
{
nsRect rect(aPt, GetSize());
nsCSSRendering::PaintBackground(PresContext(), aRenderingContext, this,
aDirtyRect, rect, *GetStyleBorder(),
*GetStylePadding(), PR_TRUE);
aDirtyRect, rect, PR_TRUE);
}
// Called by nsTablePainter
@@ -1202,7 +1201,10 @@ nsBCTableCellFrame::PaintBackground(nsIRenderingContext& aRenderingContext,
}
nsRect rect(aPt, GetSize());
nsCSSRendering::PaintBackground(PresContext(), aRenderingContext, this,
aDirtyRect, rect, myBorder, *GetStylePadding(),
PR_TRUE);
// bypassing nsCSSRendering::PaintBackground is safe because this kind
// of frame cannot be used for the root element
nsCSSRendering::PaintBackgroundWithSC(PresContext(), aRenderingContext, this,
aDirtyRect, rect,
*GetStyleBackground(), myBorder,
*GetStylePadding(), PR_TRUE, nsnull);
}

View File

@@ -150,7 +150,6 @@ nsGroupBoxFrame::PaintBorderBackground(nsIRenderingContext& aRenderingContext,
nsPoint aPt, const nsRect& aDirtyRect) {
PRIntn skipSides = 0;
const nsStyleBorder* borderStyleData = GetStyleBorder();
const nsStylePadding* paddingStyleData = GetStylePadding();
const nsMargin& border = borderStyleData->GetActualBorder();
nscoord yoff = 0;
nsPresContext* presContext = PresContext();
@@ -174,8 +173,7 @@ nsGroupBoxFrame::PaintBorderBackground(nsIRenderingContext& aRenderingContext,
groupRect += aPt;
nsCSSRendering::PaintBackground(presContext, aRenderingContext, this,
aDirtyRect, rect, *borderStyleData,
*paddingStyleData, PR_FALSE);
aDirtyRect, rect, PR_FALSE);
if (groupBox) {