[PR #4850] til::size #25987

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

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

State: closed
Merged: Yes


Summary of the Pull Request

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

PR Checklist

  • In support of Differental 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 cx/cy (Win32 SIZE)
  • Automatically converts out to COORD, SIZE, or D2D1_SIZE_F.
  • Constructs from bare integers written into source file
  • Default constructs to empty
  • Uses Chromium Math for all basic math operations (+, -, *, /)
  • Provides equality tests
  • Adds initial proposal for division-to-ceiling (round up division) that attempts to ceil without any floating point math.
  • Accessors for height/width
  • Type converting accessors (that use safe conversions and throw) for height/width
  • Convenience function for area calculation (as that's common with type) and uses safe math to do it.
  • TAEF/WEX Output and Comparators so they will print very nicely with VERIFY and Log macros in our testing suite.

Validation Steps Performed

  • See automated tests of functionality.
**Original Pull Request:** https://github.com/microsoft/terminal/pull/4850 **State:** closed **Merged:** Yes --- ## Summary of the Pull Request Introduces convenience type `til::size` which automatically implements our best practices for size-related types and provides automatic conversions in/out of the relevant types. ## PR Checklist * [x] In support of Differental 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 cx/cy (Win32 `SIZE`) - Automatically converts out to `COORD`, `SIZE`, or `D2D1_SIZE_F`. - Constructs from bare integers written into source file - Default constructs to empty - Uses Chromium Math for all basic math operations (+, -, *, /) - Provides equality tests - Adds initial proposal for division-to-ceiling (round up division) that attempts to `ceil` without any floating point math. - Accessors for height/width - Type converting accessors (that use safe conversions and throw) for height/width - Convenience function for area calculation (as that's common with type) and uses safe math to do it. - TAEF/WEX Output and Comparators so they will print very nicely with `VERIFY` and `Log` macros in our testing suite. ## Validation Steps Performed - See automated tests of functionality.
claunia added the pull-request label 2026-01-31 09:13:07 +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#25987