diff options
Diffstat (limited to 'src/gpu/text/GrAtlasTextBlob.cpp')
-rw-r--r-- | src/gpu/text/GrAtlasTextBlob.cpp | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/src/gpu/text/GrAtlasTextBlob.cpp b/src/gpu/text/GrAtlasTextBlob.cpp index df848db6f7..8c3cefe33f 100644 --- a/src/gpu/text/GrAtlasTextBlob.cpp +++ b/src/gpu/text/GrAtlasTextBlob.cpp @@ -348,7 +348,7 @@ static void calculate_translation(bool applyVM, } } -void GrAtlasTextBlob::flushBigGlyphs(GrContext* context, GrTextUtils::Target* target, +void GrAtlasTextBlob::flushBigGlyphs(GrTextUtils::Target* target, const GrClip& clip, const SkPaint& paint, const SkMatrix& viewMatrix, SkScalar x, SkScalar y, const SkIRect& clipBounds) { @@ -367,11 +367,11 @@ void GrAtlasTextBlob::flushBigGlyphs(GrContext* context, GrTextUtils::Target* ta } } -void GrAtlasTextBlob::flushBigRun(GrContext* context, GrTextUtils::Target* target, - const SkSurfaceProps& props, const SkTextBlobRunIterator& it, - const GrClip& clip, const GrTextUtils::Paint& paint, - SkDrawFilter* drawFilter, const SkMatrix& viewMatrix, - const SkIRect& clipBounds, SkScalar x, SkScalar y) { +void GrAtlasTextBlob::flushBigRun(GrTextUtils::Target* target, + const SkSurfaceProps& props, const SkTextBlobRunIterator& it, + const GrClip& clip, const GrTextUtils::Paint& paint, + SkDrawFilter* drawFilter, const SkMatrix& viewMatrix, + const SkIRect& clipBounds, SkScalar x, SkScalar y) { size_t textLen = it.glyphCount() * sizeof(uint16_t); const SkPoint& offset = it.offset(); @@ -382,24 +382,24 @@ void GrAtlasTextBlob::flushBigRun(GrContext* context, GrTextUtils::Target* targe switch (it.positioning()) { case SkTextBlob::kDefault_Positioning: - GrTextUtils::DrawBigText(context, target, clip, runPaint, viewMatrix, + GrTextUtils::DrawBigText(target, clip, runPaint, viewMatrix, (const char*)it.glyphs(), textLen, x + offset.x(), y + offset.y(), clipBounds); break; case SkTextBlob::kHorizontal_Positioning: - GrTextUtils::DrawBigPosText(context, target, props, clip, runPaint, viewMatrix, + GrTextUtils::DrawBigPosText(target, props, clip, runPaint, viewMatrix, (const char*)it.glyphs(), textLen, it.pos(), 1, SkPoint::Make(x, y + offset.y()), clipBounds); break; case SkTextBlob::kFull_Positioning: - GrTextUtils::DrawBigPosText(context, target, props, clip, runPaint, viewMatrix, + GrTextUtils::DrawBigPosText(target, props, clip, runPaint, viewMatrix, (const char*)it.glyphs(), textLen, it.pos(), 2, SkPoint::Make(x, y), clipBounds); break; } } -void GrAtlasTextBlob::flushCached(GrContext* context, GrTextUtils::Target* target, +void GrAtlasTextBlob::flushCached(GrAtlasGlyphCache* atlasGlyphCache, GrTextUtils::Target* target, const SkTextBlob* blob, const SkSurfaceProps& props, const GrDistanceFieldAdjustTable* distanceAdjustTable, const GrTextUtils::Paint& paint, SkDrawFilter* drawFilter, @@ -410,19 +410,20 @@ void GrAtlasTextBlob::flushCached(GrContext* context, GrTextUtils::Target* targe SkTextBlobRunIterator it(blob); for (int run = 0; !it.done(); it.next(), run++) { if (fRuns[run].fTooBigForAtlas) { - this->flushBigRun(context, target, props, it, clip, paint, drawFilter, viewMatrix, + this->flushBigRun(target, props, it, clip, paint, drawFilter, viewMatrix, clipBounds, x, y); continue; } this->flushRun(target, clip, run, viewMatrix, x, y, paint, props, distanceAdjustTable, - context->getAtlasGlyphCache()); + atlasGlyphCache); } // Now flush big glyphs - this->flushBigGlyphs(context, target, clip, paint, viewMatrix, x, y, clipBounds); + this->flushBigGlyphs(target, clip, paint, viewMatrix, x, y, clipBounds); } -void GrAtlasTextBlob::flushThrowaway(GrContext* context, GrTextUtils::Target* target, +void GrAtlasTextBlob::flushThrowaway(GrAtlasGlyphCache* atlasGlyphCache, + GrTextUtils::Target* target, const SkSurfaceProps& props, const GrDistanceFieldAdjustTable* distanceAdjustTable, const GrTextUtils::Paint& paint, const GrClip& clip, @@ -430,11 +431,11 @@ void GrAtlasTextBlob::flushThrowaway(GrContext* context, GrTextUtils::Target* ta SkScalar x, SkScalar y) { for (int run = 0; run < fRunCount; run++) { this->flushRun(target, clip, run, viewMatrix, x, y, paint, props, distanceAdjustTable, - context->getAtlasGlyphCache()); + atlasGlyphCache); } // Now flush big glyphs - this->flushBigGlyphs(context, target, clip, paint, viewMatrix, x, y, clipBounds); + this->flushBigGlyphs(target, clip, paint, viewMatrix, x, y, clipBounds); } std::unique_ptr<GrDrawOp> GrAtlasTextBlob::test_makeOp( |