OLD | NEW |
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 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 }; | 77 }; |
78 | 78 |
79 /////////////////////////////////////////////////////////// | 79 /////////////////////////////////////////////////////////// |
80 | 80 |
81 static void r0(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) { | 81 static void r0(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) { |
82 p.setMaskFilter(SkBlurMaskFilter::Create(kNormal_SkBlurStyle, | 82 p.setMaskFilter(SkBlurMaskFilter::Create(kNormal_SkBlurStyle, |
83 SkBlurMask::ConvertRadiusToSigma(Sk
IntToScalar(3)), | 83 SkBlurMask::ConvertRadiusToSigma(Sk
IntToScalar(3)), |
84 SkBlurMaskFilter::kNone_BlurFlag))-
>unref(); | 84 SkBlurMaskFilter::kNone_BlurFlag))-
>unref(); |
85 rastBuilder->addLayer(p, SkIntToScalar(3), SkIntToScalar(3)); | 85 rastBuilder->addLayer(p, SkIntToScalar(3), SkIntToScalar(3)); |
86 | 86 |
87 p.setMaskFilter(NULL); | 87 p.setMaskFilter(nullptr); |
88 p.setStyle(SkPaint::kStroke_Style); | 88 p.setStyle(SkPaint::kStroke_Style); |
89 p.setStrokeWidth(SK_Scalar1); | 89 p.setStrokeWidth(SK_Scalar1); |
90 rastBuilder->addLayer(p); | 90 rastBuilder->addLayer(p); |
91 | 91 |
92 p.setAlpha(0x11); | 92 p.setAlpha(0x11); |
93 p.setStyle(SkPaint::kFill_Style); | 93 p.setStyle(SkPaint::kFill_Style); |
94 p.setXfermodeMode(SkXfermode::kSrc_Mode); | 94 p.setXfermodeMode(SkXfermode::kSrc_Mode); |
95 rastBuilder->addLayer(p); | 95 rastBuilder->addLayer(p); |
96 } | 96 } |
97 | 97 |
(...skipping 30 matching lines...) Expand all Loading... |
128 } | 128 } |
129 | 129 |
130 static void r4(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) { | 130 static void r4(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) { |
131 p.setAlpha(0x60); | 131 p.setAlpha(0x60); |
132 rastBuilder->addLayer(p, SkIntToScalar(3), SkIntToScalar(3)); | 132 rastBuilder->addLayer(p, SkIntToScalar(3), SkIntToScalar(3)); |
133 | 133 |
134 p.setAlpha(0xFF); | 134 p.setAlpha(0xFF); |
135 p.setXfermodeMode(SkXfermode::kClear_Mode); | 135 p.setXfermodeMode(SkXfermode::kClear_Mode); |
136 rastBuilder->addLayer(p, SK_Scalar1*3/2, SK_Scalar1*3/2); | 136 rastBuilder->addLayer(p, SK_Scalar1*3/2, SK_Scalar1*3/2); |
137 | 137 |
138 p.setXfermode(NULL); | 138 p.setXfermode(nullptr); |
139 rastBuilder->addLayer(p); | 139 rastBuilder->addLayer(p); |
140 } | 140 } |
141 | 141 |
142 static void r5(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) { | 142 static void r5(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) { |
143 rastBuilder->addLayer(p); | 143 rastBuilder->addLayer(p); |
144 | 144 |
145 p.setPathEffect(SkDiscretePathEffect::Create(SK_Scalar1*4, SK_Scalar1*3))->u
nref(); | 145 p.setPathEffect(SkDiscretePathEffect::Create(SK_Scalar1*4, SK_Scalar1*3))->u
nref(); |
146 p.setXfermodeMode(SkXfermode::kSrcOut_Mode); | 146 p.setXfermodeMode(SkXfermode::kSrcOut_Mode); |
147 rastBuilder->addLayer(p); | 147 rastBuilder->addLayer(p); |
148 } | 148 } |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 static void r8(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) { | 192 static void r8(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) { |
193 rastBuilder->addLayer(p); | 193 rastBuilder->addLayer(p); |
194 | 194 |
195 SkMatrix lattice; | 195 SkMatrix lattice; |
196 lattice.setScale(SK_Scalar1*6, SK_Scalar1*6, 0, 0); | 196 lattice.setScale(SK_Scalar1*6, SK_Scalar1*6, 0, 0); |
197 lattice.postSkew(SK_Scalar1/3, 0, 0, 0); | 197 lattice.postSkew(SK_Scalar1/3, 0, 0, 0); |
198 p.setPathEffect(new Dot2DPathEffect(SK_Scalar1*2, lattice))->unref(); | 198 p.setPathEffect(new Dot2DPathEffect(SK_Scalar1*2, lattice))->unref(); |
199 p.setXfermodeMode(SkXfermode::kClear_Mode); | 199 p.setXfermodeMode(SkXfermode::kClear_Mode); |
200 rastBuilder->addLayer(p); | 200 rastBuilder->addLayer(p); |
201 | 201 |
202 p.setPathEffect(NULL); | 202 p.setPathEffect(nullptr); |
203 p.setXfermode(NULL); | 203 p.setXfermode(nullptr); |
204 p.setStyle(SkPaint::kStroke_Style); | 204 p.setStyle(SkPaint::kStroke_Style); |
205 p.setStrokeWidth(SK_Scalar1); | 205 p.setStrokeWidth(SK_Scalar1); |
206 rastBuilder->addLayer(p); | 206 rastBuilder->addLayer(p); |
207 } | 207 } |
208 | 208 |
209 static void r9(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) { | 209 static void r9(SkLayerRasterizer::Builder* rastBuilder, SkPaint& p) { |
210 rastBuilder->addLayer(p); | 210 rastBuilder->addLayer(p); |
211 | 211 |
212 SkMatrix lattice; | 212 SkMatrix lattice; |
213 lattice.setScale(SK_Scalar1, SK_Scalar1*6, 0, 0); | 213 lattice.setScale(SK_Scalar1, SK_Scalar1*6, 0, 0); |
214 lattice.postRotate(SkIntToScalar(30), 0, 0); | 214 lattice.postRotate(SkIntToScalar(30), 0, 0); |
215 p.setPathEffect(SkLine2DPathEffect::Create(SK_Scalar1*2, lattice))->unref(); | 215 p.setPathEffect(SkLine2DPathEffect::Create(SK_Scalar1*2, lattice))->unref(); |
216 p.setXfermodeMode(SkXfermode::kClear_Mode); | 216 p.setXfermodeMode(SkXfermode::kClear_Mode); |
217 rastBuilder->addLayer(p); | 217 rastBuilder->addLayer(p); |
218 | 218 |
219 p.setPathEffect(NULL); | 219 p.setPathEffect(nullptr); |
220 p.setXfermode(NULL); | 220 p.setXfermode(nullptr); |
221 p.setStyle(SkPaint::kStroke_Style); | 221 p.setStyle(SkPaint::kStroke_Style); |
222 p.setStrokeWidth(SK_Scalar1); | 222 p.setStrokeWidth(SK_Scalar1); |
223 rastBuilder->addLayer(p); | 223 rastBuilder->addLayer(p); |
224 } | 224 } |
225 | 225 |
226 typedef void (*raster_proc)(SkLayerRasterizer::Builder*, SkPaint&); | 226 typedef void (*raster_proc)(SkLayerRasterizer::Builder*, SkPaint&); |
227 | 227 |
228 static const raster_proc gRastProcs[] = { | 228 static const raster_proc gRastProcs[] = { |
229 r0, r1, r2, r3, r4, r5, r6, r7, r8, r9 | 229 r0, r1, r2, r3, r4, r5, r6, r7, r8, r9 |
230 }; | 230 }; |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 } | 296 } |
297 | 297 |
298 virtual void onDrawContent(SkCanvas* canvas) { | 298 virtual void onDrawContent(SkCanvas* canvas) { |
299 canvas->save(); | 299 canvas->save(); |
300 this->drawPicture(canvas, 0); | 300 this->drawPicture(canvas, 0); |
301 canvas->restore(); | 301 canvas->restore(); |
302 | 302 |
303 { | 303 { |
304 SkPictureRecorder recorder; | 304 SkPictureRecorder recorder; |
305 { | 305 { |
306 SkCanvas* record = recorder.beginRecording(320, 480, NULL, 0); | 306 SkCanvas* record = recorder.beginRecording(320, 480, nullptr, 0)
; |
307 this->drawPicture(record, 120); | 307 this->drawPicture(record, 120); |
308 } | 308 } |
309 SkAutoTUnref<SkPicture> picture(recorder.endRecording()); | 309 SkAutoTUnref<SkPicture> picture(recorder.endRecording()); |
310 | 310 |
311 canvas->translate(0, SkIntToScalar(120)); | 311 canvas->translate(0, SkIntToScalar(120)); |
312 | 312 |
313 SkRect clip; | 313 SkRect clip; |
314 clip.set(0, 0, SkIntToScalar(160), SkIntToScalar(160)); | 314 clip.set(0, 0, SkIntToScalar(160), SkIntToScalar(160)); |
315 do { | 315 do { |
316 canvas->save(); | 316 canvas->save(); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
352 SkIntToScalar((unsigned int)index * 2)); | 352 SkIntToScalar((unsigned int)index * 2)); |
353 SkTDArray<SkPoint>(pos2); | 353 SkTDArray<SkPoint>(pos2); |
354 pos2.setCount(asciiLength); | 354 pos2.setCount(asciiLength); |
355 for (index = 0; index < asciiLength; index++) | 355 for (index = 0; index < asciiLength; index++) |
356 pos2[index].set(SkIntToScalar((unsigned int)index * 10), | 356 pos2[index].set(SkIntToScalar((unsigned int)index * 10), |
357 SkIntToScalar(20)); | 357 SkIntToScalar(20)); |
358 | 358 |
359 // shaders | 359 // shaders |
360 SkPoint linearPoints[] = { { 0, 0, }, { SkIntToScalar(40), SkIntToScalar
(40) } }; | 360 SkPoint linearPoints[] = { { 0, 0, }, { SkIntToScalar(40), SkIntToScalar
(40) } }; |
361 SkColor linearColors[] = { SK_ColorRED, SK_ColorBLUE }; | 361 SkColor linearColors[] = { SK_ColorRED, SK_ColorBLUE }; |
362 SkScalar* linearPos = NULL; | 362 SkScalar* linearPos = nullptr; |
363 int linearCount = 2; | 363 int linearCount = 2; |
364 SkShader::TileMode linearMode = SkShader::kMirror_TileMode; | 364 SkShader::TileMode linearMode = SkShader::kMirror_TileMode; |
365 SkShader* linear = SkGradientShader::CreateLinear(linearPoints, | 365 SkShader* linear = SkGradientShader::CreateLinear(linearPoints, |
366 linearColors, linearPos, linearCount, linearMode); | 366 linearColors, linearPos, linearCount, linearMode); |
367 | 367 |
368 SkPoint radialCenter = { SkIntToScalar(25), SkIntToScalar(25) }; | 368 SkPoint radialCenter = { SkIntToScalar(25), SkIntToScalar(25) }; |
369 SkScalar radialRadius = SkIntToScalar(25); | 369 SkScalar radialRadius = SkIntToScalar(25); |
370 SkColor radialColors[] = { SK_ColorGREEN, SK_ColorGRAY, SK_ColorRED }; | 370 SkColor radialColors[] = { SK_ColorGREEN, SK_ColorGRAY, SK_ColorRED }; |
371 SkScalar radialPos[] = { 0, SkIntToScalar(3) / 5, SkIntToScalar(1)}; | 371 SkScalar radialPos[] = { 0, SkIntToScalar(3) / 5, SkIntToScalar(1)}; |
372 int radialCount = 3; | 372 int radialCount = 3; |
(...skipping 29 matching lines...) Expand all Loading... |
402 canvas->drawPaint(paint); | 402 canvas->drawPaint(paint); |
403 canvas->save(); | 403 canvas->save(); |
404 | 404 |
405 // line (exercises xfermode, colorShader, colorFilter, filterShader) | 405 // line (exercises xfermode, colorShader, colorFilter, filterShader) |
406 paint.setColor(SK_ColorGREEN); | 406 paint.setColor(SK_ColorGREEN); |
407 paint.setStrokeWidth(SkIntToScalar(10)); | 407 paint.setStrokeWidth(SkIntToScalar(10)); |
408 paint.setStyle(SkPaint::kStroke_Style); | 408 paint.setStyle(SkPaint::kStroke_Style); |
409 paint.setXfermode(xfermode)->unref(); | 409 paint.setXfermode(xfermode)->unref(); |
410 paint.setColorFilter(lightingFilter)->unref(); | 410 paint.setColorFilter(lightingFilter)->unref(); |
411 canvas->drawLine(start.fX, start.fY, stop.fX, stop.fY, paint); // should
not be green | 411 canvas->drawLine(start.fX, start.fY, stop.fX, stop.fY, paint); // should
not be green |
412 paint.setXfermode(NULL); | 412 paint.setXfermode(nullptr); |
413 paint.setColorFilter(NULL); | 413 paint.setColorFilter(nullptr); |
414 | 414 |
415 // rectangle | 415 // rectangle |
416 paint.setStyle(SkPaint::kFill_Style); | 416 paint.setStyle(SkPaint::kFill_Style); |
417 canvas->translate(SkIntToScalar(50), 0); | 417 canvas->translate(SkIntToScalar(50), 0); |
418 paint.setColor(SK_ColorYELLOW); | 418 paint.setColor(SK_ColorYELLOW); |
419 paint.setShader(linear)->unref(); | 419 paint.setShader(linear)->unref(); |
420 paint.setPathEffect(pathEffectTest())->unref(); | 420 paint.setPathEffect(pathEffectTest())->unref(); |
421 canvas->drawRect(rect, paint); | 421 canvas->drawRect(rect, paint); |
422 paint.setPathEffect(NULL); | 422 paint.setPathEffect(nullptr); |
423 | 423 |
424 // circle w/ emboss & transparent (exercises 3dshader) | 424 // circle w/ emboss & transparent (exercises 3dshader) |
425 canvas->translate(SkIntToScalar(50), 0); | 425 canvas->translate(SkIntToScalar(50), 0); |
426 paint.setMaskFilter(embossFilter)->unref(); | 426 paint.setMaskFilter(embossFilter)->unref(); |
427 canvas->drawOval(rect, paint); | 427 canvas->drawOval(rect, paint); |
428 canvas->translate(SkIntToScalar(10), SkIntToScalar(10)); | 428 canvas->translate(SkIntToScalar(10), SkIntToScalar(10)); |
429 // paint.setShader(transparentShader)->unref(); | 429 // paint.setShader(transparentShader)->unref(); |
430 canvas->drawOval(rect, paint); | 430 canvas->drawOval(rect, paint); |
431 canvas->translate(0, SkIntToScalar(-10)); | 431 canvas->translate(0, SkIntToScalar(-10)); |
432 | 432 |
433 // path | 433 // path |
434 canvas->translate(SkIntToScalar(50), 0); | 434 canvas->translate(SkIntToScalar(50), 0); |
435 paint.setColor(SK_ColorRED); | 435 paint.setColor(SK_ColorRED); |
436 paint.setStyle(SkPaint::kStroke_Style); | 436 paint.setStyle(SkPaint::kStroke_Style); |
437 paint.setStrokeWidth(SkIntToScalar(5)); | 437 paint.setStrokeWidth(SkIntToScalar(5)); |
438 paint.setShader(radial)->unref(); | 438 paint.setShader(radial)->unref(); |
439 paint.setMaskFilter(NULL); | 439 paint.setMaskFilter(nullptr); |
440 canvas->drawPath(path, paint); | 440 canvas->drawPath(path, paint); |
441 | 441 |
442 paint.setShader(NULL); | 442 paint.setShader(nullptr); |
443 // bitmap, sprite | 443 // bitmap, sprite |
444 canvas->translate(SkIntToScalar(50), 0); | 444 canvas->translate(SkIntToScalar(50), 0); |
445 paint.setStyle(SkPaint::kFill_Style); | 445 paint.setStyle(SkPaint::kFill_Style); |
446 canvas->drawBitmap(fBug, left, top, &paint); | 446 canvas->drawBitmap(fBug, left, top, &paint); |
447 canvas->translate(SkIntToScalar(30), 0); | 447 canvas->translate(SkIntToScalar(30), 0); |
448 canvas->drawSprite(fTb, | 448 canvas->drawSprite(fTb, |
449 SkScalarRoundToInt(canvas->getTotalMatrix().getTranslateX()), | 449 SkScalarRoundToInt(canvas->getTotalMatrix().getTranslateX()), |
450 spriteOffset + 10, &paint); | 450 spriteOffset + 10, &paint); |
451 | 451 |
452 canvas->translate(-SkIntToScalar(30), SkIntToScalar(30)); | 452 canvas->translate(-SkIntToScalar(30), SkIntToScalar(30)); |
453 paint.setShader(shaderTest())->unref(); // test compose shader | 453 paint.setShader(shaderTest())->unref(); // test compose shader |
454 canvas->drawRect(rect2, paint); | 454 canvas->drawRect(rect2, paint); |
455 paint.setShader(NULL); | 455 paint.setShader(nullptr); |
456 | 456 |
457 canvas->restore(); | 457 canvas->restore(); |
458 // text | 458 // text |
459 canvas->translate(0, SkIntToScalar(60)); | 459 canvas->translate(0, SkIntToScalar(60)); |
460 canvas->save(); | 460 canvas->save(); |
461 paint.setColor(SK_ColorGRAY); | 461 paint.setColor(SK_ColorGRAY); |
462 canvas->drawPosText(ascii, asciiLength, pos.begin(), paint); | 462 canvas->drawPosText(ascii, asciiLength, pos.begin(), paint); |
463 canvas->drawPosText(ascii, asciiLength, pos2.begin(), paint); | 463 canvas->drawPosText(ascii, asciiLength, pos2.begin(), paint); |
464 | 464 |
465 canvas->translate(SkIntToScalar(50), 0); | 465 canvas->translate(SkIntToScalar(50), 0); |
466 paint.setColor(SK_ColorCYAN); | 466 paint.setColor(SK_ColorCYAN); |
467 canvas->drawText(utf8, sizeof(utf8) - 1, x, y, paint); | 467 canvas->drawText(utf8, sizeof(utf8) - 1, x, y, paint); |
468 | 468 |
469 canvas->translate(SkIntToScalar(30), 0); | 469 canvas->translate(SkIntToScalar(30), 0); |
470 paint.setColor(SK_ColorMAGENTA); | 470 paint.setColor(SK_ColorMAGENTA); |
471 paint.setTextEncoding(SkPaint::kUTF16_TextEncoding); | 471 paint.setTextEncoding(SkPaint::kUTF16_TextEncoding); |
472 matrix.setTranslate(SkIntToScalar(10), SkIntToScalar(10)); | 472 matrix.setTranslate(SkIntToScalar(10), SkIntToScalar(10)); |
473 canvas->drawTextOnPath((void*) utf16, sizeof(utf16), path, &matrix, pain
t); | 473 canvas->drawTextOnPath((void*) utf16, sizeof(utf16), path, &matrix, pain
t); |
474 canvas->translate(0, SkIntToScalar(20)); | 474 canvas->translate(0, SkIntToScalar(20)); |
475 canvas->drawTextOnPath((void*) utf16simple, sizeof(utf16simple), path, &
matrix, paint); | 475 canvas->drawTextOnPath((void*) utf16simple, sizeof(utf16simple), path, &
matrix, paint); |
476 canvas->restore(); | 476 canvas->restore(); |
477 | 477 |
478 canvas->translate(0, SkIntToScalar(60)); | 478 canvas->translate(0, SkIntToScalar(60)); |
479 paint.setTextEncoding(SkPaint::kUTF8_TextEncoding); | 479 paint.setTextEncoding(SkPaint::kUTF8_TextEncoding); |
480 canvas->restore(); | 480 canvas->restore(); |
481 } | 481 } |
482 | 482 |
483 virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned m
odi) { | 483 virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y, unsigned m
odi) { |
484 fClickPt.set(x, y); | 484 fClickPt.set(x, y); |
485 this->inval(NULL); | 485 this->inval(nullptr); |
486 return this->INHERITED::onFindClickHandler(x, y, modi); | 486 return this->INHERITED::onFindClickHandler(x, y, modi); |
487 } | 487 } |
488 | 488 |
489 SkPathEffect* pathEffectTest() { | 489 SkPathEffect* pathEffectTest() { |
490 static const int gXY[] = { 1, 0, 0, -1, 2, -1, 3, 0, 2, 1, 0, 1 }; | 490 static const int gXY[] = { 1, 0, 0, -1, 2, -1, 3, 0, 2, 1, 0, 1 }; |
491 SkScalar gPhase = 0; | 491 SkScalar gPhase = 0; |
492 SkPath path; | 492 SkPath path; |
493 path.moveTo(SkIntToScalar(gXY[0]), SkIntToScalar(gXY[1])); | 493 path.moveTo(SkIntToScalar(gXY[0]), SkIntToScalar(gXY[1])); |
494 for (unsigned i = 2; i < SK_ARRAY_COUNT(gXY); i += 2) | 494 for (unsigned i = 2; i < SK_ARRAY_COUNT(gXY); i += 2) |
495 path.lineTo(SkIntToScalar(gXY[i]), SkIntToScalar(gXY[i+1])); | 495 path.lineTo(SkIntToScalar(gXY[i]), SkIntToScalar(gXY[i+1])); |
496 path.close(); | 496 path.close(); |
497 path.offset(SkIntToScalar(-6), 0); | 497 path.offset(SkIntToScalar(-6), 0); |
498 SkPathEffect* outer = SkPath1DPathEffect::Create(path, SkIntToScalar(12)
, | 498 SkPathEffect* outer = SkPath1DPathEffect::Create(path, SkIntToScalar(12)
, |
499 gPhase, SkPath1DPathEffect::kRotate_Style); | 499 gPhase, SkPath1DPathEffect::kRotate_Style); |
500 SkPathEffect* inner = SkDiscretePathEffect::Create(SkIntToScalar(2), | 500 SkPathEffect* inner = SkDiscretePathEffect::Create(SkIntToScalar(2), |
501 SkIntToScalar(1)/10); // SkCornerPathEffect(SkIntToScalar(2)); | 501 SkIntToScalar(1)/10); // SkCornerPathEffect(SkIntToScalar(2)); |
502 SkPathEffect* result = SkComposePathEffect::Create(outer, inner); | 502 SkPathEffect* result = SkComposePathEffect::Create(outer, inner); |
503 outer->unref(); | 503 outer->unref(); |
504 inner->unref(); | 504 inner->unref(); |
505 return result; | 505 return result; |
506 } | 506 } |
507 | 507 |
508 SkShader* shaderTest() { | 508 SkShader* shaderTest() { |
509 SkPoint pts[] = { { 0, 0, }, { SkIntToScalar(100), 0 } }; | 509 SkPoint pts[] = { { 0, 0, }, { SkIntToScalar(100), 0 } }; |
510 SkColor colors[] = { SK_ColorRED, SK_ColorBLUE }; | 510 SkColor colors[] = { SK_ColorRED, SK_ColorBLUE }; |
511 SkShader* shaderA = SkGradientShader::CreateLinear(pts, colors, NULL, | 511 SkShader* shaderA = SkGradientShader::CreateLinear(pts, colors, nullptr, |
512 2, SkShader::kClamp_TileMode); | 512 2, SkShader::kClamp_TileMode); |
513 pts[1].set(0, SkIntToScalar(100)); | 513 pts[1].set(0, SkIntToScalar(100)); |
514 SkColor colors2[] = {SK_ColorBLACK, SkColorSetARGB(0x80, 0, 0, 0)}; | 514 SkColor colors2[] = {SK_ColorBLACK, SkColorSetARGB(0x80, 0, 0, 0)}; |
515 SkShader* shaderB = SkGradientShader::CreateLinear(pts, colors2, NULL, | 515 SkShader* shaderB = SkGradientShader::CreateLinear(pts, colors2, nullptr
, |
516 2, SkShader::kClamp_TileMode); | 516 2, SkShader::kClamp_TileMode); |
517 SkXfermode* mode = SkXfermode::Create(SkXfermode::kDstIn_Mode); | 517 SkXfermode* mode = SkXfermode::Create(SkXfermode::kDstIn_Mode); |
518 SkShader* result = new SkComposeShader(shaderA, shaderB, mode); | 518 SkShader* result = new SkComposeShader(shaderA, shaderB, mode); |
519 shaderA->unref(); | 519 shaderA->unref(); |
520 shaderB->unref(); | 520 shaderB->unref(); |
521 mode->unref(); | 521 mode->unref(); |
522 return result; | 522 return result; |
523 } | 523 } |
524 | 524 |
525 virtual void startTest() { | 525 virtual void startTest() { |
(...skipping 17 matching lines...) Expand all Loading... |
543 paint.setAntiAlias(true); | 543 paint.setAntiAlias(true); |
544 paint.setTextSize(SkIntToScalar(48)); | 544 paint.setTextSize(SkIntToScalar(48)); |
545 paint.setTypeface(SkTypeface::CreateFromName("sans-serif", | 545 paint.setTypeface(SkTypeface::CreateFromName("sans-serif", |
546 SkTypeface::kBold)); | 546 SkTypeface::kBold)); |
547 | 547 |
548 SkString str("GOOGLE"); | 548 SkString str("GOOGLE"); |
549 | 549 |
550 for (size_t i = 0; i < SK_ARRAY_COUNT(gRastProcs); i++) { | 550 for (size_t i = 0; i < SK_ARRAY_COUNT(gRastProcs); i++) { |
551 apply_shader(&paint, (int)i); | 551 apply_shader(&paint, (int)i); |
552 | 552 |
553 // paint.setMaskFilter(NULL); | 553 // paint.setMaskFilter(nullptr); |
554 // paint.setColor(SK_ColorBLACK); | 554 // paint.setColor(SK_ColorBLACK); |
555 | 555 |
556 #if 01 | 556 #if 01 |
557 int index = i % SK_ARRAY_COUNT(gLightingColors); | 557 int index = i % SK_ARRAY_COUNT(gLightingColors); |
558 paint.setColorFilter(SkColorFilter::CreateLightingFilter( | 558 paint.setColorFilter(SkColorFilter::CreateLightingFilter( |
559 gLightingColors[index].fMul, | 559 gLightingColors[index].fMul, |
560 gLightingColors[index].fAdd))->unref(); | 560 gLightingColors[index].fAdd))->unref(); |
561 #endif | 561 #endif |
562 | 562 |
563 canvas->drawText(str.c_str(), str.size(), x, y, paint); | 563 canvas->drawText(str.c_str(), str.size(), x, y, paint); |
(...skipping 11 matching lines...) Expand all Loading... |
575 private: | 575 private: |
576 SkPoint fClickPt; | 576 SkPoint fClickPt; |
577 SkBitmap fBug, fTb, fTx; | 577 SkBitmap fBug, fTb, fTx; |
578 typedef SampleView INHERITED; | 578 typedef SampleView INHERITED; |
579 }; | 579 }; |
580 | 580 |
581 ////////////////////////////////////////////////////////////////////////////// | 581 ////////////////////////////////////////////////////////////////////////////// |
582 | 582 |
583 static SkView* MyFactory() { return new DemoView; } | 583 static SkView* MyFactory() { return new DemoView; } |
584 static SkViewRegister reg(MyFactory); | 584 static SkViewRegister reg(MyFactory); |
OLD | NEW |