NS_IMETHODIMP nsMathMLmrootFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { ///////////// // paint the content we are square-rooting nsresult rv = nsMathMLContainerFrame::BuildDisplayList(aBuilder, aDirtyRect, aLists); NS_ENSURE_SUCCESS(rv, rv); ///////////// // paint the sqrt symbol if (!NS_MATHML_HAS_ERROR(mPresentationData.flags)) { rv = mSqrChar.Display(aBuilder, this, aLists); NS_ENSURE_SUCCESS(rv, rv); rv = DisplayBar(aBuilder, this, mBarRect, aLists); NS_ENSURE_SUCCESS(rv, rv); #if defined(NS_DEBUG) && defined(SHOW_BOUNDING_BOX) // for visual debug nsRect rect; mSqrChar.GetRect(rect); nsBoundingMetrics bm; mSqrChar.GetBoundingMetrics(bm); rv = DisplayBoundingMetrics(aBuilder, this, rect.TopLeft(), bm, aLists); #endif } return rv; }
void nsMathMLmfracFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { ///////////// // paint the numerator and denominator nsMathMLContainerFrame::BuildDisplayList(aBuilder, aDirtyRect, aLists); ///////////// // paint the fraction line if (mIsBevelled) { DisplaySlash(aBuilder, this, mLineRect, mLineThickness, aLists); } else { DisplayBar(aBuilder, this, mLineRect, aLists); } }
NS_IMETHODIMP nsMathMLmfracFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { ///////////// // paint the numerator and denominator nsresult rv = nsMathMLContainerFrame::BuildDisplayList(aBuilder, aDirtyRect, aLists); NS_ENSURE_SUCCESS(rv, rv); ///////////// // paint the fraction line if (mIsBevelled) { rv = DisplaySlash(aBuilder, this, mLineRect, mLineThickness, aLists); } else { rv = DisplayBar(aBuilder, this, mLineRect, aLists); } return rv; }
NS_IMETHODIMP nsMathMLmencloseFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder, const nsRect& aDirtyRect, const nsDisplayListSet& aLists) { ///////////// // paint the menclosed content nsresult rv = nsMathMLContainerFrame::BuildDisplayList(aBuilder, aDirtyRect, aLists); NS_ENSURE_SUCCESS(rv, rv); if (NS_MATHML_HAS_ERROR(mPresentationData.flags)) return rv; nsRect mencloseRect = nsIFrame::GetRect(); mencloseRect.x = mencloseRect.y = 0; if (IsToDraw(NOTATION_RADICAL)) { rv = mMathMLChar[mRadicalCharIndex].Display(aBuilder, this, aLists); NS_ENSURE_SUCCESS(rv, rv); nsRect rect; mMathMLChar[mRadicalCharIndex].GetRect(rect); rect.MoveBy(NS_MATHML_IS_RTL(mPresentationData.flags) ? -mContentWidth : rect.width, 0); rect.SizeTo(mContentWidth, mRuleThickness); rv = DisplayBar(aBuilder, this, rect, aLists); NS_ENSURE_SUCCESS(rv, rv); } if (IsToDraw(NOTATION_LONGDIV)) { rv = mMathMLChar[mLongDivCharIndex].Display(aBuilder, this, aLists); NS_ENSURE_SUCCESS(rv, rv); nsRect rect; mMathMLChar[mLongDivCharIndex].GetRect(rect); rect.SizeTo(rect.width + mContentWidth, mRuleThickness); rv = DisplayBar(aBuilder, this, rect, aLists); NS_ENSURE_SUCCESS(rv, rv); } if (IsToDraw(NOTATION_TOP)) { nsRect rect(0, 0, mencloseRect.width, mRuleThickness); rv = DisplayBar(aBuilder, this, rect, aLists); NS_ENSURE_SUCCESS(rv, rv); } if (IsToDraw(NOTATION_BOTTOM)) { nsRect rect(0, mencloseRect.height - mRuleThickness, mencloseRect.width, mRuleThickness); rv = DisplayBar(aBuilder, this, rect, aLists); NS_ENSURE_SUCCESS(rv, rv); } if (IsToDraw(NOTATION_LEFT)) { nsRect rect(0, 0, mRuleThickness, mencloseRect.height); rv = DisplayBar(aBuilder, this, rect, aLists); NS_ENSURE_SUCCESS(rv, rv); } if (IsToDraw(NOTATION_RIGHT)) { nsRect rect(mencloseRect.width - mRuleThickness, 0, mRuleThickness, mencloseRect.height); rv = DisplayBar(aBuilder, this, rect, aLists); NS_ENSURE_SUCCESS(rv, rv); } if (IsToDraw(NOTATION_ROUNDEDBOX)) { rv = DisplayNotation(aBuilder, this, mencloseRect, aLists, mRuleThickness, NOTATION_ROUNDEDBOX); NS_ENSURE_SUCCESS(rv, rv); } if (IsToDraw(NOTATION_CIRCLE)) { rv = DisplayNotation(aBuilder, this, mencloseRect, aLists, mRuleThickness, NOTATION_CIRCLE); NS_ENSURE_SUCCESS(rv, rv); } if (IsToDraw(NOTATION_UPDIAGONALSTRIKE)) { rv = DisplayNotation(aBuilder, this, mencloseRect, aLists, mRuleThickness, NOTATION_UPDIAGONALSTRIKE); NS_ENSURE_SUCCESS(rv, rv); } if (IsToDraw(NOTATION_DOWNDIAGONALSTRIKE)) { rv = DisplayNotation(aBuilder, this, mencloseRect, aLists, mRuleThickness, NOTATION_DOWNDIAGONALSTRIKE); NS_ENSURE_SUCCESS(rv, rv); } if (IsToDraw(NOTATION_HORIZONTALSTRIKE)) { nsRect rect(0, mencloseRect.height / 2 - mRuleThickness / 2, mencloseRect.width, mRuleThickness); rv = DisplayBar(aBuilder, this, rect, aLists); NS_ENSURE_SUCCESS(rv, rv); } if (IsToDraw(NOTATION_VERTICALSTRIKE)) { nsRect rect(mencloseRect.width / 2 - mRuleThickness / 2, 0, mRuleThickness, mencloseRect.height); rv = DisplayBar(aBuilder, this, rect, aLists); NS_ENSURE_SUCCESS(rv, rv); } return rv; }