| Index: src/gpu/GrAtlasTextContext.cpp
|
| diff --git a/src/gpu/GrAtlasTextContext.cpp b/src/gpu/GrAtlasTextContext.cpp
|
| index 7252d76ca2acb65a1876a2a3ae8cbf8c2d34d108..ce22af51d75cda0f043c37f8c416b8938dcc742f 100644
|
| --- a/src/gpu/GrAtlasTextContext.cpp
|
| +++ b/src/gpu/GrAtlasTextContext.cpp
|
| @@ -97,8 +97,8 @@ static inline GrColor skcolor_to_grcolor_nopremultiply(SkColor c) {
|
|
|
| GrAtlasTextContext::GrAtlasTextContext(GrContext* context,
|
| GrDrawContext* drawContext,
|
| - const SkDeviceProperties& properties)
|
| - : INHERITED(context, drawContext, properties)
|
| + const SkSurfaceProps& surfaceProps)
|
| + : INHERITED(context, drawContext, surfaceProps)
|
| , fDistanceAdjustTable(SkNEW(DistanceAdjustTable)) {
|
| // We overallocate vertices in our textblobs based on the assumption that A8 has the greatest
|
| // vertexStride
|
| @@ -192,8 +192,8 @@ void GrAtlasTextContext::DistanceAdjustTable::buildDistanceAdjustTable() {
|
|
|
| GrAtlasTextContext* GrAtlasTextContext::Create(GrContext* context,
|
| GrDrawContext* drawContext,
|
| - const SkDeviceProperties& props) {
|
| - return SkNEW_ARGS(GrAtlasTextContext, (context, drawContext, props));
|
| + const SkSurfaceProps& surfaceProps) {
|
| + return SkNEW_ARGS(GrAtlasTextContext, (context, drawContext, surfaceProps));
|
| }
|
|
|
| bool GrAtlasTextContext::canDraw(const GrRenderTarget*,
|
| @@ -334,7 +334,7 @@ inline SkGlyphCache* GrAtlasTextContext::setupCache(BitmapTextBlob::Run* run,
|
| const SkPaint& skPaint,
|
| const SkMatrix* viewMatrix,
|
| bool noGamma) {
|
| - skPaint.getScalerContextDescriptor(&run->fDescriptor, &fDeviceProperties, viewMatrix, noGamma);
|
| + skPaint.getScalerContextDescriptor(&run->fDescriptor, fSurfaceProps, viewMatrix, noGamma);
|
| run->fTypeface.reset(SkSafeRef(skPaint.getTypeface()));
|
| return SkGlyphCache::DetachCache(run->fTypeface, run->fDescriptor.getDesc());
|
| }
|
| @@ -363,7 +363,7 @@ void GrAtlasTextContext::drawTextBlob(GrRenderTarget* rt,
|
| bool hasLCD = HasLCD(blob);
|
|
|
| // We canonicalize all non-lcd draws to use kUnknown_SkPixelGeometry
|
| - SkPixelGeometry pixelGeometry = hasLCD ? fDeviceProperties.pixelGeometry() :
|
| + SkPixelGeometry pixelGeometry = hasLCD ? fSurfaceProps.pixelGeometry() :
|
| kUnknown_SkPixelGeometry;
|
|
|
| // TODO we want to figure out a way to be able to use the canonical color on LCD text,
|
| @@ -442,7 +442,7 @@ inline bool GrAtlasTextContext::canDrawAsDistanceFields(const SkPaint& skPaint,
|
| return false;
|
| }
|
|
|
| - bool useDFT = fDeviceProperties.useDFT();
|
| + bool useDFT = fSurfaceProps.isUseDistanceFieldFonts();
|
| #if SK_FORCE_DISTANCE_FIELD_TEXT
|
| useDFT = true;
|
| #endif
|
| @@ -494,7 +494,7 @@ void GrAtlasTextContext::regenerateTextBlob(BitmapTextBlob* cacheBlob,
|
| continue;
|
| }
|
|
|
| - runPaint.setFlags(FilterTextFlags(fDeviceProperties, runPaint));
|
| + runPaint.setFlags(FilterTextFlags(fSurfaceProps, runPaint));
|
|
|
| // setup vertex / glyphIndex for the new run
|
| if (run > 0) {
|
| @@ -662,7 +662,7 @@ inline void GrAtlasTextContext::fallbackDrawPosText(BitmapTextBlob* blob,
|
| run.push_back();
|
| run.fOverrideDescriptor.reset(SkNEW(SkAutoDescriptor));
|
| skPaint.getScalerContextDescriptor(run.fOverrideDescriptor,
|
| - &fDeviceProperties, &viewMatrix, false);
|
| + fSurfaceProps, &viewMatrix, false);
|
| SkGlyphCache* cache = SkGlyphCache::DetachCache(run.fTypeface,
|
| run.fOverrideDescriptor->getDesc());
|
| this->internalDrawBMPPosText(blob, runIndex, cache, skPaint, paint.getColor(), viewMatrix,
|
| @@ -1073,7 +1073,7 @@ void GrAtlasTextContext::internalDrawDFText(BitmapTextBlob* blob, int runIndex,
|
|
|
| SkDrawCacheProc glyphCacheProc = origPaint.getDrawCacheProc();
|
| SkAutoDescriptor desc;
|
| - origPaint.getScalerContextDescriptor(&desc, &fDeviceProperties, NULL, true);
|
| + origPaint.getScalerContextDescriptor(&desc, fSurfaceProps, NULL, true);
|
| SkGlyphCache* origPaintCache = SkGlyphCache::DetachCache(origPaint.getTypeface(),
|
| desc.getDesc());
|
|
|
| @@ -2042,7 +2042,7 @@ void GrAtlasTextContext::flushRunAsPaths(GrRenderTarget* rt, const SkTextBlob::R
|
| return;
|
| }
|
|
|
| - runPaint.setFlags(FilterTextFlags(fDeviceProperties, runPaint));
|
| + runPaint.setFlags(FilterTextFlags(fSurfaceProps, runPaint));
|
|
|
| switch (it.positioning()) {
|
| case SkTextBlob::kDefault_Positioning:
|
| @@ -2088,7 +2088,7 @@ GrAtlasTextContext::createBatch(BitmapTextBlob* cacheBlob, const PerSubRunInfo&
|
| } else {
|
| filteredColor = skPaint.getColor();
|
| }
|
| - bool useBGR = SkPixelGeometryIsBGR(fDeviceProperties.pixelGeometry());
|
| + bool useBGR = SkPixelGeometryIsBGR(fSurfaceProps.pixelGeometry());
|
| batch = BitmapTextBatch::Create(format, glyphCount, fContext->getBatchFontCache(),
|
| fDistanceAdjustTable, filteredColor,
|
| info.fUseLCDText, useBGR);
|
| @@ -2210,7 +2210,7 @@ void GrAtlasTextContext::flush(BitmapTextBlob* cacheBlob,
|
| BATCH_TEST_DEFINE(TextBlobBatch) {
|
| static uint32_t gContextID = SK_InvalidGenID;
|
| static GrAtlasTextContext* gTextContext = NULL;
|
| - static SkDeviceProperties gDevProperties;
|
| + static SkSurfaceProps gSurfaceProps(SkSurfaceProps::kLegacyFontHost_InitType);
|
|
|
| if (context->uniqueID() != gContextID) {
|
| gContextID = context->uniqueID();
|
| @@ -2219,9 +2219,9 @@ BATCH_TEST_DEFINE(TextBlobBatch) {
|
| // We don't yet test the fall back to paths in the GrTextContext base class. This is mostly
|
| // because we don't really want to have a gpu device here.
|
| // We enable distance fields by twiddling a knob on the paint
|
| - GrDrawContext* drawContext = context->drawContext(&gDevProperties);
|
| + GrDrawContext* drawContext = context->drawContext(&gSurfaceProps);
|
|
|
| - gTextContext = GrAtlasTextContext::Create(context, drawContext, gDevProperties);
|
| + gTextContext = GrAtlasTextContext::Create(context, drawContext, gSurfaceProps);
|
| }
|
|
|
| // create dummy render target
|
|
|