[PR #15090] [MERGED] Expose hyperlink attributes in PaintBufferGridLines #30401

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/15090
Author: @lhecker
Created: 4/3/2023
Status: Merged
Merged: 4/3/2023
Merged by: @lhecker

Base: mainHead: dev/lhecker/renderer-hyperlink-fix


📝 Commits (1)

  • 3f9c5c1 Expose hyperlink attributes in PaintBufferGridLines

📊 Changes

6 files changed (+56 additions, -47 deletions)

View changed files

📝 src/cascadia/TerminalControl/ControlCore.cpp (+1 -1)
📝 src/renderer/base/renderer.cpp (+35 -23)
📝 src/renderer/base/renderer.hpp (+5 -1)
📝 src/renderer/dx/DxRenderer.cpp (+1 -7)
📝 src/renderer/dx/DxRenderer.hpp (+0 -1)
📝 src/renderer/inc/IRenderEngine.hpp (+14 -14)

📄 Description

Rendering hyperlinks is unneccessarily complex at the moment, because
it requires you to implement UpdateDrawingBrushes, manually extract
the hyperlink flag from the given TextAttribute and save it until the
next call to PaintBufferGridLines which does not get that flag.
This isn't particularly clean as it assumes that PaintBufferGridLines
will be called after UpdateDrawingBrushes in the first place.

Instead, we can simply pass the hyperlink flag to UpdateDrawingBrushes
so that the renderers don't need to deal with this anymore.

PR Checklist

  • Hyperlinks show up with a dotted line
  • Hovering hyperlinks underline them

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/15090 **Author:** [@lhecker](https://github.com/lhecker) **Created:** 4/3/2023 **Status:** ✅ Merged **Merged:** 4/3/2023 **Merged by:** [@lhecker](https://github.com/lhecker) **Base:** `main` ← **Head:** `dev/lhecker/renderer-hyperlink-fix` --- ### 📝 Commits (1) - [`3f9c5c1`](https://github.com/microsoft/terminal/commit/3f9c5c1fea498e5039da296802de17d1c83c42d4) Expose hyperlink attributes in PaintBufferGridLines ### 📊 Changes **6 files changed** (+56 additions, -47 deletions) <details> <summary>View changed files</summary> 📝 `src/cascadia/TerminalControl/ControlCore.cpp` (+1 -1) 📝 `src/renderer/base/renderer.cpp` (+35 -23) 📝 `src/renderer/base/renderer.hpp` (+5 -1) 📝 `src/renderer/dx/DxRenderer.cpp` (+1 -7) 📝 `src/renderer/dx/DxRenderer.hpp` (+0 -1) 📝 `src/renderer/inc/IRenderEngine.hpp` (+14 -14) </details> ### 📄 Description Rendering hyperlinks is unneccessarily complex at the moment, because it requires you to implement `UpdateDrawingBrushes`, manually extract the hyperlink flag from the given `TextAttribute` and save it until the next call to `PaintBufferGridLines` which does not get that flag. This isn't particularly clean as it assumes that `PaintBufferGridLines` will be called after `UpdateDrawingBrushes` in the first place. Instead, we can simply pass the hyperlink flag to `UpdateDrawingBrushes` so that the renderers don't need to deal with this anymore. ## PR Checklist * Hyperlinks show up with a dotted line ✅ * Hovering hyperlinks underline them ✅ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:40:37 +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#30401