зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1088071, part 1 - Wrap the callers of the final nsRenderingContext::DrawString method up in a new nsLayoutUtils::DrawUniDirString method. r=jfkthame
This commit is contained in:
Родитель
11ce2774d2
Коммит
0e920978be
|
@ -4649,10 +4649,19 @@ nsLayoutUtils::DrawString(const nsIFrame* aFrame,
|
|||
if (NS_FAILED(rv))
|
||||
{
|
||||
aContext->SetTextRunRTL(false);
|
||||
aContext->DrawString(aString, aLength, aPoint.x, aPoint.y);
|
||||
DrawUniDirString(aString, aLength, aPoint, *aContext);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
nsLayoutUtils::DrawUniDirString(const char16_t* aString,
|
||||
uint32_t aLength,
|
||||
nsPoint aPoint,
|
||||
nsRenderingContext& aContext)
|
||||
{
|
||||
aContext.DrawString(aString, aLength, aPoint.x, aPoint.y);
|
||||
}
|
||||
|
||||
nscoord
|
||||
nsLayoutUtils::GetStringWidth(const nsIFrame* aFrame,
|
||||
nsRenderingContext* aContext,
|
||||
|
|
|
@ -1324,6 +1324,11 @@ public:
|
|||
nsPoint aPoint,
|
||||
nsStyleContext* aStyleContext = nullptr);
|
||||
|
||||
static void DrawUniDirString(const char16_t* aString,
|
||||
uint32_t aLength,
|
||||
nsPoint aPoint,
|
||||
nsRenderingContext& aContext);
|
||||
|
||||
static nscoord GetStringWidth(const nsIFrame* aFrame,
|
||||
nsRenderingContext* aContext,
|
||||
const char16_t* aString,
|
||||
|
|
|
@ -1123,8 +1123,11 @@ nsImageFrame::DisplayAltText(nsPresContext* aPresContext,
|
|||
aRenderingContext,
|
||||
aRect.x, y + maxAscent);
|
||||
}
|
||||
if (NS_FAILED(rv))
|
||||
aRenderingContext.DrawString(str, maxFit, aRect.x, y + maxAscent);
|
||||
if (NS_FAILED(rv)) {
|
||||
nsLayoutUtils::DrawUniDirString(str, maxFit,
|
||||
nsPoint(aRect.x, y + maxAscent),
|
||||
aRenderingContext);
|
||||
}
|
||||
|
||||
// Move to the next line
|
||||
str += maxFit;
|
||||
|
|
|
@ -110,8 +110,10 @@ void nsDisplayMathMLError::Paint(nsDisplayListBuilder* aBuilder,
|
|||
aCtx->ThebesContext()->SetColor(NS_RGB(255,255,255));
|
||||
nscoord ascent = aCtx->FontMetrics()->MaxAscent();
|
||||
NS_NAMED_LITERAL_STRING(errorMsg, "invalid-markup");
|
||||
aCtx->DrawString(errorMsg.get(), uint32_t(errorMsg.Length()),
|
||||
pt.x, pt.y+ascent);
|
||||
nsLayoutUtils::DrawUniDirString(errorMsg.get(),
|
||||
uint32_t(errorMsg.Length()),
|
||||
nsPoint(pt.x, pt.y + ascent),
|
||||
*aCtx);
|
||||
}
|
||||
|
||||
/* /////////////
|
||||
|
|
Загрузка…
Ссылка в новой задаче