[PR #2930] Introduce UiaRenderer project #25155

Open
opened 2026-01-31 09:07:39 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/2930

State: closed
Merged: Yes


Summary of the Pull Request

As a part of setting up UIA Events, we need to be able to identify WHEN to notify the client. We'll be adopting the RendererEngine model that the VTRenderer and DxRenderer follow to identify when something on the screen is changing and what to alert the automation clients about.

This PR just introduces the UiaRenderer. There's a lot of E_NOTIMPLs and a few comments throughout as to my thoughts. This'll make diffing future PRs easier and can make this process more iterative. The code does run with the PR so I plan on merging this into master as normal.

Here's the game plan:

  • Introduce Project
  • Hookup UiaEngine to Renderer
  • Selection Events
  • Text Buffer Events
  • Scroll Events
  • Resize events?
  • Cursor Events?

References

#2447

PR Checklist

  • Closes None
  • CLA signed.
  • Tests added/passed
  • Requires documentation to be updated

Detailed Description of the Pull Request / Additional comments

There's definitely some functions that we won't be using and we should just return S_FALSE on. But the ones that return E_NOTIMPL are the ones I plan on actually populating.

Validation Steps Performed

Build passes.

**Original Pull Request:** https://github.com/microsoft/terminal/pull/2930 **State:** closed **Merged:** Yes --- ## Summary of the Pull Request As a part of setting up UIA Events, we need to be able to identify WHEN to notify the client. We'll be adopting the RendererEngine model that the VTRenderer and DxRenderer follow to identify when something on the screen is changing and what to alert the automation clients about. This PR just introduces the UiaRenderer. There's a lot of E_NOTIMPLs and a few comments throughout as to my thoughts. This'll make diffing future PRs easier and can make this process more iterative. The code does run with the PR so I plan on merging this into master as normal. Here's the game plan: - Introduce Project - Hookup UiaEngine to Renderer - Selection Events - Text Buffer Events - Scroll Events - Resize events? - Cursor Events? <!-- Other than the issue solved, is this relevant to any other issues/existing PRs? --> ## References #2447 <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [x] Closes None * [x] CLA signed. * [x] ~Tests added/passed~ * [x] ~Requires documentation to be updated~ <!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments There's definitely some functions that we won't be using and we should just return S_FALSE on. But the ones that return E_NOTIMPL are the ones I plan on actually populating. <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed Build passes.
claunia added the pull-request label 2026-01-31 09:07:39 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#25155