summaryrefslogtreecommitdiffstats
path: root/layout/reftests/font-face/colrv1-05-ref.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /layout/reftests/font-face/colrv1-05-ref.html
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'layout/reftests/font-face/colrv1-05-ref.html')
-rw-r--r--layout/reftests/font-face/colrv1-05-ref.html89
1 files changed, 89 insertions, 0 deletions
diff --git a/layout/reftests/font-face/colrv1-05-ref.html b/layout/reftests/font-face/colrv1-05-ref.html
new file mode 100644
index 0000000000..c58ef650db
--- /dev/null
+++ b/layout/reftests/font-face/colrv1-05-ref.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html>
+<html>
+<meta charset=utf-8>
+<title>COLRv1 font test: compositing operators</title>
+<style>
+.ref { margin: 10px; padding: 10px; line-height: 0; font-size: 0; }
+span { display: inline-block; width: 100px; height: 100px; position: relative; }
+</style>
+
+<p>Some glyphs using PAINT_COMPOSITE:</p>
+<!-- using blocks to imitate the composited layers in CAhem.ttf -->
+<div class="ref">
+ <span class=g>
+ <div style="background: red; width: 70px; height: 70px; position: absolute; top: 0px; left: 0px;"></div>
+ <div style="background: blue; width: 70px; height: 70px; position: absolute; bottom: 0px; right: 0px;"></div>
+ </span>
+ <span class=h>
+ <div style="background: blue; width: 70px; height: 70px; position: absolute; bottom: 0px; right: 0px;"></div>
+ <div style="background: red; width: 40px; height: 40px; position: absolute; top: 30px; left: 30px;"></div>
+ </span>
+ <span class=i>
+ <div style="background: blue; width: 70px; height: 70px; position: absolute; bottom: 0px; right: 0px;"></div>
+ <div style="background: white; width: 40px; height: 40px; position: absolute; top: 30px; left: 30px;"></div>
+ </span>
+ <span class=j>
+ <div style="background: red; width: 40px; height: 40px; position: absolute; top: 30px; left: 30px;"></div>
+ </span>
+ <span class=k>
+ <div style="background: red; width: 70px; height: 70px; position: absolute; top: 0px; left: 0px;"></div>
+ <div style="background: blue; width: 70px; height: 70px; position: absolute; bottom: 0px; right: 0px;"></div>
+ <div style="background: black; width: 40px; height: 40px; position: absolute; top: 30px; left: 30px;"></div>
+ </span>
+ <span class=l>
+ <div style="background: red; width: 70px; height: 70px; position: absolute; top: 0px; left: 0px;"></div>
+ <div style="background: blue; width: 70px; height: 70px; position: absolute; bottom: 0px; right: 0px;"></div>
+ <div style="background: magenta; width: 40px; height: 40px; position: absolute; top: 30px; left: 30px;"></div>
+ </span>
+</div>
+
+<p>And painting them to a canvas element:</p>
+<canvas id=c width=600 height=100></canvas>
+<script>
+ctx = c.getContext("2d");
+
+// glyph "g"
+ctx.fillStyle = "red";
+ctx.fillRect(0, 0, 70, 70);
+ctx.fillStyle = "blue";
+ctx.fillRect(30, 30, 70, 70);
+ctx.translate(100, 0);
+
+// glyph "h"
+ctx.fillStyle = "blue";
+ctx.fillRect(30, 30, 70, 70);
+ctx.fillStyle = "red";
+ctx.fillRect(30, 30, 40, 40);
+ctx.translate(100, 0);
+
+// glyph "i"
+ctx.fillStyle = "blue";
+ctx.fillRect(30, 30, 70, 70);
+ctx.fillStyle = "white";
+ctx.fillRect(30, 30, 40, 40);
+ctx.translate(100, 0);
+
+// glyph "j"
+ctx.fillStyle = "red";
+ctx.fillRect(30, 30, 40, 40);
+ctx.translate(100, 0);
+
+// glyph "k"
+ctx.fillStyle = "red";
+ctx.fillRect(0, 0, 70, 70);
+ctx.fillStyle = "blue";
+ctx.fillRect(30, 30, 70, 70);
+ctx.fillStyle = "black";
+ctx.fillRect(30, 30, 40, 40);
+ctx.translate(100, 0);
+
+// glyph "l"
+ctx.fillStyle = "red";
+ctx.fillRect(0, 0, 70, 70);
+ctx.fillStyle = "blue";
+ctx.fillRect(30, 30, 70, 70);
+ctx.fillStyle = "magenta";
+ctx.fillRect(30, 30, 40, 40);
+ctx.translate(100, 0);
+
+</script>