quickwin 2.2.0 → 2.3.0

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.
Files changed (111) hide show
  1. package/README.en.md +7 -7
  2. package/README.md +7 -7
  3. package/constants.ts +1063 -0
  4. package/enum_map.d.ts +129 -0
  5. package/examples/PdfCanvas.js +2 -2
  6. package/examples/PdfCanvas.tsx +3 -2
  7. package/examples/{execd.js → execd/main.js} +563 -122
  8. package/examples/execd/tray.js +192 -0
  9. package/examples/{execd_worker.js → execd/worker.js} +7 -7
  10. package/examples/pdf_preview2.js +46 -46
  11. package/examples/pdf_preview2.ts +55 -54
  12. package/examples/pdf_viewer.js +34 -19
  13. package/examples/pdf_viewer.tsx +6 -5
  14. package/examples/test_gallery.js +35 -20
  15. package/examples/test_gallery.tsx +9 -8
  16. package/examples/test_react_lazy.js +34 -19
  17. package/examples/test_react_lazy.tsx +7 -6
  18. package/examples/test_react_listbox.js +34 -19
  19. package/examples/test_react_listbox.tsx +8 -7
  20. package/examples/test_root_window.js +34 -19
  21. package/examples/test_root_window.tsx +5 -5
  22. package/examples/test_tab.js +34 -19
  23. package/examples/test_tab.tsx +7 -6
  24. package/examples/tray_demo.js +8 -8
  25. package/examples/tray_demo.tsx +9 -8
  26. package/lib/dumpRects.js +2 -2
  27. package/lib/dumpRects.ts +3 -2
  28. package/lib/fetch.js +15 -15
  29. package/lib/fetch.ts +16 -15
  30. package/lib/ffi/bind.js +3 -3
  31. package/lib/ffi/bind.ts +3 -3
  32. package/lib/http-server.js +4 -4
  33. package/lib/http-server.ts +5 -4
  34. package/lib/react-qw/components/Button.js +2 -2
  35. package/lib/react-qw/components/CheckBox.js +4 -4
  36. package/lib/react-qw/components/ComboBox.js +10 -10
  37. package/lib/react-qw/components/DateTimePicker.js +12 -12
  38. package/lib/react-qw/components/Input.js +7 -7
  39. package/lib/react-qw/components/Link.js +4 -4
  40. package/lib/react-qw/components/ListBox.js +12 -12
  41. package/lib/react-qw/components/ListView.js +35 -35
  42. package/lib/react-qw/components/PathPicker.js +3 -3
  43. package/lib/react-qw/components/ProgressBar.js +4 -4
  44. package/lib/react-qw/components/RadioButton.js +4 -4
  45. package/lib/react-qw/components/ScrollView.js +28 -28
  46. package/lib/react-qw/components/Slider.js +11 -11
  47. package/lib/react-qw/components/Tab.js +10 -10
  48. package/lib/react-qw/components/Tooltip.js +8 -8
  49. package/lib/react-qw/components/TreeView.js +20 -20
  50. package/lib/react-qw/index.js +5 -5
  51. package/lib/react-qw/index.ts +6 -5
  52. package/lib/react-qw/props.js +4 -4
  53. package/lib/react-qw/props.ts +5 -4
  54. package/lib/react-qw/reconciler.js +10 -10
  55. package/lib/react-qw/reconciler.ts +11 -10
  56. package/lib/text-measure.js +3 -3
  57. package/lib/text-measure.ts +4 -3
  58. package/lib/websocket.js +17 -17
  59. package/lib/websocket.ts +18 -17
  60. package/lib/windows/advapi32.js +7 -7
  61. package/lib/windows/advapi32.ts +7 -7
  62. package/lib/windows/gdi32.js +16 -16
  63. package/lib/windows/gdi32.ts +16 -16
  64. package/lib/windows/kernel32.js +41 -2
  65. package/lib/windows/kernel32.ts +45 -2
  66. package/lib/windows/shell32.js +24 -3
  67. package/lib/windows/shell32.ts +27 -4
  68. package/lib/windows/structs.js +54 -0
  69. package/lib/windows/structs.ts +63 -1
  70. package/lib/windows/user32.js +18 -6
  71. package/lib/windows/user32.ts +18 -6
  72. package/lib/windows/winspool.js +3 -3
  73. package/lib/windows/winspool.ts +3 -3
  74. package/package.json +4 -3
  75. package/quickwin.d.ts +32 -10
  76. package/qwin-nowasm-x86.exe +0 -0
  77. package/qwin-nowasm.exe +0 -0
  78. package/qwin-x86.exe +0 -0
  79. package/qwin.exe +0 -0
  80. package/test/test_ffi_bind.js +7 -7
  81. package/test/test_ffi_bind.ts +8 -8
  82. package/test/test_ffi_struct.js +2 -2
  83. package/test/test_ffi_struct.ts +3 -3
  84. package/test/test_ffi_windows.js +1 -1
  85. package/test/test_ffi_windows.ts +1 -1
  86. package/test/test_files.js +7 -7
  87. package/test/test_files.ts +8 -8
  88. package/test/test_gdi_draw.js +51 -51
  89. package/test/test_gdi_draw.ts +57 -57
  90. package/test/test_http_server.js +3 -3
  91. package/test/test_http_server.ts +4 -3
  92. package/test/test_ipv6.js +3 -3
  93. package/test/test_ipv6.ts +4 -3
  94. package/test/test_net_event.js +3 -3
  95. package/test/test_net_event.ts +4 -3
  96. package/test/test_printer.js +4 -4
  97. package/test/test_printer.ts +5 -5
  98. package/test/test_react_complex.js +36 -21
  99. package/test/test_react_counter.js +34 -19
  100. package/test/test_react_flex.js +36 -21
  101. package/test/test_react_hidden.js +34 -19
  102. package/test/test_react_listview_link.js +35 -20
  103. package/test/test_react_notify.js +52 -37
  104. package/test/test_react_render.js +34 -19
  105. package/test/test_registry.js +6 -6
  106. package/test/test_registry.ts +8 -8
  107. package/test/test_wolfssl_read.js +8 -8
  108. package/test/test_wolfssl_read.ts +9 -8
  109. package/examples/execd.tsx +0 -798
  110. package/examples/execd_worker.ts +0 -127
  111. package/quickwin_const.d.ts +0 -1063
