INNER CODE UNIT · Rust

hit_test_masked

rlaope/estudy · site/graph/crates/graph-wasm/src/lib.rs:400

pub fn hit_test_masked(x: f32, y: f32, mask: &[u8]) -> u32 {
    G.with(|g| {
        let g = g.borrow();
        let view = match &g.view {
            Some(v) => v,
            None => return NONE,
        };
        let n = g.radius.len();
        let mut best = NONE;
        let mut best_d = f32::INFINITY;
        for i in 0..n {
            if !mask.is_empty() && mask[i] == 0 {
                continue;
            }
            let sx = g.pos[2 * i] * view.scale + view.tx;
            let sy = g.pos[2 * i + 1] * view.scale + view.ty;
            let r = g.radius[i] * view.node_scale + 3.0; // 여유 3px
            let dx = sx - x;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…