Skip to main content

hit_test_pred

Function hit_test_pred 

Source
pub fn hit_test_pred<Msg, F>(
    mounted: &Mounted<Msg>,
    computed: &ComputedLayout,
    x: f32,
    y: f32,
    pred: F,
) -> Option<usize>
where F: Fn(&MountedNode<Msg>) -> bool,
Expand description

Hit-test parametrizado por elegibilidad. Devuelve el índice del nodo más al frente (último en pre-orden) cuyo rect contiene (x, y) y para el cual pred devuelve true, respetando clip: si el punto cae afuera de un nodo con clip, el subárbol entero es invisible.

Respeta transform: igual que paint, compone el afín acumulado de los ancestros (cada transform alrededor del centro del rect del nodo, convención CSS transform-origin: 50% 50%). El punto de pantalla (x, y) se lleva al espacio local del nodo invirtiendo ese afín, y se testea contra el rect sin transformar. Así un nodo rotado/escalado/ trasladado recibe los clicks donde realmente se ve pintado (recorrido tipo Prezi, lienzos de tullpu, @keyframes de puriy). Un subárbol con afín singular (escala 0) es inalcanzable, igual que es invisible.