Bug 781731 - Fix passing of text bounds to AdjustedTarget in order to limit the size of the temporary target. r=Bas

This commit is contained in:
Anthony Jones 2012-09-02 19:07:05 -04:00
parent 5a0d03626e
commit 2a776a69a2

View File

@ -3102,8 +3102,9 @@ struct NS_STACK_CLASS nsCanvasBidiProcessorAzure : public nsBidiPresUtils::BidiP
buffer.mGlyphs = &glyphBuf.front();
buffer.mNumGlyphs = glyphBuf.size();
Rect bounds(mBoundingBox.x, mBoundingBox.y, mBoundingBox.width, mBoundingBox.height);
if (mOp == nsCanvasRenderingContext2DAzure::TEXT_DRAW_OPERATION_FILL) {
AdjustedTarget(mCtx)->
AdjustedTarget(mCtx, &bounds)->
FillGlyphs(scaledFont, buffer,
CanvasGeneralPattern().
ForStyle(mCtx, nsCanvasRenderingContext2DAzure::STYLE_FILL, mCtx->mTarget),
@ -3112,7 +3113,7 @@ struct NS_STACK_CLASS nsCanvasBidiProcessorAzure : public nsBidiPresUtils::BidiP
RefPtr<Path> path = scaledFont->GetPathForGlyphs(buffer, mCtx->mTarget);
const ContextState& state = *mState;
AdjustedTarget(mCtx)->
AdjustedTarget(mCtx, &bounds)->
Stroke(path, CanvasGeneralPattern().
ForStyle(mCtx, nsCanvasRenderingContext2DAzure::STYLE_STROKE, mCtx->mTarget),
StrokeOptions(state.lineWidth, state.lineJoin,