Unify circular corner geometry and shader masks
This commit is contained in:
1 parent
0162870cca
commit
f110ec80e1
19 files changed
+277
-135
No files matched your search
@@ -0,0 +1,19 @@
|
||||
/// Radius of a concentric inset, in the same units as the outer radius.
|
||||
pub fn inner_radius(outer: f32, padding: f32) -> f32 {
|
||||
(outer - padding).max(0.0)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn inset_corners_preserve_the_center_and_saturate() {
|
||||
assert_eq!(inner_radius(14.0, 4.0), 10.0);
|
||||
assert_eq!(inner_radius(7.5, 2.25), 5.25);
|
||||
assert_eq!(inner_radius(14.0, 0.0), 14.0);
|
||||
assert_eq!(inner_radius(14.0, 14.0), 0.0);
|
||||
assert_eq!(inner_radius(14.0, 20.0), 0.0);
|
||||
assert_eq!(inner_radius(0.0, 4.0), 0.0);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user