Skip to content

Move definitions for magnification.dll to winBindings#18958

Merged
SaschaCowley merged 9 commits into
masterfrom
magnification
Sep 24, 2025
Merged

Move definitions for magnification.dll to winBindings#18958
SaschaCowley merged 9 commits into
masterfrom
magnification

Conversation

@SaschaCowley

@SaschaCowley SaschaCowley commented Sep 22, 2025

Copy link
Copy Markdown
Member

Link to issue number:

None

Summary of the issue:

Screen curtain defined ctypes bindings to magnification.dll from the Windows API.

Description of user facing changes:

None.

Description of developer facing changes:

Moved definitions to winBindings.magnification.

Description of development approach:

Move definitions to source/winBindings/magnification.py. Remove from Magnification class. Add deprecation handling code. Tidy definitions to not use so many temporary definitions.

Note that these definitions use ctypes' function prototype syntax. This was carried across from the old definitions. We plan to move to this syntax anyway.

Testing strategy:

Ran from source. Tried enabling temporary and regular screen curtain. Tried importing deprecated symbols.

Known issues with pull request:

None

Code Review Checklist:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

@SaschaCowley SaschaCowley marked this pull request as ready for review September 22, 2025 04:56
@SaschaCowley SaschaCowley requested a review from a team as a code owner September 22, 2025 04:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Moves Windows Magnification API bindings from the screenCurtain module to a new dedicated winBindings.magnification module to improve code organization and reusability. This refactoring maintains backward compatibility through deprecation handling.

  • Extracts magnification API bindings to a dedicated module in winBindings
  • Updates screen curtain implementation to use the new module
  • Adds deprecation handling for moved symbols

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
source/winBindings/magnification.py New module containing magnification API bindings with proper documentation
source/visionEnhancementProviders/screenCurtain.py Updated to use new magnification module with deprecation handling
tests/unit/test_visionEnhancementProviders/test_magnificationAPI.py Updated imports to use new magnification module
source/NVDAHelper/localLib.py Minor cleanup of function argument type definition

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread source/visionEnhancementProviders/screenCurtain.py Outdated
Comment thread source/visionEnhancementProviders/screenCurtain.py
Comment thread source/visionEnhancementProviders/screenCurtain.py
Comment thread source/winBindings/magnification.py Outdated
@seanbudd seanbudd added the conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review. label Sep 23, 2025
# Conflicts:
#	user_docs/en/changes.md
@SaschaCowley SaschaCowley changed the title Move definitions for magnification.dll to winBindings" Move definitions for magnification.dll to winBindings Sep 24, 2025
@SaschaCowley SaschaCowley merged commit 6473676 into master Sep 24, 2025
74 of 77 checks passed
@SaschaCowley SaschaCowley deleted the magnification branch September 24, 2025 23:12
@github-actions github-actions Bot added this to the 2026.1 milestone Sep 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api-breaking-change conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants