mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-27 18:17:22 +02:00
As it turns out, SkPath already behaves the way we need for SVG and HTML canvas elements. Less work for us, yay! This removes a 5% item from the profile when scrolling on https://imdb.com/ Note that there's a tiny screenshot test expectation change due to minor antialiasing differences when we no longer do our redundant subpath modifications.
43 lines
1.1 KiB
HTML
43 lines
1.1 KiB
HTML
<!DOCTYPE html>
|
|
<link rel="match" href="../expected/canvas-path-rect-ref.html" />
|
|
<meta name="fuzzy" content="maxDifference=0-1;totalPixels=0-158">
|
|
<style>
|
|
* {
|
|
margin: 0;
|
|
}
|
|
body {
|
|
background-color: white;
|
|
}
|
|
</style>
|
|
<canvas width=500 height=500></canvas>
|
|
<script>
|
|
function drawRect() {
|
|
var canvas = document.querySelector("canvas");
|
|
var ctx = canvas.getContext("2d");
|
|
ctx.fillStyle = 'black';
|
|
ctx.fillRect(0, 0, 500, 500);
|
|
|
|
ctx.fillStyle = 'red';
|
|
ctx.beginPath();
|
|
ctx.rect(10, 20, 150, 100);
|
|
ctx.fill();
|
|
|
|
ctx.fillStyle = 'yellow';
|
|
ctx.beginPath();
|
|
ctx.roundRect(50, 310, 100, 100, 25);
|
|
ctx.fill('evenodd');
|
|
|
|
ctx.fillStyle = 'green';
|
|
ctx.beginPath();
|
|
ctx.rect(200, 210, 100, 100);
|
|
ctx.fill('evenodd');
|
|
|
|
ctx.rotate(0.2);
|
|
ctx.fillStyle = 'orange';
|
|
ctx.beginPath();
|
|
ctx.roundRect(325, 300, 100, 100, [ { x: 5, y: 20 }, 10, { x: 15, y: 30 }, 20 ]);
|
|
ctx.fill('evenodd');
|
|
}
|
|
drawRect();
|
|
</script>
|