| OLD | NEW |
| 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 | 7 |
| 8 #include "GrBlurUtils.h" | 8 #include "GrBlurUtils.h" |
| 9 #include "GrDrawContext.h" | 9 #include "GrDrawContext.h" |
| 10 #include "GrCaps.h" | 10 #include "GrCaps.h" |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 const SkIRect& maskRect, | 97 const SkIRect& maskRect, |
| 98 const SkPath& devPath, | 98 const SkPath& devPath, |
| 99 SkStrokeRec::InitStyle fillOrHairline, | 99 SkStrokeRec::InitStyle fillOrHairline, |
| 100 bool doAA, | 100 bool doAA, |
| 101 int sampleCnt) { | 101 int sampleCnt) { |
| 102 if (!doAA) { | 102 if (!doAA) { |
| 103 // Don't need MSAA if mask isn't AA | 103 // Don't need MSAA if mask isn't AA |
| 104 sampleCnt = 0; | 104 sampleCnt = 0; |
| 105 } | 105 } |
| 106 | 106 |
| 107 // We actually only need A8, but it often isn't supported as a | 107 sk_sp<GrDrawContext> drawContext(context->makeDrawContextWithFallback(SkBack
ingFit::kApprox, |
| 108 // render target so default to RGBA_8888 | 108 maskRe
ct.width(), |
| 109 GrPixelConfig config = kRGBA_8888_GrPixelConfig; | 109 maskRe
ct.height(), |
| 110 if (context->caps()->isConfigRenderable(kAlpha_8_GrPixelConfig, sampleCnt >
0)) { | 110 kAlpha
_8_GrPixelConfig, |
| 111 config = kAlpha_8_GrPixelConfig; | 111 nullpt
r, |
| 112 } | 112 sample
Cnt)); |
| 113 | |
| 114 sk_sp<GrDrawContext> drawContext(context->makeDrawContext(SkBackingFit::kApp
rox, | |
| 115 maskRect.width(), | |
| 116 maskRect.height(), | |
| 117 config, | |
| 118 nullptr, | |
| 119 sampleCnt)); | |
| 120 if (!drawContext) { | 113 if (!drawContext) { |
| 121 return nullptr; | 114 return nullptr; |
| 122 } | 115 } |
| 123 | 116 |
| 124 drawContext->clear(nullptr, 0x0, true); | 117 drawContext->clear(nullptr, 0x0, true); |
| 125 | 118 |
| 126 GrPaint tempPaint; | 119 GrPaint tempPaint; |
| 127 tempPaint.setAntiAlias(doAA); | 120 tempPaint.setAntiAlias(doAA); |
| 128 tempPaint.setCoverageSetOpXPFactory(SkRegion::kReplace_Op); | 121 tempPaint.setCoverageSetOpXPFactory(SkRegion::kReplace_Op); |
| 129 | 122 |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 } | 287 } |
| 295 | 288 |
| 296 if (paint.getMaskFilter()) { | 289 if (paint.getMaskFilter()) { |
| 297 draw_path_with_mask_filter(context, drawContext, clip, &grPaint, viewMat
rix, | 290 draw_path_with_mask_filter(context, drawContext, clip, &grPaint, viewMat
rix, |
| 298 paint.getMaskFilter(), style, | 291 paint.getMaskFilter(), style, |
| 299 path, pathIsMutable); | 292 path, pathIsMutable); |
| 300 } else { | 293 } else { |
| 301 drawContext->drawPath(clip, grPaint, viewMatrix, *path, style); | 294 drawContext->drawPath(clip, grPaint, viewMatrix, *path, style); |
| 302 } | 295 } |
| 303 } | 296 } |
| OLD | NEW |