nscoord nsFontMetrics::GetWidth(const PRUnichar* aString, PRUint32 aLength, nsRenderingContext *aContext) { if (aLength == 0) return 0; if (aLength == 1 && aString[0] == ' ') return SpaceWidth(); StubPropertyProvider provider; AutoTextRun textRun(this, aContext, aString, aLength); return NSToCoordRound(textRun->GetAdvanceWidth(0, aLength, &provider)); }
nscoord nsFontMetrics::GetWidth(const char16_t* aString, uint32_t aLength, DrawTarget* aDrawTarget) { if (aLength == 0) return 0; if (aLength == 1 && aString[0] == ' ') return SpaceWidth(); StubPropertyProvider provider; AutoTextRun textRun(this, aDrawTarget, aString, aLength); if (textRun.get()) { return NSToCoordRound( textRun->GetAdvanceWidth(Range(0, aLength), &provider)); } return 0; }