(&self, e: &mut MouseEvent)
| 472 | } |
| 473 | |
| 474 | fn mousemove(&self, e: &mut MouseEvent) { |
| 475 | let inside = Helper::in_rect( |
| 476 | e.x as f32, |
| 477 | e.y as f32, |
| 478 | self.x(), |
| 479 | self.y(), |
| 480 | self.w(), |
| 481 | self.h(), |
| 482 | ); |
| 483 | |
| 484 | let mut component = self.component.borrow_mut(); |
| 485 | //inside but leaving |
| 486 | if component.ishovered && !inside { |
| 487 | self.mouseleave(e); |
| 488 | if self.state.borrow().mouse_down { |
| 489 | // TODO: config + move to mouseleave |
| 490 | self.mouseup(e); |
| 491 | } |
| 492 | } else if !component.ishovered && inside { |
| 493 | self.mouseenter(e); |
| 494 | } |
| 495 | |
| 496 | if component.onmousemove.is_some() { |
| 497 | let _ = component.onmousemove.get().try_send(e.clone()); |
| 498 | } |
| 499 | } |
| 500 | |
| 501 | fn mousewheel(&self, e: &mut MouseEvent) { |
| 502 | let mut component = self.component.borrow_mut(); |
nothing calls this directly
no test coverage detected