1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-23 15:49:44 -05:00

chore: add types for Deno.UnsafeWindowSurface (#22010)

This commit is contained in:
Divy Srivastava 2024-01-22 02:21:45 +05:30 committed by GitHub
parent 692738232b
commit 1b9f0cb452
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 95 additions and 41 deletions

View file

@ -9096,11 +9096,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3139,
"line": 3165,
"character": 4
},
"end": {
"line": 3139,
"line": 3165,
"character": 55
}
}
@ -9114,11 +9114,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3309,
"line": 3335,
"character": 4
},
"end": {
"line": 3309,
"line": 3335,
"character": 47
}
}
@ -9150,11 +9150,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3117,
"line": 3143,
"character": 4
},
"end": {
"line": 3120,
"line": 3146,
"character": 26
}
}
@ -9168,11 +9168,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3287,
"line": 3313,
"character": 4
},
"end": {
"line": 3290,
"line": 3316,
"character": 26
}
}
@ -9186,11 +9186,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3413,
"line": 3439,
"character": 4
},
"end": {
"line": 3413,
"line": 3439,
"character": 39
}
}
@ -9204,11 +9204,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3576,
"line": 3602,
"character": 4
},
"end": {
"line": 3576,
"line": 3602,
"character": 43
}
}
@ -9222,11 +9222,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3625,
"line": 3651,
"character": 4
},
"end": {
"line": 3625,
"line": 3651,
"character": 39
}
}
@ -9240,11 +9240,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3744,
"line": 3770,
"character": 4
},
"end": {
"line": 3744,
"line": 3770,
"character": 39
}
}
@ -9258,11 +9258,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3897,
"line": 3923,
"character": 4
},
"end": {
"line": 3897,
"line": 3923,
"character": 39
}
}
@ -9276,11 +9276,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 4056,
"line": 4082,
"character": 4
},
"end": {
"line": 4056,
"line": 4082,
"character": 43
}
}
@ -9294,11 +9294,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3140,
"line": 3166,
"character": 4
},
"end": {
"line": 3143,
"line": 3169,
"character": 31
}
}
@ -9312,11 +9312,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3310,
"line": 3336,
"character": 4
},
"end": {
"line": 3313,
"line": 3339,
"character": 31
}
}
@ -9330,11 +9330,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3125,
"line": 3151,
"character": 4
},
"end": {
"line": 3128,
"line": 3154,
"character": 30
}
}
@ -9348,11 +9348,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3295,
"line": 3321,
"character": 4
},
"end": {
"line": 3298,
"line": 3324,
"character": 30
}
}
@ -9366,11 +9366,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3329,
"line": 3355,
"character": 2
},
"end": {
"line": 3334,
"line": 3360,
"character": 4
}
}
@ -9384,11 +9384,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3440,
"line": 3466,
"character": 2
},
"end": {
"line": 3451,
"line": 3477,
"character": 4
}
}
@ -9402,11 +9402,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3645,
"line": 3671,
"character": 2
},
"end": {
"line": 3652,
"line": 3678,
"character": 4
}
}
@ -9420,11 +9420,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3121,
"line": 3147,
"character": 4
},
"end": {
"line": 3124,
"line": 3150,
"character": 31
}
}
@ -9438,11 +9438,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3291,
"line": 3317,
"character": 4
},
"end": {
"line": 3294,
"line": 3320,
"character": 31
}
}
@ -9456,11 +9456,11 @@ fn lsp_workspace_symbol() {
"uri": "deno:/asset/lib.deno.unstable.d.ts",
"range": {
"start": {
"line": 3926,
"line": 3952,
"character": 2
},
"end": {
"line": 3939,
"line": 3965,
"character": 4
}
}

View file

@ -1,6 +1,6 @@
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { assert, assertEquals } from "./test_util.ts";
import { assert, assertEquals, assertThrows } from "./test_util.ts";
let isCI: boolean;
try {
@ -227,6 +227,15 @@ Deno.test({
Deno.close(Number(resources[resources.length - 1]));
});
Deno.test(function webgpuNullWindowSurfaceThrows() {
assertThrows(
() => {
// @ts-expect-error: runtime test for null handle
new Deno.UnsafeWindowSurface("cocoa", null, null);
},
);
});
async function checkIsWsl() {
return Deno.build.os === "linux" && await hasMicrosoftProcVersion();

View file

@ -3,6 +3,7 @@
/// <reference no-default-lib="true" />
/// <reference lib="deno.ns" />
/// <reference lib="deno.broadcast_channel" />
/// <reference lib="deno.webgpu" />
/// <reference lib="esnext" />
/// <reference lib="es2022.intl" />
@ -764,6 +765,31 @@ declare namespace Deno {
symbols: Const<S>,
): DynamicLibrary<S>;
/** **UNSTABLE**: New API, yet to be vetted.
*
* Creates a presentable WebGPU surface from given window and
* display handles.
*
* The parameters correspond to the table below:
*
* | system | winHandle | displayHandle |
* | ----------------- | ------------- | --------------- |
* | "cocoa" (macOS) | `NSView*` | - |
* | "win32" (Windows) | `HWND` | `HINSTANCE` |
* | "x11" (Linux) | Xlib `Window` | Xlib `Display*` |
*
* @category WebGPU
*/
export class UnsafeWindowSurface {
constructor(
system: "cocoa" | "win32" | "x11",
windowHandle: UnsafePointerView,
displayHandle: UnsafePointerView | null,
);
getContext(context: "webgpu"): GPUCanvasContext;
present(): void;
}
/** **UNSTABLE**: New API, yet to be vetted.
*
* These are unstable options which can be used with {@linkcode Deno.run}.

View file

@ -1313,3 +1313,22 @@ declare interface GPUExtent3DDict {
/** @category WebGPU */
declare type GPUExtent3D = number[] | GPUExtent3DDict;
/** @category WebGPU */
declare type GPUCanvasAlphaMode = "opaque" | "premultiplied";
/** @category WebGPU */
declare interface GPUCanvasConfiguration {
device: GPUDevice;
format: GPUTextureFormat;
usage?: GPUTextureUsageFlags;
viewFormats?: GPUTextureFormat[];
colorSpace?: "srgb" | "display-p3";
alphaMode?: GPUCanvasAlphaMode;
}
/** @category WebGPU */
declare interface GPUCanvasContext {
configure(configuration: GPUCanvasConfiguration): undefined;
unconfigure(): undefined;
getCurrentTexture(): GPUTexture;
}