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

Side by Side Diff: samplecode/SampleAll.cpp

Issue 1821533002: guard rasterizer and drawlooper setters (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: update android sdk Created 4 years, 9 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
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2011 Google Inc. 3 * Copyright 2011 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 #include "SampleCode.h" 8 #include "SampleCode.h"
9 #include "SkBlurMask.h" 9 #include "SkBlurMask.h"
10 #include "SkCanvas.h" 10 #include "SkCanvas.h"
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 p.setXfermodeMode(SkXfermode::kSrcOut_Mode); 145 p.setXfermodeMode(SkXfermode::kSrcOut_Mode);
146 rastBuilder->addLayer(p); 146 rastBuilder->addLayer(p);
147 } 147 }
148 148
149 static void r6(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) { 149 static void r6(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) {
150 rastBuilder->addLayer(p); 150 rastBuilder->addLayer(p);
151 151
152 p.setAntiAlias(false); 152 p.setAntiAlias(false);
153 SkLayerRasterizer::Builder rastBuilder2; 153 SkLayerRasterizer::Builder rastBuilder2;
154 r5(&rastBuilder2, p); 154 r5(&rastBuilder2, p);
155 p.setRasterizer(rastBuilder2.detachRasterizer())->unref(); 155 p.setRasterizer(rastBuilder2.detach());
156 p.setXfermodeMode(SkXfermode::kClear_Mode); 156 p.setXfermodeMode(SkXfermode::kClear_Mode);
157 rastBuilder->addLayer(p); 157 rastBuilder->addLayer(p);
158 } 158 }
159 159
160 class Dot2DPathEffect : public Sk2DPathEffect { 160 class Dot2DPathEffect : public Sk2DPathEffect {
161 public: 161 public:
162 Dot2DPathEffect(SkScalar radius, const SkMatrix& matrix) 162 Dot2DPathEffect(SkScalar radius, const SkMatrix& matrix)
163 : Sk2DPathEffect(matrix), fRadius(radius) {} 163 : Sk2DPathEffect(matrix), fRadius(radius) {}
164 164
165 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Dot2DPathEffect) 165 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(Dot2DPathEffect)
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 }; 239 };
240 240
241 static void apply_shader(SkPaint* paint, int index) { 241 static void apply_shader(SkPaint* paint, int index) {
242 raster_proc proc = gRastProcs[index]; 242 raster_proc proc = gRastProcs[index];
243 if (proc) { 243 if (proc) {
244 SkPaint p; 244 SkPaint p;
245 SkLayerRasterizer::Builder rastBuilder; 245 SkLayerRasterizer::Builder rastBuilder;
246 246
247 p.setAntiAlias(true); 247 p.setAntiAlias(true);
248 proc(&rastBuilder, p); 248 proc(&rastBuilder, p);
249 paint->setRasterizer(rastBuilder.detachRasterizer())->unref(); 249 paint->setRasterizer(rastBuilder.detach());
250 } 250 }
251 251
252 #if 1 252 #if 1
253 SkScalar dir[] = { SK_Scalar1, SK_Scalar1, SK_Scalar1 }; 253 SkScalar dir[] = { SK_Scalar1, SK_Scalar1, SK_Scalar1 };
254 paint->setMaskFilter(SkBlurMaskFilter::CreateEmboss( 254 paint->setMaskFilter(SkBlurMaskFilter::CreateEmboss(
255 SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(3)), dir, 255 SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(3)), dir,
256 SK_Scalar1/4, SkIntToScalar(4)))->unref(); 256 SK_Scalar1/4, SkIntToScalar(4)))->unref();
257 paint->setColor(SK_ColorBLUE); 257 paint->setColor(SK_ColorBLUE);
258 #endif 258 #endif
259 } 259 }
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
563 private: 563 private:
564 SkPoint fClickPt; 564 SkPoint fClickPt;
565 SkBitmap fBug, fTb, fTx; 565 SkBitmap fBug, fTb, fTx;
566 typedef SampleView INHERITED; 566 typedef SampleView INHERITED;
567 }; 567 };
568 568
569 ////////////////////////////////////////////////////////////////////////////// 569 //////////////////////////////////////////////////////////////////////////////
570 570
571 static SkView* MyFactory() { return new DemoView; } 571 static SkView* MyFactory() { return new DemoView; }
572 static SkViewRegister reg(MyFactory); 572 static SkViewRegister reg(MyFactory);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698