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

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

Issue 1151283004: Split drawing functionality out of GrContext and into new GrDrawContext (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Fix no-GPU builds Created 5 years, 7 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/gpu/GrBatchFontCache.h ('k') | src/gpu/GrContext.cpp » ('j') | 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 2012 Google Inc. 2 * Copyright 2012 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 "GrClipMaskManager.h" 8 #include "GrClipMaskManager.h"
9 #include "GrAAConvexPathRenderer.h" 9 #include "GrAAConvexPathRenderer.h"
10 #include "GrAAHairLinePathRenderer.h" 10 #include "GrAAHairLinePathRenderer.h"
11 #include "GrAARectRenderer.h"
12 #include "GrCaps.h" 11 #include "GrCaps.h"
12 #include "GrDrawContext.h"
13 #include "GrDrawTarget.h"
13 #include "GrPaint.h" 14 #include "GrPaint.h"
14 #include "GrPathRenderer.h" 15 #include "GrPathRenderer.h"
15 #include "GrRenderTarget.h" 16 #include "GrRenderTarget.h"
16 #include "GrRenderTargetPriv.h" 17 #include "GrRenderTargetPriv.h"
17 #include "GrStencilAttachment.h" 18 #include "GrStencilAttachment.h"
18 #include "GrSWMaskHelper.h" 19 #include "GrSWMaskHelper.h"
19 #include "SkRasterClip.h" 20 #include "SkRasterClip.h"
20 #include "SkTLazy.h" 21 #include "SkTLazy.h"
21 #include "effects/GrConvexPolyEffect.h" 22 #include "effects/GrConvexPolyEffect.h"
22 #include "effects/GrPorterDuffXferProcessor.h" 23 #include "effects/GrPorterDuffXferProcessor.h"
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 switch (element->getType()) { 388 switch (element->getType()) {
388 case Element::kEmpty_Type: 389 case Element::kEmpty_Type:
389 SkDEBUGFAIL("Should never get here with an empty element."); 390 SkDEBUGFAIL("Should never get here with an empty element.");
390 break; 391 break;
391 case Element::kRect_Type: 392 case Element::kRect_Type:
392 // TODO: Do rects directly to the accumulator using a aa-rect GrProc essor that covers 393 // TODO: Do rects directly to the accumulator using a aa-rect GrProc essor that covers
393 // the entire mask bounds and writes 0 outside the rect. 394 // the entire mask bounds and writes 0 outside the rect.
394 if (element->isAA()) { 395 if (element->isAA()) {
395 SkRect devRect = element->getRect(); 396 SkRect devRect = element->getRect();
396 viewMatrix.mapRect(&devRect); 397 viewMatrix.mapRect(&devRect);
397 this->getContext()->getAARectRenderer()->fillAARect(fClipTarget, 398
398 pipelineBuil der, 399 fClipTarget->drawAARect(pipelineBuilder, color, viewMatrix,
399 color, 400 element->getRect(), devRect);
400 viewMatrix,
401 element->get Rect(),
402 devRect);
403 } else { 401 } else {
404 fClipTarget->drawSimpleRect(pipelineBuilder, color, viewMatrix, element->getRect()); 402 fClipTarget->drawSimpleRect(pipelineBuilder, color, viewMatrix,
403 element->getRect());
405 } 404 }
406 return true; 405 return true;
407 default: { 406 default: {
408 SkPath path; 407 SkPath path;
409 element->asPath(&path); 408 element->asPath(&path);
410 path.setIsVolatile(true); 409 path.setIsVolatile(true);
411 if (path.isInverseFillType()) { 410 if (path.isInverseFillType()) {
412 path.toggleInverseFillType(); 411 path.toggleInverseFillType();
413 } 412 }
414 GrStrokeInfo stroke(SkStrokeRec::kFill_InitStyle); 413 GrStrokeInfo stroke(SkStrokeRec::kFill_InitStyle);
(...skipping 700 matching lines...) Expand 10 before | Expand all | Expand 10 after
1115 fAACache.setContext(clipTarget->getContext()); 1114 fAACache.setContext(clipTarget->getContext());
1116 } 1115 }
1117 1116
1118 void GrClipMaskManager::adjustPathStencilParams(const GrStencilAttachment* stenc ilAttachment, 1117 void GrClipMaskManager::adjustPathStencilParams(const GrStencilAttachment* stenc ilAttachment,
1119 GrStencilSettings* settings) { 1118 GrStencilSettings* settings) {
1120 if (stencilAttachment) { 1119 if (stencilAttachment) {
1121 int stencilBits = stencilAttachment->bits(); 1120 int stencilBits = stencilAttachment->bits();
1122 this->adjustStencilParams(settings, fClipMode, stencilBits); 1121 this->adjustStencilParams(settings, fClipMode, stencilBits);
1123 } 1122 }
1124 } 1123 }
OLDNEW
« no previous file with comments | « src/gpu/GrBatchFontCache.h ('k') | src/gpu/GrContext.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698