package/README.en.md CHANGED
@@ -16,8 +16,8 @@ npm install quickwin
16
16
  npx quickwin node_modules/quickwin/main.js # bundled main.js demo; use npx quickwin script.js for your own scripts
17
17
 
18
18
  # Option 2: download directly from GitHub Release
19
- iwr https://github.com/xna00/quickwin/releases/latest/download/qwin.exe -OutFile qwin.exe
20
- iwr https://github.com/xna00/quickwin/releases/latest/download/main.js -OutFile main.js
19
+ iwr https://github.com/quickwinlabs/quickwin/releases/latest/download/qwin.exe -OutFile qwin.exe
20
+ iwr https://github.com/quickwinlabs/quickwin/releases/latest/download/main.js -OutFile main.js
21
21
  .\qwin.exe main.js
22
22
  ```
23
23
 
@@ -80,7 +80,7 @@ make embed-js JS_EMBED=script.js
80
80
  # Embed a script brotli-compressed (smaller exe, decompressed at runtime)
81
81
  make embed-js-br JS_EMBED=script.js
82
82
 
83
- # Bundle examples/execd.ts and brotli-embed into execd.exe
83
+ # Bundle examples/execd/main.tsx and brotli-embed into execd.exe
84
84
  make execd
85
85
 
86
86
  # Run it (no file argument needed)
@@ -174,10 +174,10 @@ Both sides must set `onmessage = null` when communication is complete. This rele
174
174
  ### Build
175
175
 
176
176
  ```bash
177
- git clone --recursive https://github.com/xna00/quickwin.git
177
+ git clone --recursive https://github.com/quickwinlabs/quickwin.git
178
178
  cd quickwin
179
179
 
180
- ./docker/dev-podman.sh up # start dev container (reuses ghcr.io/xna00/quickwin-dev)
180
+ ./docker/dev-podman.sh up # start dev container (reuses ghcr.io/quickwinlabs/quickwin-dev)
181
181
  podman exec quickwin-dev bash -lc 'cd /workspace && make js && make cc64 && make test TEST=-net'
