MCPcopy Create free account
hub / github.com/Ruddle/Fomos / getf

Function getf

app_console/src/main.rs:83–107  ·  view source on GitHub ↗
(mut x: f32, mut y: f32, src: &[RGBA], wi: isize, hi: isize)

Source from the content-addressed store, hash-verified

81}
82
83fn getf(mut x: f32, mut y: f32, src: &[RGBA], wi: isize, hi: isize) -> RGBA {
84 let x0 = x as isize;
85 let x1 = x0 + 1;
86 let y0 = y as isize;
87 let y1 = y0 + 1;
88
89 let fx = x - x0 as f32;
90 let fy = y - y0 as f32;
91
92 let a = get(x0, y0, src, wi, hi);
93 let b = get(x1, y0, src, wi, hi);
94 let c = get(x1, y1, src, wi, hi);
95 let d = get(x0, y1, src, wi, hi);
96
97 let ax = (1.0 - fx) * a + fx * b;
98 let ay = (1.0 - fx) * d + fx * c;
99
100 let avg = ax * (1.0 - fy) + ay * fy;
101 RGBA {
102 r: avg.x as u8,
103 g: avg.y as u8,
104 b: avg.z as u8,
105 a: 0,
106 }
107}
108
109fn pt_in_rect(px: usize, py: usize, x: usize, y: usize, x2: usize, y2: usize) -> bool {
110 px >= x && px <= x2 && py >= y && py <= y2

Callers

nothing calls this directly

Calls 1

getFunction · 0.70

Tested by

no test coverage detected