Drawing AttributedString with ellipsis

I may be missing something obvious here but I can’t find an easy way to draw an AttributedString in only one line with an ellipsis if the text is longer than the available area.

Using AttributedString::draw will ignore the area passed in and just spill over if the text is bigger.
I tried using TextLayout. This will only draw the first line but I can’t make it use the ellipsis on the end.
So I’d now build something myself by fiddling around with the lines within text layout etc.
But it feels kinda hacky. Is there an easier way of doing this?