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

Unified Diff: samplecode/SampleSlides.cpp

Issue 176873004: Builder class for SkLayerRasterizer. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Make ReadLayers private Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « samplecode/SamplePathEffects.cpp ('k') | src/effects/SkLayerRasterizer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: samplecode/SampleSlides.cpp
diff --git a/samplecode/SampleSlides.cpp b/samplecode/SampleSlides.cpp
index 914283aab022c7b95dc2d468a1991f0ae8c0ed88..ece96849f9fcc8c38f10f80a9dbb25d0ed1abd53 100644
--- a/samplecode/SampleSlides.cpp
+++ b/samplecode/SampleSlides.cpp
@@ -476,92 +476,92 @@ static void mesh_slide(SkCanvas* canvas) {
///////////////////////////////////////////////////////////////////////////////
-static void r0(SkLayerRasterizer* rast, SkPaint& p)
+static void r0(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
{
p.setMaskFilter(SkBlurMaskFilter::Create(SkBlurMaskFilter::kNormal_BlurStyle,
SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(3))))->unref();
- rast->addLayer(p, SkIntToScalar(3), SkIntToScalar(3));
+ rastBuilder->addLayer(p, SkIntToScalar(3), SkIntToScalar(3));
p.setMaskFilter(NULL);
p.setStyle(SkPaint::kStroke_Style);
p.setStrokeWidth(SK_Scalar1);
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
p.setAlpha(0x11);
p.setStyle(SkPaint::kFill_Style);
p.setXfermodeMode(SkXfermode::kSrc_Mode);
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
}
-static void r1(SkLayerRasterizer* rast, SkPaint& p)
+static void r1(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
{
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
p.setAlpha(0x40);
p.setXfermodeMode(SkXfermode::kSrc_Mode);
p.setStyle(SkPaint::kStroke_Style);
p.setStrokeWidth(SK_Scalar1*2);
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
}
-static void r2(SkLayerRasterizer* rast, SkPaint& p)
+static void r2(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
{
p.setStyle(SkPaint::kStrokeAndFill_Style);
p.setStrokeWidth(SK_Scalar1*4);
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
p.setStyle(SkPaint::kStroke_Style);
p.setStrokeWidth(SK_Scalar1*3/2);
p.setXfermodeMode(SkXfermode::kClear_Mode);
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
}
-static void r3(SkLayerRasterizer* rast, SkPaint& p)
+static void r3(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
{
p.setStyle(SkPaint::kStroke_Style);
p.setStrokeWidth(SK_Scalar1*3);
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
p.setAlpha(0x20);
p.setStyle(SkPaint::kFill_Style);
p.setXfermodeMode(SkXfermode::kSrc_Mode);
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
}
-static void r4(SkLayerRasterizer* rast, SkPaint& p)
+static void r4(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
{
p.setAlpha(0x60);
- rast->addLayer(p, SkIntToScalar(3), SkIntToScalar(3));
+ rastBuilder->addLayer(p, SkIntToScalar(3), SkIntToScalar(3));
p.setAlpha(0xFF);
p.setXfermodeMode(SkXfermode::kClear_Mode);
- rast->addLayer(p, SK_Scalar1*3/2, SK_Scalar1*3/2);
+ rastBuilder->addLayer(p, SK_Scalar1*3/2, SK_Scalar1*3/2);
p.setXfermode(NULL);
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
}
#include "SkDiscretePathEffect.h"
-static void r5(SkLayerRasterizer* rast, SkPaint& p)
+static void r5(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
{
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
p.setPathEffect(SkDiscretePathEffect::Create(SK_Scalar1*4, SK_Scalar1*3))->unref();
p.setXfermodeMode(SkXfermode::kSrcOut_Mode);
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
}
-static void r6(SkLayerRasterizer* rast, SkPaint& p)
+static void r6(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
{
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
p.setAntiAlias(false);
- SkLayerRasterizer* rast2 = new SkLayerRasterizer;
- r5(rast2, p);
- p.setRasterizer(rast2)->unref();
+ SkLayerRasterizer::Builder rastBuilder2;
+ r5(&rastBuilder2, p);
+ p.setRasterizer(rastBuilder2.detachRasterizer())->unref();
p.setXfermodeMode(SkXfermode::kClear_Mode);
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
}
#include "Sk2DPathEffect.h"
@@ -572,52 +572,52 @@ static SkPathEffect* MakeDotEffect(SkScalar radius, const SkMatrix& matrix) {
return SkPath2DPathEffect::Create(matrix, path);
}
-static void r7(SkLayerRasterizer* rast, SkPaint& p)
+static void r7(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
{
SkMatrix lattice;
lattice.setScale(SK_Scalar1*6, SK_Scalar1*6, 0, 0);
lattice.postSkew(SK_Scalar1/3, 0, 0, 0);
p.setPathEffect(MakeDotEffect(SK_Scalar1*4, lattice))->unref();
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
}
-static void r8(SkLayerRasterizer* rast, SkPaint& p)
+static void r8(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
{
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
SkMatrix lattice;
lattice.setScale(SK_Scalar1*6, SK_Scalar1*6, 0, 0);
lattice.postSkew(SK_Scalar1/3, 0, 0, 0);
p.setPathEffect(MakeDotEffect(SK_Scalar1*2, lattice))->unref();
p.setXfermodeMode(SkXfermode::kClear_Mode);
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
p.setPathEffect(NULL);
p.setXfermode(NULL);
p.setStyle(SkPaint::kStroke_Style);
p.setStrokeWidth(SK_Scalar1);
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
}
-static void r9(SkLayerRasterizer* rast, SkPaint& p)
+static void r9(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p)
{
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
SkMatrix lattice;
lattice.setScale(SK_Scalar1, SK_Scalar1*6, 0, 0);
lattice.postRotate(SkIntToScalar(30), 0, 0);
p.setPathEffect(SkLine2DPathEffect::Create(SK_Scalar1*2, lattice))->unref();
p.setXfermodeMode(SkXfermode::kClear_Mode);
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
p.setPathEffect(NULL);
p.setXfermode(NULL);
p.setStyle(SkPaint::kStroke_Style);
p.setStrokeWidth(SK_Scalar1);
- rast->addLayer(p);
+ rastBuilder->addLayer(p);
}
-typedef void (*raster_proc)(SkLayerRasterizer*, SkPaint&);
+typedef void (*raster_proc)(SkLayerRasterizer::Builder*, SkPaint&);
static const raster_proc gRastProcs[] = {
r0, r1, r2, r3, r4, r5, r6, r7, r8, r9
@@ -626,11 +626,11 @@ static const raster_proc gRastProcs[] = {
static void apply_shader(SkPaint* paint, int index) {
raster_proc proc = gRastProcs[index];
SkPaint p;
- SkLayerRasterizer* rast = new SkLayerRasterizer;
+ SkLayerRasterizer::Builder rastBuilder;
p.setAntiAlias(true);
- proc(rast, p);
- paint->setRasterizer(rast)->unref();
+ proc(&rastBuilder, p);
+ paint->setRasterizer(rastBuilder.detachRasterizer())->unref();
paint->setColor(SK_ColorBLUE);
}
« no previous file with comments | « samplecode/SamplePathEffects.cpp ('k') | src/effects/SkLayerRasterizer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698