Repository navigation
MapWinGIS6 – ActiveX Test Host Enhancement Plan - #58
Merged
Merged
Conversation
- Pan with captured left-button drags and anchor wheel zoom at the cursor. - Test hosted input and document the navigation behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Julian-MW
reviewed
Nov 6, 2026
Julian-MW
left a comment
There was a problem hiding this comment.
Automated review. Final decision is with the human reviewer.
There was a problem hiding this comment.
🟡 Changes recommended
Windowless panning can start without granted mouse capture, and the navigation test does not reliably detect incorrect zoom anchoring, scaling, or pan direction.
2 open issues
What changed in this PR
Implements mouse navigation in the ActiveX wrapper using the core’s existing MapView API, without adding input handling to the core.
Changes:
- Adds left-button drag panning and cursor-anchored wheel zoom.
- Handles native and windowless mouse capture, including drag cancellation and cleanup.
- Extends opt-in hosted input coverage and documents navigation behavior.
Builds and tests were not run during this review.
| File | Description |
|---|---|
tests/MapWinGIS.ActiveX.Tests/ActiveXActivationTests.cpp |
Adds hosted wheel-zoom and drag-pan checks. |
src/MapWinGIS.ActiveX/MapWinGISControl.h |
Declares input handlers, capture helpers, and drag state. |
src/MapWinGIS.ActiveX/MapWinGISControl.cpp |
Implements mouse navigation and capture lifecycle handling. |
README.md |
Documents mouse navigation and resize behavior. |
docs/TESTING.md |
Describes opt-in hosted input coverage. |
docs/ARCHITECTURE.md |
Explains input routing to the shared viewport. |
Review effort: Balanced
- Require successful windowless capture before starting a drag. - Compare hosted mouse navigation with explicit COM navigation. - Update the architecture guide for implemented navigation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Implements PR 3 from the ActiveX Test Host Enhancement Plan.
MapView::Panusing viewport resolution, and anchors wheel zoom at the cursor withMapView::ZoomAt.Validation: Debug | x64 build with 0 warnings (origin/development baseline: 0); Core tests 268 passed, 1 skipped; ActiveX tests 46 passed, 2 skipped; registered-host input test passed; C# automated host checks passed. No dependencies added. The registered-host mouse test is opt-in and not part of default CI.