Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Side by Side Diff: src/gpu/GrAtlasTextContext.cpp

Issue 1192413005: Remove distance field flag from SkPaint (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/core/SkTextBlob.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 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 #include "GrAtlasTextContext.h" 7 #include "GrAtlasTextContext.h"
8 8
9 #include "GrBatch.h" 9 #include "GrBatch.h"
10 #include "GrBatchFontCache.h" 10 #include "GrBatchFontCache.h"
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 // Scaling up beyond 2x yields undesireable artifacts 440 // Scaling up beyond 2x yields undesireable artifacts
441 if (scaledTextSize < kMinDFFontSize || scaledTextSize > kLargeDFFontLimit) { 441 if (scaledTextSize < kMinDFFontSize || scaledTextSize > kLargeDFFontLimit) {
442 return false; 442 return false;
443 } 443 }
444 444
445 bool useDFT = fDeviceProperties.useDFT(); 445 bool useDFT = fDeviceProperties.useDFT();
446 #if SK_FORCE_DISTANCE_FIELD_TEXT 446 #if SK_FORCE_DISTANCE_FIELD_TEXT
447 useDFT = true; 447 useDFT = true;
448 #endif 448 #endif
449 449
450 if (!useDFT && !skPaint.isDistanceFieldTextTEMP() && scaledTextSize < kLarge DFFontSize) { 450 if (!useDFT && scaledTextSize < kLargeDFFontSize) {
451 return false; 451 return false;
452 } 452 }
453 453
454 // rasterizers and mask filters modify alpha, which doesn't 454 // rasterizers and mask filters modify alpha, which doesn't
455 // translate well to distance 455 // translate well to distance
456 if (skPaint.getRasterizer() || skPaint.getMaskFilter() || 456 if (skPaint.getRasterizer() || skPaint.getMaskFilter() ||
457 !fContext->caps()->shaderCaps()->shaderDerivativeSupport()) { 457 !fContext->caps()->shaderCaps()->shaderDerivativeSupport()) {
458 return false; 458 return false;
459 } 459 }
460 460
(...skipping 1780 matching lines...) Expand 10 before | Expand all | Expand 10 after
2241 desc.fSampleCnt = 0; 2241 desc.fSampleCnt = 0;
2242 SkAutoTUnref<GrTexture> texture(context->textureProvider()->createTexture(de sc, true, NULL, 0)); 2242 SkAutoTUnref<GrTexture> texture(context->textureProvider()->createTexture(de sc, true, NULL, 0));
2243 SkASSERT(texture); 2243 SkASSERT(texture);
2244 SkASSERT(NULL != texture->asRenderTarget()); 2244 SkASSERT(NULL != texture->asRenderTarget());
2245 GrRenderTarget* rt = texture->asRenderTarget(); 2245 GrRenderTarget* rt = texture->asRenderTarget();
2246 2246
2247 // Setup dummy SkPaint / GrPaint 2247 // Setup dummy SkPaint / GrPaint
2248 GrColor color = GrRandomColor(random); 2248 GrColor color = GrRandomColor(random);
2249 SkMatrix viewMatrix = GrTest::TestMatrixInvertible(random); 2249 SkMatrix viewMatrix = GrTest::TestMatrixInvertible(random);
2250 SkPaint skPaint; 2250 SkPaint skPaint;
2251 skPaint.setDistanceFieldTextTEMP(random->nextBool());
2252 skPaint.setColor(color); 2251 skPaint.setColor(color);
2253 skPaint.setLCDRenderText(random->nextBool()); 2252 skPaint.setLCDRenderText(random->nextBool());
2254 skPaint.setAntiAlias(skPaint.isLCDRenderText() ? true : random->nextBool()); 2253 skPaint.setAntiAlias(skPaint.isLCDRenderText() ? true : random->nextBool());
2255 skPaint.setSubpixelText(random->nextBool()); 2254 skPaint.setSubpixelText(random->nextBool());
2256 2255
2257 GrPaint grPaint; 2256 GrPaint grPaint;
2258 if (!SkPaint2GrPaint(context, rt, skPaint, viewMatrix, true, &grPaint)) { 2257 if (!SkPaint2GrPaint(context, rt, skPaint, viewMatrix, true, &grPaint)) {
2259 SkFAIL("couldn't convert paint\n"); 2258 SkFAIL("couldn't convert paint\n");
2260 } 2259 }
2261 2260
(...skipping 10 matching lines...) Expand all
2272 gTextContext->createDrawTextBlob(rt, clip, grPaint, skPaint, viewMat rix, text, 2271 gTextContext->createDrawTextBlob(rt, clip, grPaint, skPaint, viewMat rix, text,
2273 static_cast<size_t>(textLen), 0, 0, noClip)); 2272 static_cast<size_t>(textLen), 0, 0, noClip));
2274 2273
2275 SkScalar transX = static_cast<SkScalar>(random->nextU()); 2274 SkScalar transX = static_cast<SkScalar>(random->nextU());
2276 SkScalar transY = static_cast<SkScalar>(random->nextU()); 2275 SkScalar transY = static_cast<SkScalar>(random->nextU());
2277 const GrAtlasTextContext::BitmapTextBlob::Run::SubRunInfo& info = blob->fRun s[0].fSubRunInfo[0]; 2276 const GrAtlasTextContext::BitmapTextBlob::Run::SubRunInfo& info = blob->fRun s[0].fSubRunInfo[0];
2278 return gTextContext->createBatch(blob, info, textLen, 0, 0, color, transX, t ransY, skPaint); 2277 return gTextContext->createBatch(blob, info, textLen, 0, 0, color, transX, t ransY, skPaint);
2279 } 2278 }
2280 2279
2281 #endif 2280 #endif
OLDNEW
« no previous file with comments | « src/core/SkTextBlob.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698