28 lines
		
	
	
		
			895 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			895 B
		
	
	
	
		
			C++
		
	
	
	
| /*
 | |
|  * Copyright 2019 Google LLC.
 | |
|  *
 | |
|  * Use of this source code is governed by a BSD-style license that can be
 | |
|  * found in the LICENSE file.
 | |
|  */
 | |
| 
 | |
| #include "gm/gm.h"
 | |
| #include "include/core/SkCanvas.h"
 | |
| #include "include/core/SkPathBuilder.h"
 | |
| 
 | |
| // Repro case for http://skbug.com/9453
 | |
| DEF_SIMPLE_GM(inverseclip, canvas, 400, 400) {
 | |
|     SkPathBuilder clip;
 | |
|     clip.setFillType(SkPathFillType::kInverseWinding);
 | |
|     clip.moveTo(195.448f, 31);
 | |
|     clip.cubicTo(97.9925f, 31, 18.99f, 105.23f, 18.99f, 196.797f);
 | |
|     clip.cubicTo(18.99f, 288.365f, 97.9925f, 362.595f, 195.448f, 362.595f);
 | |
|     clip.cubicTo(292.905f, 362.595f, 371.905f, 288.365f, 371.905f, 196.797f);
 | |
|     clip.cubicTo(371.905f, 105.23f, 292.905f, 31, 195.448f, 31);
 | |
|     clip.close();
 | |
|     canvas->clipPath(clip.detach(), true);
 | |
| 
 | |
|     SkPaint paint;
 | |
|     paint.setColor(SK_ColorBLUE);
 | |
|     canvas->drawRect(SkRect::MakeWH(400, 400), paint);
 | |
| }
 |