Skip to content

HtmlPanel: Ctrl+wheel zoom and middle-button pan#247

Open
kushanp wants to merge 3 commits into
ArthurHub:masterfrom
kushanp:pr/htmlpanel-zoom
Open

HtmlPanel: Ctrl+wheel zoom and middle-button pan#247
kushanp wants to merge 3 commits into
ArthurHub:masterfrom
kushanp:pr/htmlpanel-zoom

Conversation

@kushanp

@kushanp kushanp commented Jul 25, 2026

Copy link
Copy Markdown

Summary

Adds browser-style zoom and middle-button pan to HtmlPanel.

Features

  • Ctrl + mouse wheel: zoom in/out, anchor-to-cursor
  • Ctrl + / − / 0: zoom in, zoom out, reset (optional keyboard path)
  • Middle mouse button drag: pan when content is zoomed/scrollable
  • When zoomed, paint uses Graphics scale transform and forces GDI+ text so glyphs scale (GDI TextOut ignores ScaleTransform)

Depends on

This branch is stacked on #246 (.NET 10 modernization).
Please review/merge #246 first. After that, this PR can be rebased onto master if needed.

Test plan

  • dotnet build -c Release HtmlRenderer.WinForms on this branch
  • Manual: Ctrl+wheel zoom over content anchors to cursor
  • Manual: middle-drag pans
  • Manual: Ctrl+0 resets zoom

Scope

WinForms HtmlPanel (+ small GraphicsAdapter support). No Core TFM changes beyond #246.

kushanp added 3 commits July 25, 2026 19:31
Keep the Core package reference aligned with the latest .NET 10 servicing release.
Implement browser-style zoom with anchor-to-cursor on Ctrl+MouseWheel,
optional Ctrl+/−/0 shortcuts, and middle-button drag panning. Scale paint
via Graphics transform and force GDI+ text when zoomed so glyphs scale
(GDI TextOut ignores ScaleTransform).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants