quickwin 2.1.1 → 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.
- package/README.en.md +9 -9
- package/README.md +9 -9
- package/constants.ts +1063 -0
- package/enum_map.d.ts +129 -0
- package/examples/PdfCanvas.js +2 -2
- package/examples/PdfCanvas.tsx +3 -2
- package/examples/{exec_server.js → execd/main.js} +1114 -287
- package/examples/execd/tray.js +192 -0
- package/examples/execd/worker.js +122 -0
- package/examples/pdf_preview2.js +46 -46
- package/examples/pdf_preview2.ts +55 -54
- package/examples/pdf_viewer.js +134 -130
- package/examples/pdf_viewer.tsx +6 -5
- package/examples/test_gallery.js +135 -131
- package/examples/test_gallery.tsx +9 -8
- package/examples/test_react_lazy.js +130 -128
- package/examples/test_react_lazy.tsx +7 -6
- package/examples/test_react_listbox.js +130 -128
- package/examples/test_react_listbox.tsx +8 -7
- package/examples/test_root_window.js +130 -128
- package/examples/test_root_window.tsx +5 -5
- package/examples/test_tab.js +130 -128
- package/examples/test_tab.tsx +7 -6
- package/examples/tray_demo.js +8 -8
- package/examples/tray_demo.tsx +9 -8
- package/lib/dumpRects.js +2 -2
- package/lib/dumpRects.ts +3 -2
- package/lib/fetch.js +15 -15
- package/lib/fetch.ts +16 -15
- package/lib/ffi/bind.js +3 -3
- package/lib/ffi/bind.ts +3 -3
- package/lib/ffi/ctype.ts +3 -1
- package/lib/ffi/struct.js +23 -7
- package/lib/ffi/struct.ts +50 -23
- package/lib/http-server.js +5 -5
- package/lib/http-server.ts +6 -5
- package/lib/react-qw/components/Button.js +2 -2
- package/lib/react-qw/components/CheckBox.js +4 -4
- package/lib/react-qw/components/ComboBox.js +10 -10
- package/lib/react-qw/components/DateTimePicker.js +12 -12
- package/lib/react-qw/components/Input.js +7 -7
- package/lib/react-qw/components/Link.js +4 -4
- package/lib/react-qw/components/ListBox.js +12 -12
- package/lib/react-qw/components/ListView.js +35 -35
- package/lib/react-qw/components/PathPicker.js +3 -3
- package/lib/react-qw/components/ProgressBar.js +4 -4
- package/lib/react-qw/components/RadioButton.js +4 -4
- package/lib/react-qw/components/ScrollView.js +28 -28
- package/lib/react-qw/components/Slider.js +11 -11
- package/lib/react-qw/components/Tab.js +10 -10
- package/lib/react-qw/components/Tooltip.js +8 -8
- package/lib/react-qw/components/TreeView.js +20 -20
- package/lib/react-qw/index.js +5 -5
- package/lib/react-qw/index.ts +6 -5
- package/lib/react-qw/props.js +4 -4
- package/lib/react-qw/props.ts +5 -4
- package/lib/react-qw/reconciler.js +10 -10
- package/lib/react-qw/reconciler.ts +11 -10
- package/lib/text-measure.js +3 -3
- package/lib/text-measure.ts +4 -3
- package/lib/websocket.js +17 -17
- package/lib/websocket.ts +18 -17
- package/lib/windows/advapi32.js +7 -7
- package/lib/windows/advapi32.ts +7 -7
- package/lib/windows/gdi32.js +17 -17
- package/lib/windows/gdi32.ts +17 -17
- package/lib/windows/kernel32.js +41 -2
- package/lib/windows/kernel32.ts +45 -2
- package/lib/windows/shell32.js +24 -3
- package/lib/windows/shell32.ts +27 -4
- package/lib/windows/structs.js +230 -92
- package/lib/windows/structs.ts +278 -92
- package/lib/windows/user32.js +18 -6
- package/lib/windows/user32.ts +18 -6
- package/lib/windows/winspool.js +3 -3
- package/lib/windows/winspool.ts +3 -3
- package/package.json +4 -3
- package/quickwin.d.ts +32 -10
- 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/test_ffi_bind.js +12 -10
- package/test/test_ffi_bind.ts +14 -12
- package/test/test_ffi_struct.js +60 -26
- package/test/test_ffi_struct.ts +58 -28
- package/test/test_ffi_windows.js +1 -1
- package/test/test_ffi_windows.ts +1 -1
- package/test/test_files.js +7 -7
- package/test/test_files.ts +8 -8
- package/test/test_gdi_draw.js +51 -51
- package/test/test_gdi_draw.ts +57 -57
- package/test/test_http_server.js +3 -3
- package/test/test_http_server.ts +4 -3
- package/test/test_ipv6.js +3 -3
- package/test/test_ipv6.ts +4 -3
- package/test/test_net_event.js +3 -3
- package/test/test_net_event.ts +4 -3
- package/test/test_printer.js +4 -4
- package/test/test_printer.ts +5 -5
- package/test/test_react_complex.js +132 -130
- package/test/test_react_counter.js +130 -128
- package/test/test_react_flex.js +132 -130
- package/test/test_react_hidden.js +130 -128
- package/test/test_react_listview_link.js +131 -129
- package/test/test_react_notify.js +148 -146
- package/test/test_react_render.js +130 -128
- package/test/test_registry.js +6 -6
- package/test/test_registry.ts +8 -8
- package/test/test_wolfssl_read.js +8 -8
- package/test/test_wolfssl_read.ts +9 -8
- package/examples/exec_server.tsx +0 -488
- package/examples/exec_server_worker.js +0 -395
- package/examples/exec_server_worker.ts +0 -417
- package/examples/setres.js +0 -79
- package/examples/setres.ts +0 -86
- package/quickwin_const.d.ts +0 -1037
|
@@ -16277,7 +16277,7 @@ function doEncode(dv, base, fields, v) {
|
|
|
16277
16277
|
function createStruct(t) {
|
|
16278
16278
|
const { fields, size, maxEffectiveAlign } = computeStructLayout(t);
|
|
16279
16279
|
return {
|
|
16280
|
-
|
|
16280
|
+
fields,
|
|
16281
16281
|
size,
|
|
16282
16282
|
structAlign: maxEffectiveAlign,
|
|
16283
16283
|
decode: (p) => {
|
|
@@ -16306,6 +16306,14 @@ function createStruct(t) {
|
|
|
16306
16306
|
};
|
|
16307
16307
|
}
|
|
16308
16308
|
function buildDecl(kind, member, pack) {
|
|
16309
|
+
const declKind = member["#"];
|
|
16310
|
+
if (declKind !== void 0 && declKind !== kind)
|
|
16311
|
+
throw new Error(`ffi-struct: ${kind}() received a '${String(declKind)}' declaration (kind mismatch \u2014 use ${declKind}() for it)`);
|
|
16312
|
+
const declPack = member["#pack"];
|
|
16313
|
+
if (pack === void 0 && declPack !== void 0)
|
|
16314
|
+
pack = declPack;
|
|
16315
|
+
else if (pack !== void 0 && declPack !== void 0 && pack !== declPack)
|
|
16316
|
+
throw new Error(`ffi-struct: #pack conflict: opts.pack=${pack} vs declaration ${String(declPack)}`);
|
|
16309
16317
|
const decl = { "#": kind };
|
|
16310
16318
|
if (pack !== void 0)
|
|
16311
16319
|
decl["#pack"] = pack;
|
|
@@ -16314,49 +16322,6 @@ function buildDecl(kind, member, pack) {
|
|
|
16314
16322
|
decl[k] = v;
|
|
16315
16323
|
return decl;
|
|
16316
16324
|
}
|
|
16317
|
-
function structArray(def) {
|
|
16318
|
-
const { fields, size } = computeStructLayout(def.__struct);
|
|
16319
|
-
const readN = (dv, n) => {
|
|
16320
|
-
const out = [];
|
|
16321
|
-
for (let i = 0; i < n; i++)
|
|
16322
|
-
out.push(doDecode(dv, i * size, fields));
|
|
16323
|
-
return out;
|
|
16324
|
-
};
|
|
16325
|
-
return {
|
|
16326
|
-
encode: (els) => {
|
|
16327
|
-
if (!Array.isArray(els) || els.length === 0)
|
|
16328
|
-
throw new Error(`ffi-struct: structArray(def).encode(els) requires a non-empty element array (pass NULL for an empty pointer position)`);
|
|
16329
|
-
const out = def.alloc(els.length);
|
|
16330
|
-
for (let i = 0; i < els.length; i++)
|
|
16331
|
-
def.encode(els[i], out, i * def.size);
|
|
16332
|
-
return out;
|
|
16333
|
-
},
|
|
16334
|
-
decode: ((p, count) => {
|
|
16335
|
-
if (count !== void 0 && (!Number.isInteger(count) || count < 0))
|
|
16336
|
-
throw new Error(`ffi-struct: structArray.decode(p, count) requires a non-negative integer count, got ${count}`);
|
|
16337
|
-
if (typeof p === "number") {
|
|
16338
|
-
if (count === void 0)
|
|
16339
|
-
throw new Error(`ffi-struct: structArray.decode(address, count) requires an explicit count (a bare address carries no length)`);
|
|
16340
|
-
if (count === 0)
|
|
16341
|
-
return [];
|
|
16342
|
-
return readN(new DataView(ffi2.readBytes(p, count * size)), count);
|
|
16343
|
-
}
|
|
16344
|
-
let n;
|
|
16345
|
-
if (count !== void 0) {
|
|
16346
|
-
n = count;
|
|
16347
|
-
if (n * size > p.byteLength)
|
|
16348
|
-
throw new Error(`ffi-struct: structArray.decode: count ${n} \xD7 size ${size} = ${n * size} exceeds buffer byteLength ${p.byteLength}`);
|
|
16349
|
-
} else {
|
|
16350
|
-
if (p.byteLength % size !== 0)
|
|
16351
|
-
throw new Error(`ffi-struct: structArray.decode: byteLength ${p.byteLength} is not a multiple of size ${size} (mixed buffer? pass count explicitly)`);
|
|
16352
|
-
n = p.byteLength / size;
|
|
16353
|
-
}
|
|
16354
|
-
if (n === 0)
|
|
16355
|
-
return [];
|
|
16356
|
-
return readN(new DataView(p), n);
|
|
16357
|
-
})
|
|
16358
|
-
};
|
|
16359
|
-
}
|
|
16360
16325
|
function struct(a, b6, c) {
|
|
16361
16326
|
const isNamed = typeof a === "string";
|
|
16362
16327
|
const raw = isNamed ? b6 : a;
|
|
@@ -16365,21 +16330,28 @@ function struct(a, b6, c) {
|
|
|
16365
16330
|
}
|
|
16366
16331
|
|
|
16367
16332
|
// _build/lib/windows/structs.js
|
|
16368
|
-
var
|
|
16333
|
+
var RECT_DECL = {
|
|
16334
|
+
"#": "struct",
|
|
16369
16335
|
left: "i32",
|
|
16370
16336
|
top: "i32",
|
|
16371
16337
|
right: "i32",
|
|
16372
16338
|
bottom: "i32"
|
|
16373
|
-
}
|
|
16374
|
-
var
|
|
16339
|
+
};
|
|
16340
|
+
var RECT = /* @__PURE__ */ struct("RECT", RECT_DECL);
|
|
16341
|
+
var POINT_DECL = {
|
|
16342
|
+
"#": "struct",
|
|
16375
16343
|
x: "i32",
|
|
16376
16344
|
y: "i32"
|
|
16377
|
-
}
|
|
16378
|
-
var
|
|
16345
|
+
};
|
|
16346
|
+
var POINT = /* @__PURE__ */ struct("POINT", POINT_DECL);
|
|
16347
|
+
var SIZE_DECL = {
|
|
16348
|
+
"#": "struct",
|
|
16379
16349
|
cx: "i32",
|
|
16380
16350
|
cy: "i32"
|
|
16381
|
-
}
|
|
16382
|
-
var
|
|
16351
|
+
};
|
|
16352
|
+
var SIZE = /* @__PURE__ */ struct("SIZE", SIZE_DECL);
|
|
16353
|
+
var LOGFONTW_DECL = {
|
|
16354
|
+
"#": "struct",
|
|
16383
16355
|
lfHeight: "i32",
|
|
16384
16356
|
lfWidth: "i32",
|
|
16385
16357
|
lfEscapement: "i32",
|
|
@@ -16394,8 +16366,10 @@ var LOGFONTW = /* @__PURE__ */ struct("LOGFONTW", {
|
|
|
16394
16366
|
lfQuality: "u8",
|
|
16395
16367
|
lfPitchAndFamily: "u8",
|
|
16396
16368
|
lfFaceName: "u16[32]@utf-16le"
|
|
16397
|
-
}
|
|
16398
|
-
var
|
|
16369
|
+
};
|
|
16370
|
+
var LOGFONTW = /* @__PURE__ */ struct("LOGFONTW", LOGFONTW_DECL);
|
|
16371
|
+
var OPENFILENAMEW_DECL = {
|
|
16372
|
+
"#": "struct",
|
|
16399
16373
|
lStructSize: "u32",
|
|
16400
16374
|
hwndOwner: "<HWND>ptr",
|
|
16401
16375
|
hInstance: "<HMODULE>ptr",
|
|
@@ -16419,8 +16393,10 @@ var OPENFILENAMEW = /* @__PURE__ */ struct("OPENFILENAMEW", {
|
|
|
16419
16393
|
pvReserved: "<>ptr",
|
|
16420
16394
|
dwReserved: "u32",
|
|
16421
16395
|
FlagsEx: "u32"
|
|
16422
|
-
}
|
|
16423
|
-
var
|
|
16396
|
+
};
|
|
16397
|
+
var OPENFILENAMEW = /* @__PURE__ */ struct("OPENFILENAMEW", OPENFILENAMEW_DECL);
|
|
16398
|
+
var BROWSEINFOW_DECL = {
|
|
16399
|
+
"#": "struct",
|
|
16424
16400
|
hwndOwner: "<HWND>ptr",
|
|
16425
16401
|
pidlRoot: "<>ptr",
|
|
16426
16402
|
pszDisplayName: "<>ptr",
|
|
@@ -16429,13 +16405,17 @@ var BROWSEINFOW = /* @__PURE__ */ struct("BROWSEINFOW", {
|
|
|
16429
16405
|
lpfn: "<>ptr",
|
|
16430
16406
|
lParam: "<>ptr",
|
|
16431
16407
|
iImage: "i32"
|
|
16432
|
-
}
|
|
16433
|
-
var
|
|
16408
|
+
};
|
|
16409
|
+
var BROWSEINFOW = /* @__PURE__ */ struct("BROWSEINFOW", BROWSEINFOW_DECL);
|
|
16410
|
+
var NMHDR_DECL = {
|
|
16411
|
+
"#": "struct",
|
|
16434
16412
|
hwndFrom: "<HWND>ptr",
|
|
16435
16413
|
idFrom: "<>ptr",
|
|
16436
16414
|
code: "i32"
|
|
16437
|
-
}
|
|
16438
|
-
var
|
|
16415
|
+
};
|
|
16416
|
+
var NMHDR = /* @__PURE__ */ struct("NMHDR", NMHDR_DECL);
|
|
16417
|
+
var SYSTEMTIME_DECL = {
|
|
16418
|
+
"#": "struct",
|
|
16439
16419
|
wYear: "u16",
|
|
16440
16420
|
wMonth: "u16",
|
|
16441
16421
|
wDayOfWeek: "u16",
|
|
@@ -16444,35 +16424,44 @@ var SYSTEMTIME = /* @__PURE__ */ struct("SYSTEMTIME", {
|
|
|
16444
16424
|
wMinute: "u16",
|
|
16445
16425
|
wSecond: "u16",
|
|
16446
16426
|
wMilliseconds: "u16"
|
|
16447
|
-
}
|
|
16448
|
-
var
|
|
16449
|
-
|
|
16427
|
+
};
|
|
16428
|
+
var SYSTEMTIME = /* @__PURE__ */ struct("SYSTEMTIME", SYSTEMTIME_DECL);
|
|
16429
|
+
var NMDATETIMECHANGE_DECL = {
|
|
16430
|
+
"#": "struct",
|
|
16431
|
+
hdr: NMHDR_DECL,
|
|
16450
16432
|
dwFlags: "u32",
|
|
16451
|
-
st:
|
|
16452
|
-
}
|
|
16453
|
-
var
|
|
16433
|
+
st: SYSTEMTIME_DECL
|
|
16434
|
+
};
|
|
16435
|
+
var NMDATETIMECHANGE = /* @__PURE__ */ struct("NMDATETIMECHANGE", NMDATETIMECHANGE_DECL);
|
|
16436
|
+
var LITEM_DECL = {
|
|
16437
|
+
"#": "struct",
|
|
16454
16438
|
mask: "u32",
|
|
16455
16439
|
iLink: "i32",
|
|
16456
16440
|
state: "u32",
|
|
16457
16441
|
stateMask: "u32",
|
|
16458
16442
|
szID: "u16[48]@utf-16le",
|
|
16459
16443
|
szUrl: "u16[2084]@utf-16le"
|
|
16460
|
-
}
|
|
16461
|
-
var
|
|
16462
|
-
|
|
16463
|
-
|
|
16464
|
-
|
|
16465
|
-
|
|
16466
|
-
|
|
16444
|
+
};
|
|
16445
|
+
var NMLINK_DECL = {
|
|
16446
|
+
"#": "struct",
|
|
16447
|
+
hdr: NMHDR_DECL,
|
|
16448
|
+
item: LITEM_DECL
|
|
16449
|
+
};
|
|
16450
|
+
var NMLINK = /* @__PURE__ */ struct("NMLINK", NMLINK_DECL);
|
|
16451
|
+
var NMCUSTOMDRAW_DECL = {
|
|
16452
|
+
"#": "struct",
|
|
16453
|
+
hdr: NMHDR_DECL,
|
|
16467
16454
|
dwDrawStage: "u32",
|
|
16468
16455
|
hdc: "<HDC>ptr",
|
|
16469
16456
|
rc: "i32[4]",
|
|
16470
16457
|
dwItemSpec: "<>ptr",
|
|
16471
16458
|
uItemState: "u32",
|
|
16472
16459
|
lItemlParam: "<>ptr"
|
|
16473
|
-
}
|
|
16474
|
-
var
|
|
16475
|
-
|
|
16460
|
+
};
|
|
16461
|
+
var NMCUSTOMDRAW = /* @__PURE__ */ struct("NMCUSTOMDRAW", NMCUSTOMDRAW_DECL);
|
|
16462
|
+
var NMLVCUSTOMDRAW_DECL = {
|
|
16463
|
+
"#": "struct",
|
|
16464
|
+
hdr: NMHDR_DECL,
|
|
16476
16465
|
dwDrawStage: "u32",
|
|
16477
16466
|
hdc: "<HDC>ptr",
|
|
16478
16467
|
rc: "i32[4]",
|
|
@@ -16483,9 +16472,11 @@ var NMLVCUSTOMDRAW = /* @__PURE__ */ struct("NMLVCUSTOMDRAW", {
|
|
|
16483
16472
|
clrTextBk: "u32",
|
|
16484
16473
|
iSubItem: "i32",
|
|
16485
16474
|
dwItemType: "u32"
|
|
16486
|
-
}
|
|
16487
|
-
var
|
|
16488
|
-
|
|
16475
|
+
};
|
|
16476
|
+
var NMLVCUSTOMDRAW = /* @__PURE__ */ struct("NMLVCUSTOMDRAW", NMLVCUSTOMDRAW_DECL);
|
|
16477
|
+
var NMLISTVIEW_DECL = {
|
|
16478
|
+
"#": "struct",
|
|
16479
|
+
hdr: NMHDR_DECL,
|
|
16489
16480
|
iItem: "i32",
|
|
16490
16481
|
iSubItem: "i32",
|
|
16491
16482
|
uNewState: "u32",
|
|
@@ -16493,8 +16484,10 @@ var NMLISTVIEW = /* @__PURE__ */ struct("NMLISTVIEW", {
|
|
|
16493
16484
|
uChanged: "u32",
|
|
16494
16485
|
ptAction: "i32[2]",
|
|
16495
16486
|
lParam: "<>ptr"
|
|
16496
|
-
}
|
|
16497
|
-
var
|
|
16487
|
+
};
|
|
16488
|
+
var NMLISTVIEW = /* @__PURE__ */ struct("NMLISTVIEW", NMLISTVIEW_DECL);
|
|
16489
|
+
var TCITEMW_DECL = {
|
|
16490
|
+
"#": "struct",
|
|
16498
16491
|
mask: "u32",
|
|
16499
16492
|
dwState: "u32",
|
|
16500
16493
|
dwStateMask: "u32",
|
|
@@ -16502,8 +16495,10 @@ var TCITEMW = /* @__PURE__ */ struct("TCITEMW", {
|
|
|
16502
16495
|
cchTextMax: "i32",
|
|
16503
16496
|
iImage: "i32",
|
|
16504
16497
|
lParam: "<>ptr"
|
|
16505
|
-
}
|
|
16506
|
-
var
|
|
16498
|
+
};
|
|
16499
|
+
var TCITEMW = /* @__PURE__ */ struct("TCITEMW", TCITEMW_DECL);
|
|
16500
|
+
var TVITEM_DECL = {
|
|
16501
|
+
"#": "struct",
|
|
16507
16502
|
mask: "u32",
|
|
16508
16503
|
hItem: "<>ptr",
|
|
16509
16504
|
state: "u32",
|
|
@@ -16514,20 +16509,26 @@ var TVITEM = /* @__PURE__ */ struct("TVITEM", {
|
|
|
16514
16509
|
iSelectedImage: "i32",
|
|
16515
16510
|
cChildren: "i32",
|
|
16516
16511
|
lParam: "<>ptr"
|
|
16517
|
-
}
|
|
16518
|
-
var
|
|
16512
|
+
};
|
|
16513
|
+
var TVITEM = /* @__PURE__ */ struct("TVITEM", TVITEM_DECL);
|
|
16514
|
+
var TVINSERTSTRUCT_DECL = {
|
|
16515
|
+
"#": "struct",
|
|
16519
16516
|
hParent: "<>ptr",
|
|
16520
16517
|
hInsertAfter: "<>ptr",
|
|
16521
|
-
item:
|
|
16522
|
-
}
|
|
16523
|
-
var
|
|
16518
|
+
item: TVITEM_DECL
|
|
16519
|
+
};
|
|
16520
|
+
var TVINSERTSTRUCT = /* @__PURE__ */ struct("TVINSERTSTRUCT", TVINSERTSTRUCT_DECL);
|
|
16521
|
+
var LVHITTESTINFO_DECL = {
|
|
16522
|
+
"#": "struct",
|
|
16524
16523
|
pt: "i32[2]",
|
|
16525
16524
|
flags: "u32",
|
|
16526
16525
|
iItem: "i32",
|
|
16527
16526
|
iSubItem: "i32",
|
|
16528
16527
|
iGroup: "i32"
|
|
16529
|
-
}
|
|
16530
|
-
var
|
|
16528
|
+
};
|
|
16529
|
+
var LVHITTESTINFO = /* @__PURE__ */ struct("LVHITTESTINFO", LVHITTESTINFO_DECL);
|
|
16530
|
+
var LVITEMW_DECL = {
|
|
16531
|
+
"#": "struct",
|
|
16531
16532
|
mask: "u32",
|
|
16532
16533
|
iItem: "i32",
|
|
16533
16534
|
iSubItem: "i32",
|
|
@@ -16543,8 +16544,10 @@ var LVITEMW = /* @__PURE__ */ struct("LVITEMW", {
|
|
|
16543
16544
|
puColumns: "<>ptr",
|
|
16544
16545
|
piColFmt: "<>ptr",
|
|
16545
16546
|
iGroup: "i32"
|
|
16546
|
-
}
|
|
16547
|
-
var
|
|
16547
|
+
};
|
|
16548
|
+
var LVITEMW = /* @__PURE__ */ struct("LVITEMW", LVITEMW_DECL);
|
|
16549
|
+
var LVCOLUMNW_DECL = {
|
|
16550
|
+
"#": "struct",
|
|
16548
16551
|
mask: "u32",
|
|
16549
16552
|
fmt: "i32",
|
|
16550
16553
|
cx: "i32",
|
|
@@ -16556,23 +16559,16 @@ var LVCOLUMNW = /* @__PURE__ */ struct("LVCOLUMNW", {
|
|
|
16556
16559
|
cxMin: "i32",
|
|
16557
16560
|
cxDefault: "i32",
|
|
16558
16561
|
cxIdeal: "i32"
|
|
16559
|
-
}
|
|
16560
|
-
var
|
|
16561
|
-
|
|
16562
|
-
|
|
16563
|
-
|
|
16564
|
-
|
|
16565
|
-
|
|
16566
|
-
|
|
16567
|
-
}
|
|
16568
|
-
var
|
|
16569
|
-
hdc: "<HDC>ptr",
|
|
16570
|
-
fErase: "i32",
|
|
16571
|
-
rcPaint: RECT.__struct,
|
|
16572
|
-
fRestore: "i32",
|
|
16573
|
-
fIncUpdate: "i32",
|
|
16574
|
-
rgbReserved: "u8[32]"
|
|
16575
|
-
});
|
|
16562
|
+
};
|
|
16563
|
+
var LVCOLUMNW = /* @__PURE__ */ struct("LVCOLUMNW", LVCOLUMNW_DECL);
|
|
16564
|
+
var NOTIFYICONIDENTIFIER_DECL = {
|
|
16565
|
+
"#": "struct",
|
|
16566
|
+
cbSize: "u32",
|
|
16567
|
+
hWnd: "<HWND>ptr",
|
|
16568
|
+
uID: "u32",
|
|
16569
|
+
guidItem: "u32[4]"
|
|
16570
|
+
};
|
|
16571
|
+
var NOTIFYICONIDENTIFIER = /* @__PURE__ */ struct("NOTIFYICONIDENTIFIER", NOTIFYICONIDENTIFIER_DECL);
|
|
16576
16572
|
|
|
16577
16573
|
// _build/lib/windows/user32.js
|
|
16578
16574
|
var b = (name, sig, encoders) => bind("user32.dll", name, sig, encoders);
|
|
@@ -16606,7 +16602,6 @@ import * as os4 from "os";
|
|
|
16606
16602
|
|
|
16607
16603
|
// _build/lib/windows/gdi32.js
|
|
16608
16604
|
var b2 = (name, sig, encoders) => bind("gdi32.dll", name, sig, encoders);
|
|
16609
|
-
var POINTArr = structArray(POINT);
|
|
16610
16605
|
var DeleteObject = /* @__PURE__ */ b2("DeleteObject", "<HGDIOBJ>ptr -> i32");
|
|
16611
16606
|
var GetDeviceCaps = /* @__PURE__ */ b2("GetDeviceCaps", "<HDC>ptr! i32@DeviceCap -> i32");
|
|
16612
16607
|
var CreateFontIndirect = /* @__PURE__ */ b2("CreateFontIndirectW", "<LOGFONTW>ptr -> <HGDIOBJ>ptr", { LOGFONTW });
|
|
@@ -16639,14 +16634,14 @@ function applyProps(instance, newProps, _oldProps) {
|
|
|
16639
16634
|
gui.ShowWindow(
|
|
16640
16635
|
hwnd2,
|
|
16641
16636
|
newProps.hidden ? 0 : 5
|
|
16642
|
-
/*
|
|
16637
|
+
/* ShowWindowCmd.SHOW */
|
|
16643
16638
|
);
|
|
16644
16639
|
}
|
|
16645
16640
|
if ("visible" in newProps) {
|
|
16646
16641
|
gui.ShowWindow(
|
|
16647
16642
|
hwnd2,
|
|
16648
16643
|
newProps.visible ? 5 : 0
|
|
16649
|
-
/*
|
|
16644
|
+
/* ShowWindowCmd.HIDE */
|
|
16650
16645
|
);
|
|
16651
16646
|
}
|
|
16652
16647
|
}
|
|
@@ -16742,7 +16737,7 @@ function measureText(hdc, text, maxWidth) {
|
|
|
16742
16737
|
-1,
|
|
16743
16738
|
r.ptr,
|
|
16744
16739
|
1024
|
|
16745
|
-
/*
|
|
16740
|
+
/* DrawTextFlag.CALCRECT */
|
|
16746
16741
|
);
|
|
16747
16742
|
const { right, bottom } = RECT.decode(r);
|
|
16748
16743
|
return { width: right, height: bottom };
|
|
@@ -16790,7 +16785,7 @@ function setupWindowProc(instance, hwnd2) {
|
|
|
16790
16785
|
const oldProc = GetWindowLongPtr(
|
|
16791
16786
|
hwnd2,
|
|
16792
16787
|
-4
|
|
16793
|
-
/*
|
|
16788
|
+
/* Gwlp.WNDPROC */
|
|
16794
16789
|
);
|
|
16795
16790
|
instancesByHwnd.set(hwnd2, instance);
|
|
16796
16791
|
gui3.SetWindowProc(hwnd2, (hwnd3, msg, wParam, lParam) => {
|
|
@@ -16878,7 +16873,7 @@ function runFlexLayout(inst) {
|
|
|
16878
16873
|
r.width * scaleFactor,
|
|
16879
16874
|
r.height * scaleFactor,
|
|
16880
16875
|
64
|
|
16881
|
-
/*
|
|
16876
|
+
/* SetWindowPosFlag.SWP_SHOWWINDOW */
|
|
16882
16877
|
);
|
|
16883
16878
|
InvalidateRect(child.hwnd, NULL, 1);
|
|
16884
16879
|
child.lastRect = { x: r.x, y: r.y, w: r.width, h: r.height };
|
|
@@ -17034,7 +17029,7 @@ var hostConfig = {
|
|
|
17034
17029
|
gui3.ShowWindow(
|
|
17035
17030
|
instance.hwnd,
|
|
17036
17031
|
0
|
|
17037
|
-
/*
|
|
17032
|
+
/* ShowWindowCmd.HIDE */
|
|
17038
17033
|
);
|
|
17039
17034
|
},
|
|
17040
17035
|
hideTextInstance(instance) {
|
|
@@ -17042,7 +17037,7 @@ var hostConfig = {
|
|
|
17042
17037
|
gui3.ShowWindow(
|
|
17043
17038
|
instance.hwnd,
|
|
17044
17039
|
0
|
|
17045
|
-
/*
|
|
17040
|
+
/* ShowWindowCmd.HIDE */
|
|
17046
17041
|
);
|
|
17047
17042
|
},
|
|
17048
17043
|
unhideInstance(instance, _props) {
|
|
@@ -17050,7 +17045,7 @@ var hostConfig = {
|
|
|
17050
17045
|
gui3.ShowWindow(
|
|
17051
17046
|
instance.hwnd,
|
|
17052
17047
|
5
|
|
17053
|
-
/*
|
|
17048
|
+
/* ShowWindowCmd.SHOW */
|
|
17054
17049
|
);
|
|
17055
17050
|
},
|
|
17056
17051
|
unhideTextInstance(instance, _text) {
|
|
@@ -17058,7 +17053,7 @@ var hostConfig = {
|
|
|
17058
17053
|
gui3.ShowWindow(
|
|
17059
17054
|
instance.hwnd,
|
|
17060
17055
|
5
|
|
17061
|
-
/*
|
|
17056
|
+
/* ShowWindowCmd.SHOW */
|
|
17062
17057
|
);
|
|
17063
17058
|
},
|
|
17064
17059
|
shouldSetTextContent(_type, props) {
|
|
@@ -17486,7 +17481,7 @@ function getCellFont(hwnd2, style) {
|
|
|
17486
17481
|
...base,
|
|
17487
17482
|
...style.bold ? {
|
|
17488
17483
|
lfWeight: 700
|
|
17489
|
-
/*
|
|
17484
|
+
/* FontWeight.BOLD */
|
|
17490
17485
|
} : {},
|
|
17491
17486
|
...style.italic ? { lfItalic: 1 } : {},
|
|
17492
17487
|
...style.underline ? { lfUnderline: 1 } : {}
|
|
@@ -17608,7 +17603,7 @@ var ListView = (0, import_react9.forwardRef)(function ListViewInner({ columns, d
|
|
|
17608
17603
|
4150,
|
|
17609
17604
|
0,
|
|
17610
17605
|
32 | 1 | 65536
|
|
17611
|
-
/*
|
|
17606
|
+
/* LvExStyle.DOUBLEBUFFER */
|
|
17612
17607
|
);
|
|
17613
17608
|
const n = columns.length;
|
|
17614
17609
|
for (let j = 0; j < n; j++) {
|
|
@@ -17653,7 +17648,7 @@ var ListView = (0, import_react9.forwardRef)(function ListViewInner({ columns, d
|
|
|
17653
17648
|
4126,
|
|
17654
17649
|
j,
|
|
17655
17650
|
-2
|
|
17656
|
-
/*
|
|
17651
|
+
/* LvColumnWidthCmd.AUTOSIZE_USEHEADER */
|
|
17657
17652
|
);
|
|
17658
17653
|
}
|
|
17659
17654
|
}
|
|
@@ -17795,7 +17790,7 @@ var ScrollView = (0, import_react12.forwardRef)(({ children, style, contentWidth
|
|
|
17795
17790
|
natW,
|
|
17796
17791
|
natH,
|
|
17797
17792
|
4
|
|
17798
|
-
/*
|
|
17793
|
+
/* SetWindowPosFlag.SWP_NOZORDER */
|
|
17799
17794
|
);
|
|
17800
17795
|
forceFlexLayout(content);
|
|
17801
17796
|
if (natW > svW) {
|
|
@@ -17834,7 +17829,7 @@ var ScrollView = (0, import_react12.forwardRef)(({ children, style, contentWidth
|
|
|
17834
17829
|
0,
|
|
17835
17830
|
0,
|
|
17836
17831
|
1 | 4
|
|
17837
|
-
/*
|
|
17832
|
+
/* SetWindowPosFlag.SWP_NOZORDER */
|
|
17838
17833
|
);
|
|
17839
17834
|
gui12.SetScrollInfo(sv, bar, { pos: newPos }, true);
|
|
17840
17835
|
}
|
|
@@ -17900,7 +17895,7 @@ var ScrollView = (0, import_react12.forwardRef)(({ children, style, contentWidth
|
|
|
17900
17895
|
handleScroll(
|
|
17901
17896
|
e,
|
|
17902
17897
|
1
|
|
17903
|
-
/*
|
|
17898
|
+
/* ScrollBar.VERT */
|
|
17904
17899
|
);
|
|
17905
17900
|
return 0;
|
|
17906
17901
|
}
|
|
@@ -17908,7 +17903,7 @@ var ScrollView = (0, import_react12.forwardRef)(({ children, style, contentWidth
|
|
|
17908
17903
|
handleScroll(
|
|
17909
17904
|
e,
|
|
17910
17905
|
0
|
|
17911
|
-
/*
|
|
17906
|
+
/* ScrollBar.HORZ */
|
|
17912
17907
|
);
|
|
17913
17908
|
return 0;
|
|
17914
17909
|
}
|
|
@@ -18072,7 +18067,7 @@ function deleteAllItems(hTree) {
|
|
|
18072
18067
|
4353,
|
|
18073
18068
|
1,
|
|
18074
18069
|
-65536
|
|
18075
|
-
/*
|
|
18070
|
+
/* TvInsertAfter.ROOT */
|
|
18076
18071
|
);
|
|
18077
18072
|
}
|
|
18078
18073
|
var TreeView = (0, import_react16.forwardRef)(function TreeViewInner({ data, onSelect, defaultSelectedKey, selectedKey: controlledKey, style }, ref) {
|
|
@@ -18104,7 +18099,7 @@ var TreeView = (0, import_react16.forwardRef)(function TreeViewInner({ data, onS
|
|
|
18104
18099
|
4396,
|
|
18105
18100
|
0,
|
|
18106
18101
|
4
|
|
18107
|
-
/*
|
|
18102
|
+
/* TvExStyle.DOUBLEBUFFER */
|
|
18108
18103
|
);
|
|
18109
18104
|
}, []);
|
|
18110
18105
|
(0, import_react16.useEffect)(() => {
|
|
@@ -18146,9 +18141,16 @@ var b3 = (name, sig) => bind("comdlg32.dll", name, sig);
|
|
|
18146
18141
|
var GetOpenFileName = /* @__PURE__ */ b3("GetOpenFileNameW", "<OPENFILENAMEW>ptr -> u32");
|
|
18147
18142
|
|
|
18148
18143
|
// _build/lib/windows/shell32.js
|
|
18149
|
-
var b4 = (name, sig) => bind("shell32.dll", name, sig);
|
|
18144
|
+
var b4 = (name, sig, encoders) => bind("shell32.dll", name, sig, encoders);
|
|
18150
18145
|
var SHBrowseForFolder = /* @__PURE__ */ b4("SHBrowseForFolderW", "<BROWSEINFOW>ptr -> <>ptr");
|
|
18151
18146
|
var SHGetPathFromIDList = /* @__PURE__ */ b4("SHGetPathFromIDListW", "<>ptr <BYTE>ptr -> u32");
|
|
18147
|
+
var Shell_NotifyIconGetRect = (() => {
|
|
18148
|
+
try {
|
|
18149
|
+
return b4("Shell_NotifyIconGetRect", "<NOTIFYICONIDENTIFIER>ptr <RECT>ptr -> i32", { NOTIFYICONIDENTIFIER });
|
|
18150
|
+
} catch {
|
|
18151
|
+
return null;
|
|
18152
|
+
}
|
|
18153
|
+
})();
|
|
18152
18154
|
|
|
18153
18155
|
// _build/lib/windows/ole32.js
|
|
18154
18156
|
var b5 = (name, sig) => bind("ole32.dll", name, sig);
|
|
@@ -2,10 +2,11 @@ import '../lib/polyfill.js'
|
|
|
2
2
|
import * as gui from 'gui'
|
|
3
3
|
import { Suspense, lazy, useState } from 'react'
|
|
4
4
|
import { render } from '../lib/react-qw/index.js'
|
|
5
|
+
import { WindowStyle, WmMsg } from '../constants'
|
|
5
6
|
|
|
6
7
|
gui.RegisterClass('LazyTest', (hwnd, msg, wParam, lParam) => {
|
|
7
8
|
if (!hwnd) return gui.DefWindowProc(hwnd, msg, wParam, lParam)
|
|
8
|
-
if (msg ===
|
|
9
|
+
if (msg === WmMsg.DESTROY) {
|
|
9
10
|
gui.PostQuitMessage(0)
|
|
10
11
|
return 0
|
|
11
12
|
}
|
|
@@ -15,7 +16,7 @@ gui.RegisterClass('LazyTest', (hwnd, msg, wParam, lParam) => {
|
|
|
15
16
|
function SimpleComponent() {
|
|
16
17
|
return (
|
|
17
18
|
<w type="STATIC" text="Hello from lazy component!"
|
|
18
|
-
ws={
|
|
19
|
+
ws={WindowStyle.CHILD | WindowStyle.VISIBLE}
|
|
19
20
|
style={{width:300, height:30}} />
|
|
20
21
|
)
|
|
21
22
|
}
|
|
@@ -28,11 +29,11 @@ const LazySimple = lazy(async () => {
|
|
|
28
29
|
function App() {
|
|
29
30
|
const [show, setShow] = useState(false)
|
|
30
31
|
return (
|
|
31
|
-
<w type="STATIC" ws={
|
|
32
|
+
<w type="STATIC" ws={WindowStyle.VISIBLE}
|
|
32
33
|
style={{flexDirection:'column', padding:10, gap:10, flexGrow:1}}>
|
|
33
34
|
<w type="BUTTON"
|
|
34
35
|
text={show ? 'Hide Lazy' : 'Show Lazy'}
|
|
35
|
-
ws={
|
|
36
|
+
ws={WindowStyle.CHILD | WindowStyle.VISIBLE}
|
|
36
37
|
style={{width:150, height:30}}
|
|
37
38
|
onEvent={(e: { msg: number; wParam: number; lParam: number }) => {
|
|
38
39
|
if (e.msg === 0x0202) setShow(!show)
|
|
@@ -41,7 +42,7 @@ function App() {
|
|
|
41
42
|
{show && (
|
|
42
43
|
<Suspense fallback={
|
|
43
44
|
<w type="STATIC" text="Loading..."
|
|
44
|
-
ws={
|
|
45
|
+
ws={WindowStyle.CHILD | WindowStyle.VISIBLE}
|
|
45
46
|
style={{width:200, height:30}} />
|
|
46
47
|
}>
|
|
47
48
|
<LazySimple />
|
|
@@ -53,7 +54,7 @@ function App() {
|
|
|
53
54
|
|
|
54
55
|
const hwnd = gui.CreateWindow(
|
|
55
56
|
'LazyTest', 'React.lazy Test',
|
|
56
|
-
|
|
57
|
+
WindowStyle.OVERLAPPEDWINDOW,
|
|
57
58
|
200, 200, 400, 300, null, null
|
|
58
59
|
)
|
|
59
60
|
|