Skip to content

atlas: display underlines in the right color when they're highlighted#19872

Open
DHowett wants to merge 5 commits intomainfrom
dev/duhowett/eoy-25/underline-colors-in-atlas-bug-redux
Open

atlas: display underlines in the right color when they're highlighted#19872
DHowett wants to merge 5 commits intomainfrom
dev/duhowett/eoy-25/underline-colors-in-atlas-bug-redux

Conversation

@DHowett
Copy link
Member

@DHowett DHowett commented Feb 16, 2026

This pull request resolves a longstanding issue (which probably nobody
but me cared about :P) where gridlines and underlines did not change
color to match the selection or search highlight foreground.

During brush preparation, we stash the underline color; during line
rendering we store it in a third bitmap and during rendering in each
backend we read the colors out of the appropriate bitmap.

The gridlines come from the foreground bitmap and the underlines from
the new underline bitmap.

I've updated each instance of append*Line to break the line-to-render up
by color span.

We are, therefore, no longer passing the stroke color in each gridline
payload.

The original console renderer supports painting the gridlines in
different colors for each half of a 2-cell glyph. That functionality no
longer works in Atlas. To fix it, we would need to move underline span
preparation into PaintBufferLine (so that we could apply the right
colors to the bitmap mid-cell.)

Known Issues

  • D2D only; dotted lines which are broken by a highlight have doubled
    dots (because we draw them as individual line segments and without a
    global geometry like curly lines.)
  • Atlas (all); grid line colors can no longer change in the middle of
    a 2-cell glyph.

Tested By

RenderingTests

…underline production into PaintBufferLine itself

fix overshoot - remaining w only goes from current-from to global-to

d3d fix vertical line colors

d3d: fix var name
@DHowett DHowett force-pushed the dev/duhowett/eoy-25/underline-colors-in-atlas-bug-redux branch from 72660ba to c6bba3b Compare February 16, 2026 03:34
Tq101510

This comment was marked as spam.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants