[PR #4897] til::point #26017

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

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

State: closed
Merged: Yes


Summary of the Pull Request

Introduces convenience type til::point which automatically implements our best practices for point-related types and provides automatic conversions in/out of the relevant types.

PR Checklist

  • In support of Differential Rendering #778
  • I work here.
  • Tests added/passed
  • I'm a core contributor.

Detailed Description of the Pull Request / Additional comments

  • Automatically converts in from anything with a X/Y (console COORD) or x/y (Win32 POINT)
  • Automatically converts out to COORD, POINT, or D2D1_POINT_2F.
  • Constructs from bare integers written into source file
  • Default constructs to empty
  • Uses Chromium Math for all basic math operations (+, -, *, /)
  • Provides equality tests
  • Accessors for x/y
  • Type converting accessors (that use safe conversions and throw) for x/y
  • TAEF/WEX Output and Comparators so they will print very nicely with VERIFY and Log macros in our testing suite.
  • A natvis

Validation Steps Performed

  • See automated tests of functionality.
**Original Pull Request:** https://github.com/microsoft/terminal/pull/4897 **State:** closed **Merged:** Yes --- ## Summary of the Pull Request Introduces convenience type `til::point` which automatically implements our best practices for point-related types and provides automatic conversions in/out of the relevant types. ## PR Checklist * [x] In support of Differential Rendering #778 * [X] I work here. * [x] Tests added/passed * [x] I'm a core contributor. ## Detailed Description of the Pull Request / Additional comments - Automatically converts in from anything with a X/Y (console `COORD`) or x/y (Win32 `POINT`) - Automatically converts out to `COORD`, `POINT`, or `D2D1_POINT_2F`. - Constructs from bare integers written into source file - Default constructs to empty - Uses Chromium Math for all basic math operations (+, -, *, /) - Provides equality tests - Accessors for x/y - Type converting accessors (that use safe conversions and throw) for x/y - TAEF/WEX Output and Comparators so they will print very nicely with `VERIFY` and `Log` macros in our testing suite. - A natvis ## Validation Steps Performed - See automated tests of functionality.
claunia added the pull-request label 2026-01-31 09:13:23 +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#26017