File: imageBitmapRendering-transferFromImageBitmap-webgl.html

package info (click to toggle)
firefox 145.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,653,528 kB
  • sloc: cpp: 7,594,999; javascript: 6,459,658; ansic: 3,752,909; python: 1,403,455; xml: 629,809; asm: 438,679; java: 186,421; sh: 67,287; makefile: 19,169; objc: 13,086; perl: 12,982; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10
file content (38 lines) | stat: -rw-r--r-- 1,136 bytes parent folder | download | duplicates (18)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE html>
<link rel="match" href="imageBitmapRendering-transferFromImageBitmap-webgl-expected.html" />

<body>
  <p>
    Test creating an ImageBitmap from the transferToImageBitmap of a webgl OffscreenCanvas, and then
    transferred to an ImageBitmapRenderingContext.
  </p>
  <canvas id="canvas" width="300" height="300"></canvas>
</body>
<script>

  function drawSquares(ctx) {
    ctx.enable(ctx.SCISSOR_TEST);
    ctx.scissor(0, 150, 150, 150);
    ctx.clearColor(1, 0, 0, 1);
    ctx.clear(ctx.COLOR_BUFFER_BIT);
    ctx.scissor(150, 150, 300, 150);
    ctx.clearColor(0, 1, 0, 1);
    ctx.clear(ctx.COLOR_BUFFER_BIT);
    ctx.scissor(0, 0, 150, 150);
    ctx.clearColor(0, 0, 1, 1);
    ctx.clear(ctx.COLOR_BUFFER_BIT);
  }

  async function runTest() {
    const offscreen = new OffscreenCanvas(300, 300);
    const ctxOffscreen = offscreen.getContext('webgl');
    drawSquares(ctxOffscreen);
    const image = offscreen.transferToImageBitmap();
    const canvas = document.getElementById('canvas');
    const ctx = canvas.getContext('bitmaprenderer');
    ctx.transferFromImageBitmap(image);
  }

  runTest();

</script>