182
182
  ```
183
183
 
@@ -198,10 +198,10 @@ that build run `make test TEST=-wasm` to skip WASM tests.
198
198
  | `make test` | run all tests |
199
199
  | `make test TEST=-net` | skip network tests (fast) |
200
200
  | `make test TEST=wasm` | run WASM tests only |
201
- | `make execd` | bundle `examples/execd.ts` and brotli-embed into `_build/execd.exe` |
201
+ | `make execd` | bundle `examples/execd/main.tsx` and brotli-embed into `_build/execd.exe` |
202
202
  | `make embed-js` / `embed-js-br` | embed JS (brotli-compressed) into exe |
203
203
  | `make npm-pkg` | package into `dist/quickwin/` |
204
- | `make gen-const` | regenerate `quickwin_const.d.ts` |
204
+ | `make gen-const` | regenerate `constants.ts` (run `_build/gen_const.exe` in the VM) |
205
205
  | `make clean` / `distclean` | clean (wipes all of `_build/`; afterwards run `make js wasm`) |
206
206
 
207
207
  Build and troubleshooting details: `.agents/DEVELOPMENT_WORKFLOW.md`.
package/README.md CHANGED
@@ -16,8 +16,8 @@ npm install quickwin
16
16
  npx quickwin node_modules/quickwin/main.js # 包自带 main.js 示例;用 npx quickwin script.js 运行你自己的脚本
17
17
 
18
18
  # 方式二:直接从 GitHub Release 下载
19
- iwr https://github.com/xna00/quickwin/releases/latest/download/qwin.exe -OutFile qwin.exe
20
- iwr https://github.com/xna00/quickwin/releases/latest/download/main.js -OutFile main.js
19
+ iwr https://github.com/quickwinlabs/quickwin/releases/latest/download/qwin.exe -OutFile qwin.exe
20
+ iwr https://github.com/quickwinlabs/quickwin/releases/latest/download/main.js -OutFile main.js
21
21
  .\qwin.exe main.js
22
22
  ```
23
23
 
@@ -78,7 +78,7 @@ make embed-js JS_EMBED=script.js
78
78
  # 内嵌 Brotli 压缩的脚本(exe 更小,运行时解压)
79
79
  make embed-js-br JS_EMBED=script.js
80
80
 
81
- # 打包 examples/execd.ts 并 brotli 内嵌进 execd.exe
81
+ # 打包 examples/execd/main.tsx 并 brotli 内嵌进 execd.exe
82
82
  make execd
83
83
 
84
84
  # 运行它(不需要文件参数)
@@ -172,10 +172,10 @@ parent.onmessage = (e) => {
172
172
  ### 构建
173
173
 
174
174
  ```bash
175
- git clone --recursive https://github.com/xna00/quickwin.git
175
+ git clone --recursive https://github.com/quickwinlabs/quickwin.git
176
176
  cd quickwin
177
177
 
178
- ./docker/dev-podman.sh up # 启动开发容器(复用 ghcr.io/xna00/quickwin-dev)
178
+ ./docker/dev-podman.sh up # 启动开发容器(复用 ghcr.io/quickwinlabs/quickwin-dev)
179
179
  podman exec quickwin-dev bash -lc 'cd /workspace && make js && make cc64 && make test TEST=-net'
180
180
  ```
181
181
 
@@ -196,10 +196,10 @@ podman exec quickwin-dev bash -lc 'cd /workspace && make js && make cc64 && make
196
196
  | `make test` | 运行全部测试 |
197
197
  | `make test TEST=-net` | 跳过网络测试(快速) |
198
198
  | `make test TEST=wasm` | 仅运行 WASM 测试 |
199
- | `make execd` | 打包 `examples/execd.ts` 并 Brotli 内嵌进 `_build/execd.exe` |
199
+ | `make execd` | 打包 `examples/execd/main.tsx` 并 Brotli 内嵌进 `_build/execd.exe` |
200
200
  | `make embed-js` / `embed-js-br` | 把 JS(Brotli 压缩)内嵌进 exe |
201
201
  | `make npm-pkg` | 打包到 `dist/quickwin/` |
202
- | `make gen-const` | 重新生成 `quickwin_const.d.ts` |
202
+ | `make gen-const` | 重新生成 `constants.ts`(在 VM 里跑 `_build/gen_const.exe`) |
203
203
  | `make clean` / `distclean` | 清理(会清掉整个 `_build/`,之后需 `make js wasm`) |
204
204
 
205
205
  构建与排错细节见 `.agents/DEVELOPMENT_WORKFLOW.md`。