Skip to main content

RADIUS_UNIFORM

Constant RADIUS_UNIFORM 

Source
pub const RADIUS_UNIFORM: &str = "corner_radius";
Expand description

The four corner radii a rounded-corner program takes, in physical pixels, packed (top_left, top_right, bottom_left, bottom_right).

Effect::radii is in logical pixels, and this is the other side of that seam. A style says radius: 12 because that is what someone types into a Pane.qml, and a style should not have to know a monitor’s scale; the shader measures in texture pixels throughout and knows nothing else.

Whoever sets this uniform does the multiply by the output scale, on all four – crates/solium/src/pass.rs, not this crate and not the shader. The two numbers are equal on a scale-1 output, which is why getting it wrong looks perfect on the machine it was written on and shows up only on a HiDPI screen.