summaryrefslogtreecommitdiff
path: root/apps/web/src/services/renderer/canvas-utils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/services/renderer/canvas-utils.ts')
-rw-r--r--apps/web/src/services/renderer/canvas-utils.ts19
1 files changed, 10 insertions, 9 deletions
diff --git a/apps/web/src/services/renderer/canvas-utils.ts b/apps/web/src/services/renderer/canvas-utils.ts
index 093168e6..6981e6d5 100644
--- a/apps/web/src/services/renderer/canvas-utils.ts
+++ b/apps/web/src/services/renderer/canvas-utils.ts
@@ -1,16 +1,17 @@
-export function createOffscreenCanvas({
+export function createCanvasSurface({
width,
height,
}: {
width: number;
height: number;
-}): OffscreenCanvas | HTMLCanvasElement {
- try {
- return new OffscreenCanvas(width, height);
- } catch {
- const canvas = document.createElement("canvas");
- canvas.width = width;
- canvas.height = height;
- return canvas;
+}): {
+ canvas: OffscreenCanvas;
+ context: OffscreenCanvasRenderingContext2D;
+} {
+ const canvas = new OffscreenCanvas(width, height);
+ const context = canvas.getContext("2d");
+ if (!context) {
+ throw new Error("Failed to create 2D rendering context");
}
+ return { canvas, context };
}