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/README.en.md
CHANGED
|
@@ -98,8 +98,7 @@ When run without a script file argument, `qwin.exe` checks for embedded JS at th
|
|
|
98
98
|
| `gui` | built-in | Win32 window/control/message/tray API |
|
|
99
99
|
| `sock` | built-in | socket networking (`AddrFamily`, `FdEvent` etc.) |
|
|
100
100
|
| `wolfssl` | built-in | TLS/SSL (`VerifyMode`, `ReturnCode` etc.) |
|
|
101
|
-
| `ffi` | built-in | foreign function interface |
|
|
102
|
-
| `win` | built-in | DLL loading (`LoadLibrary`, `GetProcAddress`) |
|
|
101
|
+
| `ffi` | built-in | foreign function interface (DLL loading: `LoadLibrary`, `GetProcAddress`) |
|
|
103
102
|
| `brotli` | built-in | Brotli decompression |
|
|
104
103
|
| `wamr` | built-in | low-level WAMR API |
|
|
105
104
|
| `fetch` | `import './lib/fetch.js'` | adds `fetch()`, `Response`, `Headers` to globalThis |
|
package/README.md
CHANGED
|
@@ -96,8 +96,7 @@ _build/execd.exe
|
|
|
96
96
|
| `gui` | built-in | Win32 窗口/控件/消息/托盘 API |
|
|
97
97
|
| `sock` | built-in | Socket 网络(`AddrFamily`、`FdEvent` 等) |
|
|
98
98
|
| `wolfssl` | built-in | TLS/SSL(`VerifyMode`、`ReturnCode` 等) |
|
|
99
|
-
| `ffi` | built-in |
|
|
100
|
-
| `win` | built-in | DLL 加载(`LoadLibrary`、`GetProcAddress`) |
|
|
99
|
+
| `ffi` | built-in | 外部函数接口(DLL 装载:`LoadLibrary`、`GetProcAddress`) |
|
|
101
100
|
| `brotli` | built-in | Brotli 解压 |
|
|
102
101
|
| `wamr` | built-in | 底层 WAMR API |
|
|
103
102
|
| `fetch` | `import './lib/fetch.js'` | 向 globalThis 添加 `fetch()`、`Response`、`Headers` |
|
package/constants.ts
CHANGED
|
@@ -54,6 +54,11 @@ export const enum MenuFlag {
|
|
|
54
54
|
POPUP = 16, // 0x10
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
+
export const enum TrackPopupMenuFlag {
|
|
58
|
+
RETURNCMD = 256, // 0x100
|
|
59
|
+
RIGHTBUTTON = 2, // 0x2
|
|
60
|
+
}
|
|
61
|
+
|
|
57
62
|
export const enum WindowStyle {
|
|
58
63
|
OVERLAPPEDWINDOW = 13565952, // 0xCF0000
|
|
59
64
|
CHILD = 1073741824, // 0x40000000
|
|
@@ -225,6 +230,10 @@ export const enum SysMetrics {
|
|
|
225
230
|
CYSCREEN = 1, // 0x1
|
|
226
231
|
}
|
|
227
232
|
|
|
233
|
+
export const enum Spi {
|
|
234
|
+
GETNONCLIENTMETRICS = 41, // 0x29
|
|
235
|
+
}
|
|
236
|
+
|
|
228
237
|
export const enum ButtonStyle {
|
|
229
238
|
PUSHBUTTON = 0, // 0x0
|
|
230
239
|
DEFPUSHBUTTON = 1, // 0x1
|
|
@@ -353,6 +362,7 @@ export const enum LvImageList {
|
|
|
353
362
|
export const enum ImageListFlag {
|
|
354
363
|
MASK = 1, // 0x1
|
|
355
364
|
COLOR = 0, // 0x0
|
|
365
|
+
COLOR24 = 24, // 0x18
|
|
356
366
|
COLOR32 = 32, // 0x20
|
|
357
367
|
HIGHQUALITYSCALE = 131072, // 0x20000
|
|
358
368
|
}
|
|
@@ -677,6 +687,11 @@ export const enum TtToolFlag {
|
|
|
677
687
|
DI_SETITEM = 32768, // 0x8000
|
|
678
688
|
}
|
|
679
689
|
|
|
690
|
+
export const enum ColorUse {
|
|
691
|
+
RGB_COLORS = 0, // 0x0
|
|
692
|
+
PAL_COLORS = 1, // 0x1
|
|
693
|
+
}
|
|
694
|
+
|
|
680
695
|
export const enum RasterOp {
|
|
681
696
|
SRCCOPY = 13369376, // 0xCC0020
|
|
682
697
|
WHITENESS = 16711778, // 0xFF0062
|
package/enum_map.d.ts
CHANGED
|
@@ -10,12 +10,14 @@ interface EnumMap {
|
|
|
10
10
|
NotifyIconCmd: import('./constants').NotifyIconCmd
|
|
11
11
|
NotifyIconFlag: import('./constants').NotifyIconFlag
|
|
12
12
|
MenuFlag: import('./constants').MenuFlag
|
|
13
|
+
TrackPopupMenuFlag: import('./constants').TrackPopupMenuFlag
|
|
13
14
|
WindowStyle: import('./constants').WindowStyle
|
|
14
15
|
WmMsg: import('./constants').WmMsg
|
|
15
16
|
ScrollBar: import('./constants').ScrollBar
|
|
16
17
|
ScrollCmd: import('./constants').ScrollCmd
|
|
17
18
|
ScrollInfoFlag: import('./constants').ScrollInfoFlag
|
|
18
19
|
SysMetrics: import('./constants').SysMetrics
|
|
20
|
+
Spi: import('./constants').Spi
|
|
19
21
|
ButtonStyle: import('./constants').ButtonStyle
|
|
20
22
|
MouseKeyFlag: import('./constants').MouseKeyFlag
|
|
21
23
|
LbMsg: import('./constants').LbMsg
|
|
@@ -78,6 +80,7 @@ interface EnumMap {
|
|
|
78
80
|
TooltipStyle: import('./constants').TooltipStyle
|
|
79
81
|
CreatePos: import('./constants').CreatePos
|
|
80
82
|
TtToolFlag: import('./constants').TtToolFlag
|
|
83
|
+
ColorUse: import('./constants').ColorUse
|
|
81
84
|
RasterOp: import('./constants').RasterOp
|
|
82
85
|
PenStyle: import('./constants').PenStyle
|
|
83
86
|
BackgroundMode: import('./constants').BackgroundMode
|
package/examples/PdfCanvas.js
CHANGED
|
@@ -28,7 +28,7 @@ export const PdfCanvas = forwardRef(({ pixmap, style }, ref) => {
|
|
|
28
28
|
const hdc = GetDC(hwnd);
|
|
29
29
|
if (hdc) {
|
|
30
30
|
const bmi = makeBitmapInfo(pm.w, pm.h);
|
|
31
|
-
SetDIBitsToDevice(hdc, 0, 0, pm.w, pm.h, 0, 0, 0, pm.h, pm.data, bmi, 0);
|
|
31
|
+
SetDIBitsToDevice(hdc, 0, 0, pm.w, pm.h, 0, 0, 0, pm.h, pm.data, bmi, 0 /* ColorUse.RGB_COLORS */);
|
|
32
32
|
ReleaseDC(hwnd, hdc);
|
|
33
33
|
}
|
|
34
34
|
return 0;
|
package/examples/PdfCanvas.tsx
CHANGED
|
@@ -5,7 +5,7 @@ import { GetDC, ReleaseDC } from '../lib/windows/user32.js'
|
|
|
5
5
|
import { SetDIBitsToDevice } from '../lib/windows/gdi32.js'
|
|
6
6
|
import { BITMAPINFOHEADER } from '../lib/windows/structs.js'
|
|
7
7
|
import type { WStyle } from '../lib/react-qw/jsx.d.ts'
|
|
8
|
-
import { WindowStyle, WmMsg } from '../constants'
|
|
8
|
+
import { ColorUse, WindowStyle, WmMsg } from '../constants'
|
|
9
9
|
|
|
10
10
|
function makeBitmapInfo(w: number, h: number) {
|
|
11
11
|
// biHeight 负 = 自顶向下(DIB 原点左上);biCompression 缺省 0 = BI_RGB 无压缩
|
|
@@ -41,7 +41,7 @@ export const PdfCanvas = forwardRef<gui.HWND, PdfCanvasProps>(
|
|
|
41
41
|
const hdc = GetDC(hwnd)
|
|
42
42
|
if (hdc) {
|
|
43
43
|
const bmi = makeBitmapInfo(pm.w, pm.h)
|
|
44
|
-
SetDIBitsToDevice(hdc, 0, 0, pm.w, pm.h, 0, 0, 0, pm.h, pm.data, bmi,
|
|
44
|
+
SetDIBitsToDevice(hdc, 0, 0, pm.w, pm.h, 0, 0, 0, pm.h, pm.data, bmi, ColorUse.RGB_COLORS)
|
|
45
45
|
ReleaseDC(hwnd, hdc)
|
|
46
46
|
}
|
|
47
47
|
return 0
|