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

Side by Side Diff: gm/complexclip.cpp

Issue 2357333002: allow clip calls w/o op param, remove unnecessary kReplace ops (Closed)
Patch Set: Created 4 years, 3 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 | « gm/clip_strokerect.cpp ('k') | gm/complexclip3.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 2011 Google Inc. 2 * Copyright 2011 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 "gm.h" 7 #include "gm.h"
8 #include "SkCanvas.h" 8 #include "SkCanvas.h"
9 //#include "SkParsePath.h" 9 //#include "SkParsePath.h"
10 #include "SkPath.h" 10 #include "SkPath.h"
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 this->drawHairlines(canvas, path, clipA, clipB); 123 this->drawHairlines(canvas, path, clipA, clipB);
124 124
125 bool doInvA = SkToBool(invBits & 1); 125 bool doInvA = SkToBool(invBits & 1);
126 bool doInvB = SkToBool(invBits & 2); 126 bool doInvB = SkToBool(invBits & 2);
127 canvas->save(); 127 canvas->save();
128 // set clip 128 // set clip
129 clipA.setFillType(doInvA ? SkPath::kInverseEvenOdd_FillType : 129 clipA.setFillType(doInvA ? SkPath::kInverseEvenOdd_FillType :
130 SkPath::kEvenOdd_FillType); 130 SkPath::kEvenOdd_FillType);
131 clipB.setFillType(doInvB ? SkPath::kInverseEvenOdd_FillType : 131 clipB.setFillType(doInvB ? SkPath::kInverseEvenOdd_FillType :
132 SkPath::kEvenOdd_FillType); 132 SkPath::kEvenOdd_FillType);
133 canvas->clipPath(clipA, SkCanvas::kIntersect_Op, fDoAAClip); 133 canvas->clipPath(clipA, fDoAAClip);
134 canvas->clipPath(clipB, gOps[op].fOp, fDoAAClip); 134 canvas->clipPath(clipB, gOps[op].fOp, fDoAAClip);
135 135
136 // In the inverse case we need to prevent the draw from cove ring the whole 136 // In the inverse case we need to prevent the draw from cove ring the whole
137 // canvas. 137 // canvas.
138 if (fInvertDraw) { 138 if (fInvertDraw) {
139 SkRect rectClip = clipA.getBounds(); 139 SkRect rectClip = clipA.getBounds();
140 rectClip.join(path.getBounds()); 140 rectClip.join(path.getBounds());
141 rectClip.join(path.getBounds()); 141 rectClip.join(path.getBounds());
142 rectClip.outset(5, 5); 142 rectClip.outset(5, 5);
143 canvas->clipRect(rectClip); 143 canvas->clipRect(rectClip);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 201
202 DEF_GM(return new ComplexClipGM(false, false, false);) 202 DEF_GM(return new ComplexClipGM(false, false, false);)
203 DEF_GM(return new ComplexClipGM(false, false, true);) 203 DEF_GM(return new ComplexClipGM(false, false, true);)
204 DEF_GM(return new ComplexClipGM(false, true, false);) 204 DEF_GM(return new ComplexClipGM(false, true, false);)
205 DEF_GM(return new ComplexClipGM(false, true, true);) 205 DEF_GM(return new ComplexClipGM(false, true, true);)
206 DEF_GM(return new ComplexClipGM(true, false, false);) 206 DEF_GM(return new ComplexClipGM(true, false, false);)
207 DEF_GM(return new ComplexClipGM(true, false, true);) 207 DEF_GM(return new ComplexClipGM(true, false, true);)
208 DEF_GM(return new ComplexClipGM(true, true, false);) 208 DEF_GM(return new ComplexClipGM(true, true, false);)
209 DEF_GM(return new ComplexClipGM(true, true, true);) 209 DEF_GM(return new ComplexClipGM(true, true, true);)
210 } 210 }
OLDNEW
« no previous file with comments | « gm/clip_strokerect.cpp ('k') | gm/complexclip3.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698