25 lines
		
	
	
		
			893 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			893 B
		
	
	
	
		
			C++
		
	
	
	
| // Copyright 2020 Google LLC.
 | |
| // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
 | |
| #include "tools/fiddle/examples.h"
 | |
| REG_FIDDLE(radial_gradient_test, 256, 256, false, 0) {
 | |
| void draw(SkCanvas* canvas) {
 | |
| #define SIZE 121
 | |
|     SkScalar half = SIZE * 0.5f;
 | |
|     const SkColor preColor = 0xFFFF0000;   // clamp color before start
 | |
|     const SkColor postColor = 0xFF0000FF;  // clamp color after end
 | |
|     const SkColor color0 = 0xFF000000;
 | |
|     const SkColor color1 = 0xFF00FF00;
 | |
| 
 | |
|     SkColor cs[] = {preColor, color0, color1, postColor};
 | |
|     SkScalar pos[] = {0, 0, 1, 1};
 | |
| 
 | |
|     auto s = SkGradientShader::MakeRadial({half, half}, half - 10, cs, pos, 4,
 | |
|                                           SkTileMode::kClamp);
 | |
| 
 | |
|     SkPaint p;
 | |
|     const SkRect rect = SkRect::MakeWH(SIZE, SIZE);
 | |
|     p.setShader(s);
 | |
|     canvas->drawRect(rect, p);
 | |
| }
 | |
| }  // END FIDDLE
 |