(&self, e: &mut MouseEvent)
| 265 | } |
| 266 | |
| 267 | fn mousemove(&self, e: &mut MouseEvent) { |
| 268 | let inside = Helper::in_rect( |
| 269 | e.x as f32, |
| 270 | e.y as f32, |
| 271 | self.x(), |
| 272 | self.y(), |
| 273 | self.w(), |
| 274 | self.h(), |
| 275 | ); |
| 276 | |
| 277 | let mut component = self.component.borrow_mut(); |
| 278 | //inside but leaving |
| 279 | if component.ishovered && !inside { |
| 280 | self.mouseleave(e); |
| 281 | if self.state.borrow().mouse_down { |
| 282 | // TODO: config + move to mouseleave |
| 283 | self.mouseup(e); |
| 284 | } |
| 285 | } else if !component.ishovered && inside { |
| 286 | self.mouseenter(e); |
| 287 | } |
| 288 | |
| 289 | if component.onmousemove.is_some() { |
| 290 | let _ = component.onmousemove.get().try_send(e.clone()); |
| 291 | } |
| 292 | } |
| 293 | |
| 294 | fn mousewheel(&self, e: &mut MouseEvent) { |
| 295 | let mut component = self.component.borrow_mut(); |
nothing calls this directly
no test coverage detected