Windows 3.x High-Speed Communications Library and Tools.
Find a file
Scott Duensing cd55adae4f Fix cursor artifacts and WM_TIMER starvation during high-speed data
Three fixes:

1. Cursor font mismatch: cursor overlay TextOut used the default DC
   font instead of FPaintFont (OEM_CHARSET). The wrong font size left
   residual pixels that buffer BitBlt didn't fully cover. Fix: select
   FPaintFont + OPAQUE BkMode into the CS_OWNDC screen DC once in
   RecalcCellSize, and re-assert before cursor TextOut in case VCL
   Paint altered the DC state.

2. WM_TIMER starvation: on Win16, WM_TIMER is lowest-priority and
   never dispatched while WM_COMMNOTIFY floods the queue. Fix: render
   from EndUpdate using GetTickCount throttle (no timer dependency).
   The timer remains as fallback for idle blink and trailing data.

3. Scroll performance: restore deferred ScrollDC at render time (not
   during parsing) so only newly-revealed rows need PaintLine instead
   of all 25. Dirty flags shift with each DoScrollUp to track the
   correct logical line positions after scroll.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 21:40:58 -06:00
delphi Fix cursor artifacts and WM_TIMER starvation during high-speed data 2026-02-26 21:40:58 -06:00
drivers Initial commit. 2026-02-23 20:53:02 -06:00
drv Optimize TKPAnsi rendering with batched TextOut and dirty row tracking 2026-02-26 21:15:51 -06:00
vbx VBX does not work. Moving to Delphi. 2026-02-25 22:06:08 -06:00
.gitattributes Initial commit. 2026-02-23 20:53:02 -06:00
.gitignore VBX does not work. Moving to Delphi. 2026-02-25 22:06:08 -06:00