diff --git a/gfx/thebes/gfxFont.cpp b/gfx/thebes/gfxFont.cpp index e5c3949069b1..7cb3fe48194b 100644 --- a/gfx/thebes/gfxFont.cpp +++ b/gfx/thebes/gfxFont.cpp @@ -3066,7 +3066,7 @@ struct TextRunDrawParams { gfxContext *context; gfxFont::Spacing *spacing; gfxTextRunDrawCallbacks *callbacks; - gfxTextContextPaint *runContextPaint; + gfxTextContextPaint *contextPaint; gfxFloat direction; double devPerApp; DrawMode drawMode; @@ -3077,7 +3077,6 @@ struct TextRunDrawParams { struct FontDrawParams { RefPtr scaledFont; RefPtr renderingOptions; - gfxTextContextPaint *contextPaint; Matrix *passedInvMatrix; Matrix matInv; double synBoldOnePixelOffset; @@ -3151,12 +3150,12 @@ private: FlushStroke(buf, state); } if (int(mRunParams.drawMode) & int(DrawMode::GLYPH_FILL)) { - if (state.pattern || mFontParams.contextPaint) { + if (state.pattern || mRunParams.contextPaint) { Pattern *pat; nsRefPtr fillPattern; - if (!mFontParams.contextPaint || - !(fillPattern = mFontParams.contextPaint->GetFillPattern( + if (!mRunParams.contextPaint || + !(fillPattern = mRunParams.contextPaint->GetFillPattern( mRunParams.context->CurrentMatrix()))) { if (state.pattern) { pat = state.pattern->GetPattern(mRunParams.dt, @@ -3236,9 +3235,9 @@ private: { RefPtr path = mFontParams.scaledFont->GetPathForGlyphs(aBuf, mRunParams.dt); - if (mFontParams.contextPaint) { + if (mRunParams.contextPaint) { nsRefPtr strokePattern = - mFontParams.contextPaint->GetStrokePattern( + mRunParams.contextPaint->GetStrokePattern( mRunParams.context->CurrentMatrix()); if (strokePattern) { mRunParams.dt->Stroke(path, @@ -3316,7 +3315,7 @@ gfxFont::DrawOneGlyph(uint32_t aGlyphID, double aAdvance, gfxPoint *aPt, } DrawMode mode = ForcePaintingDrawMode(runParams.drawMode); if (RenderSVGGlyph(runParams.context, devPt, mode, - aGlyphID, runParams.runContextPaint, + aGlyphID, runParams.contextPaint, runParams.callbacks, *aEmittedGlyphs)) { return; } @@ -3420,7 +3419,7 @@ gfxFont::DrawGlyphs(gfxShapedText *aShapedText, void gfxFont::Draw(gfxTextRun *aTextRun, uint32_t aStart, uint32_t aEnd, - gfxPoint *aPt, const TextRunDrawParams& aRunParams) + gfxPoint *aPt, TextRunDrawParams& aRunParams) { NS_ASSERTION(aRunParams.drawMode == DrawMode::GLYPH_PATH || !(int(aRunParams.drawMode) & int(DrawMode::GLYPH_PATH)), @@ -3439,10 +3438,9 @@ gfxFont::Draw(gfxTextRun *aTextRun, uint32_t aStart, uint32_t aEnd, fontParams.haveSVGGlyphs = GetFontEntry()->TryGetSVGData(this); fontParams.haveColorGlyphs = GetFontEntry()->TryGetColorGlyphs(); - fontParams.contextPaint = aRunParams.runContextPaint; nsAutoPtr contextPaint; - if (fontParams.haveSVGGlyphs && !fontParams.contextPaint) { + if (fontParams.haveSVGGlyphs && !aRunParams.contextPaint) { // If no pattern is specified for fill, use the current pattern NS_ASSERTION((int(aRunParams.drawMode) & int(DrawMode::GLYPH_STROKE)) == 0, "no pattern supplied for stroking text"); @@ -3450,7 +3448,7 @@ gfxFont::Draw(gfxTextRun *aTextRun, uint32_t aStart, uint32_t aEnd, contextPaint = new SimpleTextContextPaint(fillPattern, nullptr, aRunParams.context->CurrentMatrix()); - fontParams.contextPaint = contextPaint; + aRunParams.contextPaint = contextPaint; } // Synthetic-bold strikes are each offset one device pixel in run direction. @@ -7106,7 +7104,7 @@ gfxTextRun::Draw(gfxContext *aContext, gfxPoint aPt, DrawMode aDrawMode, params.direction = direction; params.drawMode = aDrawMode; params.callbacks = aCallbacks; - params.runContextPaint = aContextPaint; + params.contextPaint = aContextPaint; params.paintSVGGlyphs = !aCallbacks || aCallbacks->mShouldPaintSVGGlyphs; params.dt = aContext->GetDrawTarget(); diff --git a/gfx/thebes/gfxFont.h b/gfx/thebes/gfxFont.h index c57a0c694e76..ba26ee639a23 100644 --- a/gfx/thebes/gfxFont.h +++ b/gfx/thebes/gfxFont.h @@ -1772,7 +1772,7 @@ public: * for LTR textruns, the right end for RTL textruns. * On return, this will be updated to the other end of the baseline. * In application units, really! - * @param aRunParams record with drawing parameters, see TextRunDrawParams. + * @param aParams record with drawing parameters, see TextRunDrawParams. * Particular fields of interest include * .spacing spacing to insert before and after characters (for RTL * glyphs, before-spacing is inserted to the right of characters). There @@ -1791,7 +1791,7 @@ public: * -- all glyphs use this font */ void Draw(gfxTextRun *aTextRun, uint32_t aStart, uint32_t aEnd, - gfxPoint *aPt, const TextRunDrawParams& aRunParams); + gfxPoint *aPt, TextRunDrawParams& aParams); /** * Measure a run of characters. See gfxTextRun::Metrics.