OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "GrStencilAndCoverTextContext.h" | 8 #include "GrStencilAndCoverTextContext.h" |
9 #include "GrAtlasTextContext.h" | 9 #include "GrAtlasTextContext.h" |
10 #include "GrDrawContext.h" | 10 #include "GrDrawContext.h" |
(...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
532 } | 532 } |
533 | 533 |
534 fFallbackTextBlob.reset(fallback.buildIfNeeded(&fFallbackGlyphCount)); | 534 fFallbackTextBlob.reset(fallback.buildIfNeeded(&fFallbackGlyphCount)); |
535 } | 535 } |
536 | 536 |
537 GrPathRange* GrStencilAndCoverTextContext::TextRun::createGlyphs(GrContext* ctx)
const { | 537 GrPathRange* GrStencilAndCoverTextContext::TextRun::createGlyphs(GrContext* ctx)
const { |
538 GrPathRange* glyphs = static_cast<GrPathRange*>( | 538 GrPathRange* glyphs = static_cast<GrPathRange*>( |
539 ctx->resourceProvider()->findAndRefResourceByUniqueKey(fGlyphPathsKe
y)); | 539 ctx->resourceProvider()->findAndRefResourceByUniqueKey(fGlyphPathsKe
y)); |
540 if (nullptr == glyphs) { | 540 if (nullptr == glyphs) { |
541 if (fUsingRawGlyphPaths) { | 541 if (fUsingRawGlyphPaths) { |
542 SkScalerContextEffects noeffects; | 542 glyphs = ctx->resourceProvider()->createGlyphs(fFont.getTypeface(),
nullptr, fStroke); |
543 glyphs = ctx->resourceProvider()->createGlyphs(fFont.getTypeface(),
noeffects, | |
544 nullptr, fStroke); | |
545 } else { | 543 } else { |
546 SkGlyphCache* cache = this->getGlyphCache(); | 544 SkGlyphCache* cache = this->getGlyphCache(); |
547 glyphs = ctx->resourceProvider()->createGlyphs(cache->getScalerConte
xt()->getTypeface(), | 545 glyphs = ctx->resourceProvider()->createGlyphs(cache->getScalerConte
xt()->getTypeface(), |
548 cache->getScalerConte
xt()->getEffects(), | |
549 &cache->getDescriptor
(), | 546 &cache->getDescriptor
(), |
550 fStroke); | 547 fStroke); |
551 } | 548 } |
552 ctx->resourceProvider()->assignUniqueKeyToResource(fGlyphPathsKey, glyph
s); | 549 ctx->resourceProvider()->assignUniqueKeyToResource(fGlyphPathsKey, glyph
s); |
553 } | 550 } |
554 return glyphs; | 551 return glyphs; |
555 } | 552 } |
556 | 553 |
557 inline void GrStencilAndCoverTextContext::TextRun::appendGlyph(const SkGlyph& gl
yph, | 554 inline void GrStencilAndCoverTextContext::TextRun::appendGlyph(const SkGlyph& gl
yph, |
558 const SkPoint& po
s, | 555 const SkPoint& po
s, |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
703 } | 700 } |
704 | 701 |
705 const SkTextBlob* GrStencilAndCoverTextContext::FallbackBlobBuilder::buildIfNeed
ed(int *count) { | 702 const SkTextBlob* GrStencilAndCoverTextContext::FallbackBlobBuilder::buildIfNeed
ed(int *count) { |
706 *count = fCount; | 703 *count = fCount; |
707 if (fCount) { | 704 if (fCount) { |
708 this->flush(); | 705 this->flush(); |
709 return fBuilder->build(); | 706 return fBuilder->build(); |
710 } | 707 } |
711 return nullptr; | 708 return nullptr; |
712 } | 709 } |
OLD | NEW |