mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-14 22:05:44 +00:00
Backed out changeset c8d0a8cf50a1 (bug 1044706) for Reftest Failures
This commit is contained in:
parent
317306ba9d
commit
e5d79023a1
@ -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> scaledFont;
|
||||
RefPtr<GlyphRenderingOptions> 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<gfxPattern> 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> path =
|
||||
mFontParams.scaledFont->GetPathForGlyphs(aBuf, mRunParams.dt);
|
||||
if (mFontParams.contextPaint) {
|
||||
if (mRunParams.contextPaint) {
|
||||
nsRefPtr<gfxPattern> 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<gfxTextContextPaint> 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();
|
||||
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user