Pull logic for clamping corner rounding radii out of Corners::to_pixels
(#27460)
This seems more correct as corners are not necessarily only for rounding radii. Also applies clamping after scaling in `paint_quad`, deduplicating that logic. This also provides a more precise result by doing the clamping after scaling, avoiding floating point rounding issues (probably a non-issue). Release Notes: - N/A
This commit is contained in:
parent
76192ea93c
commit
8c8f50d916
4 changed files with 55 additions and 27 deletions
|
@ -2333,13 +2333,19 @@ impl Window {
|
|||
let scale_factor = self.scale_factor();
|
||||
let content_mask = self.content_mask();
|
||||
let opacity = self.element_opacity();
|
||||
|
||||
let bounds = quad.bounds.scale(scale_factor);
|
||||
let corner_radii = quad
|
||||
.corner_radii
|
||||
.scale(scale_factor)
|
||||
.clamp_radii_for_quad_size(bounds.size);
|
||||
self.next_frame.scene.insert_primitive(Quad {
|
||||
order: 0,
|
||||
bounds: quad.bounds.scale(scale_factor),
|
||||
bounds,
|
||||
content_mask: content_mask.scale(scale_factor),
|
||||
background: quad.background.opacity(opacity),
|
||||
border_color: quad.border_color.opacity(opacity),
|
||||
corner_radii: quad.corner_radii.scale(scale_factor),
|
||||
corner_radii,
|
||||
border_widths: quad.border_widths.scale(scale_factor),
|
||||
border_style: quad.border_style,
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue