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
fufesou
d65faca21f
fix(cursor): preserve unzoomed Web size across browser DPRs
2026-09-12 15:42:47 +08:00
fufesou
85e7c72ccd
test(cursor): clarify scale constraints and isolate DPR checks
2026-09-12 14:32:15 +08:00
fufesou
a3bfe075d5
test(cursor): reuse painting and web fixtures
2026-09-12 14:28:41 +08:00
fufesou
7e2e9b68da
test(cursor): consolidate native DPI and bridge coverage
2026-09-12 14:26:00 +08:00
fufesou
6871ae130e
docs(cursor): clarify optional capture metadata and rendering scope
2026-09-12 10:46:05 +08:00
fufesou
54881092b7
refactor(cursor): separate native capture from rendering fixes
2026-09-12 10:40:23 +08:00
fufesou
34ceb16b63
fix(cursor): align the remote cursor with scrollbar offsets
2026-09-12 06:57:15 +08:00
fufesou
d95c3f2ec9
fix(cursor): preserve full cursor IDs in Web clients
2026-09-12 03:43:32 +08:00
fufesou
daafa09318
fix(cursor): keep the Windows minimum in logical pixels
2026-09-12 03:33:38 +08:00
fufesou
96cd5cd1e2
fix(cursor): align Web hotspots with rounded cursor images
2026-09-12 03:29:27 +08:00
fufesou
d876ea0ce4
fix(cursor): report X11 and Wayland cursor density
2026-09-12 03:27:53 +08:00
fufesou
2a61a0955a
fix(cursor): capture the physical Windows cursor across DPI changes
2026-09-12 03:26:52 +08:00
fufesou
db7c48e1a7
fix(cursor): normalize native cursor density in scaled views
2026-09-12 02:57:37 +08:00
fufesou
e72e7fb8ba
fix(cursor): capture complete macOS Retina cursor images
2026-09-12 02:47:37 +08:00
fufesou
4f0f784532
feat(cursor): carry the remote bitmap pixel density
2026-09-12 02:47:37 +08:00
fufesou
844bf40703
fix(cursor): align the painted cursor with the remote image
2026-09-12 02:24:31 +08:00
fufesou
f8bfc4eb56
chore(cursor): pin plugin with legacy platform routing preserved
2026-09-12 02:06:41 +08:00
fufesou
1061670368
fix(cursor): delegate native image scaling to cursor plugin
...
Use the original Flutter image and source hotspot with explicit DPR, retaining the existing view and minimum-size policies. Pin the plugin implementation from rustdesk-org/flutter_custom_cursor#1 .
2026-09-12 01:40:26 +08:00
fufesou
8da629c57d
revert(cursor): return to f5b98b32 before splitting plugin changes
2026-09-12 00:32:58 +08:00
fufesou
650a6e21cc
fix(web): preserve full precision in cursor identifiers
2026-09-12 00:20:47 +08:00
fufesou
5f4bb00007
fix(web): align cursor bitmap and hotspot rounding
2026-09-12 00:20:28 +08:00
fufesou
a7f1eb4c25
fix(cursor): address sizing and capture review findings
2026-09-12 00:19:10 +08:00
fufesou
be5fb304d4
fix(flutter): align painted cursor with the software image origin
2026-09-11 17:54:56 +08:00
fufesou
fdd67a875b
test(flutter): cover local cursor sizing and mode switches
2026-09-11 16:02:52 +08:00