OLD | NEW |
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 | 7 |
8 #include "gm.h" | 8 #include "gm.h" |
9 #include "SkBlurMask.h" | 9 #include "SkBlurMask.h" |
10 #include "SkBlurMaskFilter.h" | 10 #include "SkBlurMaskFilter.h" |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 p.setXfermodeMode(SkXfermode::kSrcOut_Mode); | 81 p.setXfermodeMode(SkXfermode::kSrcOut_Mode); |
82 rastBuilder->addLayer(p); | 82 rastBuilder->addLayer(p); |
83 } | 83 } |
84 | 84 |
85 static void r6(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) { | 85 static void r6(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) { |
86 rastBuilder->addLayer(p); | 86 rastBuilder->addLayer(p); |
87 | 87 |
88 p.setAntiAlias(false); | 88 p.setAntiAlias(false); |
89 SkLayerRasterizer::Builder rastBuilder2; | 89 SkLayerRasterizer::Builder rastBuilder2; |
90 r5(&rastBuilder2, p); | 90 r5(&rastBuilder2, p); |
91 p.setRasterizer(rastBuilder2.detachRasterizer())->unref(); | 91 p.setRasterizer(rastBuilder2.detach()); |
92 p.setXfermodeMode(SkXfermode::kClear_Mode); | 92 p.setXfermodeMode(SkXfermode::kClear_Mode); |
93 rastBuilder->addLayer(p); | 93 rastBuilder->addLayer(p); |
94 } | 94 } |
95 | 95 |
96 #include "Sk2DPathEffect.h" | 96 #include "Sk2DPathEffect.h" |
97 | 97 |
98 static sk_sp<SkPathEffect> MakeDotEffect(SkScalar radius, const SkMatrix& matrix
) { | 98 static sk_sp<SkPathEffect> MakeDotEffect(SkScalar radius, const SkMatrix& matrix
) { |
99 SkPath path; | 99 SkPath path; |
100 path.addCircle(0, 0, radius); | 100 path.addCircle(0, 0, radius); |
101 return SkPath2DPathEffect::Make(matrix, path); | 101 return SkPath2DPathEffect::Make(matrix, path); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 typedef void (*raster_proc)(SkLayerRasterizer::Builder*, SkPaint&); | 146 typedef void (*raster_proc)(SkLayerRasterizer::Builder*, SkPaint&); |
147 | 147 |
148 static const raster_proc gRastProcs[] = { | 148 static const raster_proc gRastProcs[] = { |
149 r0, r1, r2, r3, r4, r5, r6, r7, r8, r9 | 149 r0, r1, r2, r3, r4, r5, r6, r7, r8, r9 |
150 }; | 150 }; |
151 | 151 |
152 #include "SkXfermode.h" | 152 #include "SkXfermode.h" |
153 | 153 |
154 static void apply_shader(SkPaint* paint, int index) { | 154 static void apply_shader(SkPaint* paint, int index) { |
155 raster_proc proc = gRastProcs[index]; | 155 raster_proc proc = gRastProcs[index]; |
156 if (proc) | 156 if (proc) { |
157 { | |
158 SkPaint p; | 157 SkPaint p; |
159 SkLayerRasterizer::Builder rastBuilder; | 158 SkLayerRasterizer::Builder rastBuilder; |
160 | 159 |
161 p.setAntiAlias(true); | 160 p.setAntiAlias(true); |
162 proc(&rastBuilder, p); | 161 proc(&rastBuilder, p); |
163 paint->setRasterizer(rastBuilder.detachRasterizer())->unref(); | 162 paint->setRasterizer(rastBuilder.detach()); |
164 } | 163 } |
165 | 164 |
166 #if 0 | 165 #if 0 |
167 SkScalar dir[] = { SK_Scalar1, SK_Scalar1, SK_Scalar1 }; | 166 SkScalar dir[] = { SK_Scalar1, SK_Scalar1, SK_Scalar1 }; |
168 paint->setMaskFilter(SkBlurMaskFilter::CreateEmboss(dir, SK_Scalar1/4, SkInt
ToScalar(4), SkIntToScalar(3)))->unref(); | 167 paint->setMaskFilter(SkBlurMaskFilter::CreateEmboss(dir, SK_Scalar1/4, SkInt
ToScalar(4), SkIntToScalar(3)))->unref(); |
169 #endif | 168 #endif |
170 paint->setColor(SK_ColorBLUE); | 169 paint->setColor(SK_ColorBLUE); |
171 } | 170 } |
172 | 171 |
173 DEF_SIMPLE_GM(texteffects, canvas, 460, 680) { | 172 DEF_SIMPLE_GM(texteffects, canvas, 460, 680) { |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 | 380 |
382 SkScalar start = textPt.fX; | 381 SkScalar start = textPt.fX; |
383 SkScalar end = posX; | 382 SkScalar end = posX; |
384 SkScalar uPos = pos[0].fY + uWidth; | 383 SkScalar uPos = pos[0].fY + uWidth; |
385 SkPath underline = create_underline(intersections, start, end, uPos, uWi
dth, textSize); | 384 SkPath underline = create_underline(intersections, start, end, uPos, uWi
dth, textSize); |
386 paint.setStyle(SkPaint::kStroke_Style); | 385 paint.setStyle(SkPaint::kStroke_Style); |
387 canvas->drawPath(underline, paint); | 386 canvas->drawPath(underline, paint); |
388 canvas->translate(0, textSize * 1.3f); | 387 canvas->translate(0, textSize * 1.3f); |
389 } | 388 } |
390 } | 389 } |
OLD | NEW |