Commit Graph

11497 Commits

Author SHA1 Message Date
fufesou
6a62b7bbd9 Fix cursor alignment when a scrollbar axis stops overflowing 2026-09-14 11:18:03 +08:00
fufesou
74c818bef9 Validate cursor source metadata before UI dispatch 2026-09-14 10:50:08 +08:00
fufesou
8f499c2eb5 Keep browser cursor validation coverage in the existing Web fixture 2026-09-14 10:43:05 +08:00
fufesou
2d5d11282b Trim redundant cursor density and alpha test combinations 2026-09-14 10:40:32 +08:00
fufesou
f6c89aa06c Validate and decode cursor packets at the Rust receive boundary 2026-09-14 10:00:54 +08:00
fufesou
c142cba450 Declare existing Zstd dependency for bounded cursor decoding 2026-09-14 09:52:05 +08:00
fufesou
ee8c843bc4 Validate raw cursor geometry and RGBA length before decoding 2026-09-14 09:37:40 +08:00
fufesou
2cfbbd56b4 Update cursor plugin to preserve sparse artwork when downscaling 2026-09-14 08:53:07 +08:00
fufesou
e7f307bb80 test: remove import superseded by shared cursor fixtures 2026-09-14 08:41:09 +08:00
fufesou
a0f24abe80 docs: shorten cursor scaling comments 2026-09-14 08:39:06 +08:00
fufesou
6137be5414 test: reuse native cursor registration recorder 2026-09-14 08:38:39 +08:00
fufesou
e76b7e7bc2 test: share cursor painting recorders 2026-09-14 08:37:57 +08:00
fufesou
1982bb3abd test: reuse cursor fixtures for Web and alpha coverage 2026-09-14 08:36:46 +08:00
fufesou
8cf138e2cc test: share cursor density policy fixtures 2026-09-14 08:32:09 +08:00
fufesou
19040f3eef fix: preserve unzoomed cursor size for hosts without density 2026-09-14 00:00:25 +08:00
fufesou
c02f17212a Reject unusable cursor density and oversized raster requests 2026-09-13 23:17:40 +08:00
fufesou
fbfa37c8fd Preserve legacy macOS cursor dimensions with optional Retina artwork 2026-09-13 23:17:21 +08:00
fufesou
819535f1db Bump cursor plugin to preserve same-name recreation 2026-09-13 18:18:36 +08:00
fufesou
110ddb9a6c Report Linux cursor density independently of the host UI 2026-09-13 17:48:03 +08:00
fufesou
9a1c1a1a36 Preserve DRM cursor density during display cache contention 2026-09-13 17:25:11 +08:00
fufesou
3629db2aa0 Keep one macOS cursor density snapshot and retry failed captures 2026-09-13 17:15:28 +08:00
fufesou
8869a440da fix(cursor): comments
Signed-off-by: fufesou <linlong1266@gmail.com>
2026-09-13 16:52:29 +08:00
fufesou
777407e72e Bump cursor plugin to invalidate activation after pointer removal 2026-09-13 16:45:28 +08:00
fufesou
20ede1a85f Activate native cursors after successful registration retries 2026-09-13 15:52:24 +08:00
fufesou
a87d9c1082 Use key-stable native cursor sessions during local movement 2026-09-13 15:05:31 +08:00
fufesou
bb06f54070 Keep rounded Retina cursor hotspots inside the bitmap 2026-09-13 15:01:18 +08:00
fufesou
16088cfc80 Synchronize custom-scrollbar cursor geometry after relayout 2026-09-13 14:53:47 +08:00
fufesou
b630f14483 Synchronize edge-scroll cursor geometry after relayout
Refresh edge-scroll fractions from laid-out scroll positions and repaint when
they differ from the values used by the frame. Preserve the repaint when a
deferred settings refresh has already changed the model.

Cover DPR changes, viewport clamping, detached scroll axes and restoration
with the actual video and cursor widgets in Original and Custom modes.

Verified 87 native Flutter cursor tests on each of macOS and Linux, plus
17 Chrome Web cursor tests.
2026-09-13 13:27:46 +08:00
fufesou
d2d7c83602 Keep edge-scroll fractions valid after clamped jumps 2026-09-13 12:04:05 +08:00
fufesou
d2561f7f6b Align remote cursor overlays with edge-scrolled video 2026-09-13 11:04:55 +08:00
fufesou
70c50402a2 Keep resized Web cursors within a proportional minimum 2026-09-13 10:58:34 +08:00
fufesou
bbc8ee3bdb Align painted cursors with Linux texture origins
Use the truncated Linux texture origin while preserving fractional cursor positions and hotspots. Compare painted cursor geometry with the actual video widget in the existing regression tests.
2026-09-13 10:04:12 +08:00
fufesou
32e9895294 Fix predefined cursor density and scrollbar centering 2026-09-13 00:18:06 +08:00
fufesou
feff308f11 test: reduce duplicate cursor fixtures and geometry checks 2026-09-12 23:32:26 +08:00
fufesou
5a89aa8c58 Resolve DRM cursor density from the complete display mapping 2026-09-12 23:02:12 +08:00
fufesou
6e2d838bf1 Keep density-aware cursor IDs compatible with legacy Web clients 2026-09-12 22:56:13 +08:00
fufesou
1fabdd6a9c Preserve Windows cursor alpha during native image decoding 2026-09-12 22:52:36 +08:00
fufesou
afdd1d5c9d Preserve the macOS cursor wire alpha format for older controllers 2026-09-12 21:47:08 +08:00
fufesou
371e5e8f2d Fix native cursor display selection during local movement 2026-09-12 21:46:28 +08:00
fufesou
4d064a8445 docs(cursor): explain outline alignment and Linux density scope 2026-09-12 20:51:59 +08:00
fufesou
02e4f02815 docs(cursor): explain image decoding and Retina sampling 2026-09-12 20:51:58 +08:00
fufesou
bbf86259e9 fix(cursor): encode macOS cursor alpha correctly in Sciter 2026-09-12 20:10:57 +08:00
fufesou
8dfff101f8 fix(cursor): align painted and native minimum sizes 2026-09-12 20:01:26 +08:00
fufesou
6934b3cb14 fix(cursor): follow Linux video pixel scale 2026-09-12 19:56:55 +08:00
fufesou
8f3beba2d1 fix(cursor): decode legacy macOS alpha for native cursors 2026-09-12 18:40:27 +08:00
fufesou
be1f4e0a33 fix(cursor): isolate optional X11 density failures 2026-09-12 18:30:27 +08:00
fufesou
cb068ba5df fix(cursor): decode predefined PNG images with correct alpha
Use Flutter's PNG codec before native rasterization and retain the straight-alpha image cache. Cover both bundled assets through PNG and Windows BGRA registration.
2026-09-12 17:46:57 +08:00
fufesou
1d98d1a647 fix(cursor): keep DRM density lookup off the polling path
Read optional Wayland metadata from the cache without starting discovery or waiting on a refresh. Keep delivering cursor shapes with unknown density when metadata is unavailable, and cover lock contention and repeated empty-cache reads.
2026-09-12 16:56:48 +08:00
fufesou
944f93ba7b fix(cursor): use plugin with nonzero raster dimensions 2026-09-12 15:54:38 +08:00
fufesou
aea8e2a4a6 fix(cursor): preserve macOS alpha through Web decode and resize 2026-09-12 15:51:22 +08:00