mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-26 04:22:07 +00:00 
			
		
		
		
	 20e9213cc4
			
		
	
	
		20e9213cc4
		
	
	
	
	
		
			
			This allows clipping your drawing by any path you like! To do this all painting has been wrapped around a new draw_clipped() helper method, which handles the clipping before/after painting. Note: This clipping is currently missing support for intersecting clip paths.
		
			
				
	
	
		
			25 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #import <HTML/Path2D.idl>
 | |
| 
 | |
| // https://html.spec.whatwg.org/multipage/canvas.html#canvasfillrule
 | |
| enum CanvasFillRule { "nonzero", "evenodd" };
 | |
| 
 | |
| // https://html.spec.whatwg.org/multipage/canvas.html#canvasdrawpath
 | |
| interface mixin CanvasDrawPath {
 | |
|     undefined beginPath();
 | |
|     // FIXME: `DOMString` should be `CanvasFillRule`
 | |
|     undefined fill(optional DOMString fillRule = "nonzero");
 | |
|     // FIXME: `DOMString` should be `CanvasFillRule`
 | |
|     undefined fill(Path2D path, optional DOMString fillRule = "nonzero");
 | |
|     undefined stroke();
 | |
|     undefined stroke(Path2D path);
 | |
| 
 | |
|     // FIXME: `DOMString` should be `CanvasFillRule`
 | |
|     undefined clip(optional DOMString fillRule = "nonzero");
 | |
|     // FIXME: `DOMString` should be `CanvasFillRule`
 | |
|     undefined clip(Path2D path, optional DOMString fillRule = "nonzero");
 | |
| 
 | |
|     // FIXME: boolean isPointInPath(unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero");
 | |
|     // FIXME: boolean isPointInPath(Path2D path, unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero");
 | |
|     // FIXME: boolean isPointInStroke(unrestricted double x, unrestricted double y);
 | |
|     // FIXME: boolean isPointInStroke(Path2D path, unrestricted double x, unrestricted double y);
 | |
| };
 |