<!DOCTYPE html>
<html class="reftest-wait">
<link rel="help" href="https://drafts.css-houdini.org/css-paint-api/">
<link rel="match" href="paint-function-arguments-ref.html">
<style>
:root {
  --color1:rgb(50, 100, 150);
  --color2:rgb(150, 100, 50);
  --length1:50px;
}

.container {
  width: 200px;
  height: 200px;
}

#canvas-box-1 {
  background-image: paint(box, var(--color1), var(--length1));
}

#canvas-box-2 {
  background-image: paint(box, var(--color2), 100px);
}

#background {
  background-color: yellow;
  display: inline-block;
}
</style>
<script src="/common/reftest-wait.js"></script>
<script src="/common/worklet-reftest.js"></script>
<body>

<div id="background">
  <div id="canvas-box-1" class="container"></div>
  <div id="canvas-box-2" class="container"></div>
</div>

<script id="code" type="text/worklet">
registerPaint('box', class {
    static get contextOptions() { return {alpha: true}; }
    static get inputArguments() { return ['<color>', '<length>']; }
    paint(ctx, geom, properties, args) {
        ctx.fillStyle = args[0].toString();
        let size = parseInt(args[1].toString());
        ctx.fillRect(40, 40, size, size);
    }
});

</script>

<script>
  importWorkletAndTerminateTestAfterAsyncPaint(CSS.paintWorklet, document.getElementById('code').textContent);
</script>
</body>
</html>
