quickwin 2.3.1 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +1 -2
- package/README.md +1 -2
- package/constants.ts +15 -0
- package/enum_map.d.ts +3 -0
- package/examples/PdfCanvas.js +1 -1
- package/examples/PdfCanvas.tsx +2 -2
- package/examples/execd/main.js +334 -188
- package/examples/pdf_preview2.js +76 -67
- package/examples/pdf_preview2.ts +84 -64
- package/examples/pdf_viewer.js +4932 -1029
- package/examples/pdf_viewer.tsx +11 -22
- package/examples/test_gallery.js +308 -143
- package/examples/test_gallery.tsx +12 -7
- package/examples/test_react_lazy.js +295 -133
- package/examples/test_react_lazy.tsx +4 -3
- package/examples/test_react_listbox.js +293 -132
- package/examples/test_react_listbox.tsx +3 -2
- package/examples/test_root_window.js +283 -126
- package/examples/test_tab.js +295 -133
- package/examples/test_tab.tsx +4 -3
- package/examples/tray_demo.js +37 -30
- package/examples/tray_demo.tsx +39 -32
- package/lib/abort.d.ts +21 -0
- package/lib/assert.d.ts +2 -0
- package/lib/bitmap.d.ts +7 -0
- package/lib/bitmap.js +40 -0
- package/lib/cache-utils.d.ts +6 -0
- package/lib/certs.d.ts +1 -0
- package/lib/certs.js +31 -3
- package/lib/dpi.d.ts +9 -0
- package/lib/dpi.js +30 -0
- package/lib/dumpRects.d.ts +2 -0
- package/lib/dumpRects.js +14 -7
- package/lib/exec-log.d.ts +23 -0
- package/lib/fetch.d.ts +4 -0
- package/lib/ffi/bind.d.ts +70 -0
- package/lib/ffi/bind.js +5 -4
- package/lib/ffi/ctype.d.ts +117 -0
- package/lib/ffi/index.d.ts +2 -0
- package/lib/ffi/struct.d.ts +174 -0
- package/lib/http-common.d.ts +143 -0
- package/lib/http-server.d.ts +59 -0
- package/lib/polyfill.d.ts +22 -0
- package/lib/react-qw/components/Button.d.ts +9 -0
- package/lib/react-qw/components/CheckBox.d.ts +11 -0
- package/lib/react-qw/components/ComboBox.d.ts +11 -0
- package/lib/react-qw/components/DateTimePicker.d.ts +15 -0
- package/lib/react-qw/components/DateTimePicker.js +6 -7
- package/lib/react-qw/components/Input.d.ts +15 -0
- package/lib/react-qw/components/Input.js +5 -1
- package/lib/react-qw/components/Link.d.ts +12 -0
- package/lib/react-qw/components/ListBox.d.ts +13 -0
- package/lib/react-qw/components/ListView.d.ts +37 -0
- package/lib/react-qw/components/ListView.js +8 -6
- package/lib/react-qw/components/PathPicker.d.ts +23 -0
- package/lib/react-qw/components/ProgressBar.d.ts +9 -0
- package/lib/react-qw/components/RadioButton.d.ts +11 -0
- package/lib/react-qw/components/ScrollView.d.ts +9 -0
- package/lib/react-qw/components/ScrollView.js +28 -22
- package/lib/react-qw/components/Slider.d.ts +12 -0
- package/lib/react-qw/components/Tab.d.ts +14 -0
- package/lib/react-qw/components/Tooltip.d.ts +7 -0
- package/lib/react-qw/components/TreeView.d.ts +18 -0
- package/lib/react-qw/components/index.d.ts +16 -0
- package/lib/react-qw/index.d.ts +24 -0
- package/lib/react-qw/index.js +7 -5
- package/lib/react-qw/layout.d.ts +29 -0
- package/lib/react-qw/nmhdr.d.ts +1 -0
- package/lib/react-qw/props.d.ts +2 -0
- package/lib/react-qw/props.js +3 -3
- package/lib/react-qw/reconciler.d.ts +21 -0
- package/lib/react-qw/reconciler.js +12 -17
- package/lib/stream.d.ts +20 -0
- package/lib/text-codec.d.ts +39 -0
- package/lib/text-measure.d.ts +14 -0
- package/lib/text-measure.js +9 -6
- package/lib/url.d.ts +54 -0
- package/lib/websocket.d.ts +73 -0
- package/lib/windows/{advapi32.ts → advapi32.d.ts} +6 -21
- package/lib/windows/comctl32.d.ts +14 -0
- package/lib/windows/comctl32.js +3 -2
- package/lib/windows/comdlg32.d.ts +4 -0
- package/lib/windows/{gdi32.ts → gdi32.d.ts} +184 -97
- package/lib/windows/gdi32.js +28 -6
- package/lib/windows/{kernel32.ts → kernel32.d.ts} +145 -113
- package/lib/windows/kernel32.js +9 -0
- package/lib/windows/{msimg32.ts → msimg32.d.ts} +11 -14
- package/lib/windows/ntdll.d.ts +5 -0
- package/lib/windows/ole32.d.ts +3 -0
- package/lib/windows/{psapi.ts → psapi.d.ts} +9 -18
- package/lib/windows/shell32.d.ts +51 -0
- package/lib/windows/shell32.js +11 -2
- package/lib/windows/structs.d.ts +3141 -0
- package/lib/windows/structs.js +51 -0
- package/lib/windows/user32.d.ts +623 -0
- package/lib/windows/user32.js +6 -5
- package/lib/windows/version.d.ts +27 -0
- package/lib/windows/{winspool.ts → winspool.d.ts} +18 -32
- package/main.js +13 -5
- package/package.json +16 -7
- package/quickwin.d.ts +13 -115
- package/qwin-nowasm-x86.exe +0 -0
- package/qwin-nowasm.exe +0 -0
- package/qwin-x86.exe +0 -0
- package/qwin.exe +0 -0
- package/test/bench_ffi_callraw.js +3 -4
- package/test/bench_ffi_callraw.ts +3 -4
- package/test/debug/mupdf_debug.js +4 -22
- package/test/debug/wasm_export_debug.js +2 -12
- package/test/debug/wasm_names.js +3 -13
- package/test/example.pdf +0 -0
- package/test/mupdf-cdn.js +40 -0
- package/test/mupdf-cdn.ts +43 -0
- package/test/test_ffi.js +8 -9
- package/test/test_ffi.ts +8 -9
- package/test/test_ffi_abi.js +6 -6
- package/test/test_ffi_abi.ts +8 -8
- package/test/test_ffi_windows.js +82 -11
- package/test/test_ffi_windows.ts +85 -11
- package/test/test_gdi_draw.js +3 -3
- package/test/test_gdi_draw.ts +4 -4
- package/test/test_mupdf_render.js +4 -22
- package/test/test_mupdf_render.ts +4 -23
- package/test/test_mupdf_twice.js +4 -19
- package/test/test_mupdf_twice.ts +4 -20
- package/test/test_mupdf_wasm.js +10 -4
- package/test/test_mupdf_wasm.ts +6 -4
- package/test/test_react_complex.js +316 -140
- package/test/test_react_counter.js +295 -133
- package/test/test_react_flex.js +297 -138
- package/test/test_react_hidden.js +296 -134
- package/test/test_react_listview_link.js +288 -131
- package/test/test_react_notify.js +290 -133
- package/test/test_react_render.js +295 -133
- package/lib/abort.ts +0 -69
- package/lib/assert.ts +0 -7
- package/lib/cache-utils.ts +0 -40
- package/lib/certs.ts +0 -229
- package/lib/dumpRects.ts +0 -26
- package/lib/exec-log.ts +0 -30
- package/lib/fetch.ts +0 -589
- package/lib/ffi/bind.ts +0 -539
- package/lib/ffi/ctype.ts +0 -371
- package/lib/ffi/index.ts +0 -6
- package/lib/ffi/struct.ts +0 -780
- package/lib/http-common.ts +0 -441
- package/lib/http-server.ts +0 -604
- package/lib/polyfill.ts +0 -171
- package/lib/react-qw/components/index.ts +0 -17
- package/lib/react-qw/index.ts +0 -96
- package/lib/react-qw/layout.ts +0 -111
- package/lib/react-qw/nmhdr.ts +0 -7
- package/lib/react-qw/props.ts +0 -41
- package/lib/react-qw/reconciler.ts +0 -383
- package/lib/stream.ts +0 -22
- package/lib/text-codec.ts +0 -171
- package/lib/text-measure.ts +0 -41
- package/lib/url.ts +0 -201
- package/lib/websocket.ts +0 -600
- package/lib/windows/comctl32.ts +0 -19
- package/lib/windows/comdlg32.ts +0 -10
- package/lib/windows/ntdll.ts +0 -11
- package/lib/windows/ole32.ts +0 -9
- package/lib/windows/shell32.ts +0 -39
- package/lib/windows/structs.ts +0 -752
- package/lib/windows/user32.ts +0 -619
- package/lib/windows/version.ts +0 -35
- package/vendor/mupdf-wasm/mupdf-wasm.d.ts +0 -571
- package/vendor/mupdf-wasm/mupdf-wasm.js +0 -2749
- package/vendor/mupdf-wasm/mupdf-wasm.wasm +0 -0
- package/vendor/mupdf-wasm/mupdf.d.ts +0 -939
- package/vendor/mupdf-wasm/mupdf.js +0 -3317
package/lib/url.d.ts
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
declare global {
|
|
3
|
+
interface URLSearchParams extends URLSearchParamsImpl {
|
|
4
|
+
}
|
|
5
|
+
var URLSearchParams: typeof URLSearchParamsImpl;
|
|
6
|
+
interface URL extends URLImpl {
|
|
7
|
+
}
|
|
8
|
+
var URL: typeof URLImpl;
|
|
9
|
+
}
|
|
10
|
+
declare class URLSearchParamsImpl {
|
|
11
|
+
private _list;
|
|
12
|
+
constructor(init?: string | [string, string][] | Record<string, string>);
|
|
13
|
+
append(key: string, value: string): void;
|
|
14
|
+
delete(key: string): void;
|
|
15
|
+
get(key: string): string | null;
|
|
16
|
+
getAll(key: string): string[];
|
|
17
|
+
has(key: string): boolean;
|
|
18
|
+
set(key: string, value: string): void;
|
|
19
|
+
sort(): void;
|
|
20
|
+
forEach(fn: (v: string, k: string) => void): void;
|
|
21
|
+
keys(): IterableIterator<string>;
|
|
22
|
+
values(): IterableIterator<string>;
|
|
23
|
+
entries(): IterableIterator<[string, string]>;
|
|
24
|
+
[Symbol.iterator](): IterableIterator<[string, string]>;
|
|
25
|
+
toString(): string;
|
|
26
|
+
get size(): number;
|
|
27
|
+
}
|
|
28
|
+
declare class URLImpl {
|
|
29
|
+
private _scheme;
|
|
30
|
+
private _username;
|
|
31
|
+
private _password;
|
|
32
|
+
private _hostname;
|
|
33
|
+
private _port;
|
|
34
|
+
private _pathname;
|
|
35
|
+
private _query;
|
|
36
|
+
private _fragment;
|
|
37
|
+
private _searchParams;
|
|
38
|
+
constructor(url: string, base?: string);
|
|
39
|
+
private _apply;
|
|
40
|
+
get href(): string;
|
|
41
|
+
get protocol(): string;
|
|
42
|
+
get hostname(): string;
|
|
43
|
+
get port(): string;
|
|
44
|
+
get pathname(): string;
|
|
45
|
+
get search(): string;
|
|
46
|
+
get hash(): string;
|
|
47
|
+
get host(): string;
|
|
48
|
+
get origin(): string;
|
|
49
|
+
get username(): string;
|
|
50
|
+
get password(): string;
|
|
51
|
+
get searchParams(): URLSearchParams;
|
|
52
|
+
toString(): string;
|
|
53
|
+
toJSON(): string;
|
|
54
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import '../lib/polyfill.js';
|
|
2
|
+
declare enum State {
|
|
3
|
+
CONNECTING = 0,
|
|
4
|
+
OPEN = 1,
|
|
5
|
+
CLOSING = 2,
|
|
6
|
+
CLOSED = 3
|
|
7
|
+
}
|
|
8
|
+
interface WebSocketOptions {
|
|
9
|
+
headers?: Record<string, string>;
|
|
10
|
+
/** Non-standard: when false, TLS certificate verification is skipped
|
|
11
|
+
* (mirrors Node's tls.connect rejectUnauthorized option). */
|
|
12
|
+
rejectUnauthorized?: boolean;
|
|
13
|
+
}
|
|
14
|
+
declare class WebSocketImpl {
|
|
15
|
+
readonly url: string;
|
|
16
|
+
readyState: State;
|
|
17
|
+
onopen: ((event: Event) => void) | null;
|
|
18
|
+
onclose: ((event: CloseEvent) => void) | null;
|
|
19
|
+
onerror: ((event: Event) => void) | null;
|
|
20
|
+
onmessage: ((event: MessageEvent) => void) | null;
|
|
21
|
+
private _options;
|
|
22
|
+
private _sock;
|
|
23
|
+
private _ssl;
|
|
24
|
+
private _ctx;
|
|
25
|
+
private _readBuffer;
|
|
26
|
+
private _state;
|
|
27
|
+
private _processingHandshake;
|
|
28
|
+
static readonly CONNECTING = State.CONNECTING;
|
|
29
|
+
static readonly OPEN = State.OPEN;
|
|
30
|
+
static readonly CLOSING = State.CLOSING;
|
|
31
|
+
static readonly CLOSED = State.CLOSED;
|
|
32
|
+
private _closeCode;
|
|
33
|
+
private _closeReason;
|
|
34
|
+
constructor(url: string, options?: WebSocketOptions);
|
|
35
|
+
send(data: string | ArrayBuffer | Uint8Array): void;
|
|
36
|
+
close(code?: number, reason?: string): void;
|
|
37
|
+
private _connect;
|
|
38
|
+
private _sendRaw;
|
|
39
|
+
private _sendRawStr;
|
|
40
|
+
private _onData;
|
|
41
|
+
private _setState;
|
|
42
|
+
private _dispatchEvent;
|
|
43
|
+
private _fireError;
|
|
44
|
+
private _cleanup;
|
|
45
|
+
}
|
|
46
|
+
declare class Event {
|
|
47
|
+
readonly type: string;
|
|
48
|
+
constructor(type: string, _init?: unknown);
|
|
49
|
+
}
|
|
50
|
+
declare class MessageEvent {
|
|
51
|
+
readonly type: string;
|
|
52
|
+
readonly data: unknown;
|
|
53
|
+
constructor(type: string, init: {
|
|
54
|
+
data: unknown;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
declare class CloseEvent {
|
|
58
|
+
readonly type: string;
|
|
59
|
+
readonly code: number;
|
|
60
|
+
readonly reason: string;
|
|
61
|
+
readonly wasClean: boolean;
|
|
62
|
+
constructor(type: string, init: {
|
|
63
|
+
code?: number;
|
|
64
|
+
reason?: string;
|
|
65
|
+
wasClean?: boolean;
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
declare global {
|
|
69
|
+
interface WebSocket extends WebSocketImpl {
|
|
70
|
+
}
|
|
71
|
+
var WebSocket: typeof WebSocketImpl;
|
|
72
|
+
}
|
|
73
|
+
export {};
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
// advapi32 绑定(注册表 API;键名/值名一律 W 版 UTF-16)
|
|
2
|
-
import { bind } from '../ffi/bind.js'
|
|
3
|
-
|
|
4
|
-
// dll 名部分应用(工厂转调保泛型 infer,见 lib/windows/user32.ts 头注释)
|
|
5
|
-
const b = <const S extends string>(name: string, sig: S) => bind('advapi32.dll', name, sig)
|
|
6
|
-
|
|
7
1
|
/** 创建/打开子键(子键不存在则创建,含中间层级)
|
|
8
2
|
* @returns 0 = ERROR_SUCCESS
|
|
9
3
|
* @param args_0 hKey 父键:HKey.CURRENT_USER / LOCAL_MACHINE 预定义键,或本族
|
|
@@ -16,9 +10,7 @@ const b = <const S extends string>(name: string, sig: S) => bind('advapi32.dll',
|
|
|
16
10
|
* @param args_6 lpSecurityAttributes 安全描述符(一般 NULL)
|
|
17
11
|
* @param args_7 phkResult 出参:键句柄(PtrArrayBuffer(8),readPtr 按架构读回)
|
|
18
12
|
* @param args_8 lpdwDisposition 出参:新建/已存在标记(可 NULL) */
|
|
19
|
-
export const RegCreateKeyEx
|
|
20
|
-
'<>ptr <WCHAR>ptr u32 <WCHAR>ptr u32 u32@RegAccess <>ptr <BYTE>ptr <BYTE>ptr -> i32')
|
|
21
|
-
|
|
13
|
+
export declare const RegCreateKeyEx: (args_0: import("../ffi/ctype.js").MaybePtr<"">, args_1: string | import("../ffi/ctype.js").MaybePtr<"WCHAR">, args_2: number, args_3: string | import("../ffi/ctype.js").MaybePtr<"WCHAR">, args_4: number, args_5: import("../../constants.js").RegAccess, args_6: import("../ffi/ctype.js").MaybePtr<"">, args_7: import("../ffi/ctype.js").PtrArrayBuffer<any> | import("../ffi/ctype.js").MaybePtr<"BYTE">, args_8: import("../ffi/ctype.js").PtrArrayBuffer<any> | import("../ffi/ctype.js").MaybePtr<"BYTE">) => number;
|
|
22
14
|
/** 打开已有子键(不创建)
|
|
23
15
|
* @returns 0 = ERROR_SUCCESS;2 = ERROR_FILE_NOT_FOUND(子键不存在)
|
|
24
16
|
* @param args_0 hKey 父键(同 RegCreateKeyEx 的双来源语义)
|
|
@@ -26,14 +18,11 @@ export const RegCreateKeyEx = /*@__PURE__*/ b('RegCreateKeyExW',
|
|
|
26
18
|
* @param args_2 ulOptions 保留,恒 0
|
|
27
19
|
* @param args_3 samDesired 访问掩码 RegAccess.READ / SET_VALUE
|
|
28
20
|
* @param args_4 phkResult 出参:键句柄 */
|
|
29
|
-
export const RegOpenKeyEx
|
|
30
|
-
'<>ptr <WCHAR>ptr u32 u32@RegAccess <BYTE>ptr -> i32')
|
|
31
|
-
|
|
21
|
+
export declare const RegOpenKeyEx: (args_0: import("../ffi/ctype.js").MaybePtr<"">, args_1: string | import("../ffi/ctype.js").MaybePtr<"WCHAR">, args_2: number, args_3: import("../../constants.js").RegAccess, args_4: import("../ffi/ctype.js").PtrArrayBuffer<any> | import("../ffi/ctype.js").MaybePtr<"BYTE">) => number;
|
|
32
22
|
/** 关闭键句柄;只关 Open/Create 返回的真实句柄——预定义键(HKEY_CURRENT_USER 等)
|
|
33
23
|
* 不要关
|
|
34
24
|
* @returns 0 = ERROR_SUCCESS */
|
|
35
|
-
export const RegCloseKey
|
|
36
|
-
|
|
25
|
+
export declare const RegCloseKey: (args_0: import("../ffi/ctype.js").MaybePtr<"">) => number;
|
|
37
26
|
/** 写键值
|
|
38
27
|
* @returns 0 = ERROR_SUCCESS
|
|
39
28
|
* @param args_0 hKey 键句柄(须 KEY_SET_VALUE 权限,含于 RegAccess.SET_VALUE)
|
|
@@ -42,9 +31,7 @@ export const RegCloseKey = /*@__PURE__*/ b('RegCloseKey', '<>ptr -> i32')
|
|
|
42
31
|
* @param args_3 dwType 值类型 RegType.SZ(UTF-16 字符串)
|
|
43
32
|
* @param args_4 lpData 数据缓冲(REG_SZ:UTF-16LE 含结尾 NUL)
|
|
44
33
|
* @param args_5 cbData 数据字节数(REG_SZ = (字符数+1)*2) */
|
|
45
|
-
export const RegSetValueEx
|
|
46
|
-
'<>ptr <WCHAR>ptr u32 u32@RegType <BYTE>ptr u32 -> i32')
|
|
47
|
-
|
|
34
|
+
export declare const RegSetValueEx: (args_0: import("../ffi/ctype.js").MaybePtr<"">, args_1: string | import("../ffi/ctype.js").MaybePtr<"WCHAR">, args_2: number, args_3: import("../../constants.js").RegType, args_4: import("../ffi/ctype.js").PtrArrayBuffer<any> | import("../ffi/ctype.js").MaybePtr<"BYTE">, args_5: number) => number;
|
|
48
35
|
/** 读键值(两跳模式:第一跳 lpData=NULL 取尺寸/类型,第二跳按尺寸带缓冲读数据)
|
|
49
36
|
* @returns 0 = ERROR_SUCCESS;2 = ERROR_FILE_NOT_FOUND(值不存在)
|
|
50
37
|
* @param args_0 hKey 键句柄(须 KEY_QUERY_VALUE 权限,含于 RegAccess.READ)
|
|
@@ -53,12 +40,10 @@ export const RegSetValueEx = /*@__PURE__*/ b('RegSetValueExW',
|
|
|
53
40
|
* @param args_3 lpType 出参:值类型(可 NULL)
|
|
54
41
|
* @param args_4 lpData 数据缓冲(可 NULL = 只查尺寸)
|
|
55
42
|
* @param args_5 lpcbData 双向:入 = lpData 缓冲字节数(须预写)、出 = 实际字节数 */
|
|
56
|
-
export const RegQueryValueEx
|
|
57
|
-
'<>ptr <WCHAR>ptr <>ptr <BYTE>ptr <BYTE>ptr <BYTE>ptr -> i32')
|
|
58
|
-
|
|
43
|
+
export declare const RegQueryValueEx: (args_0: import("../ffi/ctype.js").MaybePtr<"">, args_1: string | import("../ffi/ctype.js").MaybePtr<"WCHAR">, args_2: import("../ffi/ctype.js").MaybePtr<"">, args_3: import("../ffi/ctype.js").PtrArrayBuffer<any> | import("../ffi/ctype.js").MaybePtr<"BYTE">, args_4: import("../ffi/ctype.js").PtrArrayBuffer<any> | import("../ffi/ctype.js").MaybePtr<"BYTE">, args_5: import("../ffi/ctype.js").PtrArrayBuffer<any> | import("../ffi/ctype.js").MaybePtr<"BYTE">) => number;
|
|
59
44
|
/** 删除子键(连值一起删);须父键 KEY_CREATE_SUB_KEY 权限——自己的 HKCU 直接传
|
|
60
45
|
* HKey.CURRENT_USER 即可
|
|
61
46
|
* @returns 0 = ERROR_SUCCESS;2 = 子键不存在
|
|
62
47
|
* @param args_0 hKey 父键
|
|
63
48
|
* @param args_1 lpSubKey 要删的子键路径(不可 NULL) */
|
|
64
|
-
export const RegDeleteKey
|
|
49
|
+
export declare const RegDeleteKey: (args_0: import("../ffi/ctype.js").MaybePtr<"">, args_1: string | import("../ffi/ctype.js").MaybePtr<"WCHAR">) => number;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** 建图像列表;配对 ImageListDestroy
|
|
2
|
+
* @returns 图像列表句柄;失败 → NULL
|
|
3
|
+
* @param args_0 cx/cy 图像尺寸 @param args_2 flags ILC_* 组合
|
|
4
|
+
* @param args_3 cInitial 初始容量 @param args_4 cGrow 增长步长 */
|
|
5
|
+
export declare const ImageListCreate: (args_0: number, args_1: number, args_2: number, args_3: number, args_4: number) => import("../ffi/ctype.js").MaybePtr<"HIMAGELIST">;
|
|
6
|
+
/** 加位图进图像列表
|
|
7
|
+
* @returns 新索引(-1 失败)
|
|
8
|
+
* @param args_0 himl 图像列表句柄
|
|
9
|
+
* @param args_1 hbmImage 位图句柄(gdi32 <HGDIOBJ>ptr 产物,如 CreateCompatibleBitmap)
|
|
10
|
+
* @param args_2 hbmMask 掩码位图;32bpp 图像传 NULL */
|
|
11
|
+
export declare const ImageListAdd: (args_0: import("../ffi/ctype.js").MaybePtr<"HIMAGELIST">, args_1: import("../ffi/ctype.js").MaybePtr<"HGDIOBJ">, args_2: import("../ffi/ctype.js").MaybePtr<"HGDIOBJ">) => number;
|
|
12
|
+
/** 销毁图像列表
|
|
13
|
+
* @returns 成功 → 非 0 */
|
|
14
|
+
export declare const ImageListDestroy: (args_0: import("../ffi/ctype.js").MaybePtr<"HIMAGELIST">) => number;
|
package/lib/windows/comctl32.js
CHANGED
|
@@ -11,8 +11,9 @@ export const ImageListCreate = /*@__PURE__*/ b('ImageList_Create', 'i32 i32 u32
|
|
|
11
11
|
/** 加位图进图像列表
|
|
12
12
|
* @returns 新索引(-1 失败)
|
|
13
13
|
* @param args_0 himl 图像列表句柄
|
|
14
|
-
* @param args_1
|
|
15
|
-
|
|
14
|
+
* @param args_1 hbmImage 位图句柄(gdi32 <HGDIOBJ>ptr 产物,如 CreateCompatibleBitmap)
|
|
15
|
+
* @param args_2 hbmMask 掩码位图;32bpp 图像传 NULL */
|
|
16
|
+
export const ImageListAdd = /*@__PURE__*/ b('ImageList_Add', '<HIMAGELIST>ptr <HGDIOBJ>ptr <HGDIOBJ>ptr -> i32');
|
|
16
17
|
/** 销毁图像列表
|
|
17
18
|
* @returns 成功 → 非 0 */
|
|
18
19
|
export const ImageListDestroy = /*@__PURE__*/ b('ImageList_Destroy', '<HIMAGELIST>ptr -> i32');
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** 打开/保存文件对话框
|
|
2
|
+
* @returns 用户确认 → 非 0(lpstrFile 缓冲即选中路径),取消/出错 → 0
|
|
3
|
+
* @param args_0 pOpenfn OPENFILENAMEW.encode(...).ptr(lStructSize 必须 = OPENFILENAMEW.size,见 structs.ts) */
|
|
4
|
+
export declare const GetOpenFileName: (args_0: import("../ffi/ctype.js").MaybePtr<"OPENFILENAMEW">) => number;
|