Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce UiaRenderer project #2930

Merged
merged 10 commits into from
Oct 28, 2019
Merged

Introduce UiaRenderer project #2930

merged 10 commits into from
Oct 28, 2019

Conversation

carlos-zamora
Copy link
Member

@carlos-zamora carlos-zamora commented Sep 27, 2019

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.

@carlos-zamora carlos-zamora self-assigned this Sep 27, 2019
@carlos-zamora carlos-zamora requested a review from a team September 27, 2019 00:28
@DHowett-MSFT
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@DHowett-MSFT
Copy link
Contributor

Code format!

@carlos-zamora carlos-zamora added the Needs-Second It's a PR that needs another sign-off label Oct 1, 2019
@ghost ghost requested review from zadjii-msft and miniksa October 1, 2019 15:30
Copy link
Member

@zadjii-msft zadjii-msft left a comment

Choose a reason for hiding this comment

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

I guess I'm okay with this, esp considering it doesn't really add any functionality at the moment :P

However, we should probably yank the sources if it's unnecessary

@@ -250,6 +250,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LocalTests_TerminalApp", "s
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winconpty", "src\winconpty\winconpty.vcxproj", "{58A03BB2-DF5A-4B66-91A0-7EF3BA01269A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RendererUia", "src\renderer\uia\lib\uia.vcxproj", "{48D21369-3D7B-4431-9967-24E81292CF63}"
Copy link
Member

Choose a reason for hiding this comment

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

Be careful with #2949 coming to explode this file

src/renderer/uia/lib/sources Outdated Show resolved Hide resolved
src/renderer/uia/UiaRenderer.cpp Show resolved Hide resolved
Copy link
Member

@miniksa miniksa left a comment

Choose a reason for hiding this comment

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

Just clean up some stuff, man. Then we're good to go.

OpenConsole.sln Show resolved Hide resolved
src/renderer/uia/UiaRenderer.cpp Outdated Show resolved Hide resolved
src/renderer/uia/UiaRenderer.cpp Outdated Show resolved Hide resolved
src/renderer/uia/UiaRenderer.hpp Show resolved Hide resolved
src/renderer/uia/UiaRenderer.cpp Outdated Show resolved Hide resolved
src/renderer/uia/UiaRenderer.cpp Outdated Show resolved Hide resolved
src/renderer/uia/UiaRenderer.cpp Outdated Show resolved Hide resolved
src/renderer/uia/UiaRenderer.cpp Outdated Show resolved Hide resolved
src/renderer/uia/UiaRenderer.cpp Outdated Show resolved Hide resolved
src/renderer/uia/UiaRenderer.cpp Outdated Show resolved Hide resolved
@ghost ghost added the Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something label Oct 11, 2019
@ghost ghost removed the Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something label Oct 15, 2019
@carlos-zamora
Copy link
Member Author

No clue why the CI is failing me. @DHowett-MSFT mind taking a look when you get the chance? Builds and deploys just fine.

@DHowett-MSFT
Copy link
Contributor

@zadjii-msft's change to UpdateDrawingBrushes changed the signature, so your override function isn't overriding anything anymore.

@carlos-zamora carlos-zamora merged commit 444de5b into master Oct 28, 2019
DHowett-MSFT pushed a commit that referenced this pull request Dec 17, 2019
We unintentionally broke the build in #2930. If you're building the entire solution,
then you won't have any problems, because the `UiaRenderer` project will get built
before the `TerminalControl`. However, if you're like me and you only really build the
solution one project at a time, you'll find that building `TerminalControl` won't
build `UiaRenderer` automagically.

This fixes that.

s/o to @Rrogntudju for catching this
@carlos-zamora carlos-zamora deleted the dev/cazamor/acc/signaling branch March 12, 2020 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs-Second It's a PR that needs another sign-off
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants