MCPcopy Create free account
hub / github.com/angular-rust/ux-components / mousemove

Method mousemove

src/elements/window.rs:357–396  ·  view source on GitHub ↗
(&self, e: &mut MouseEvent)

Source from the content-addressed store, hash-verified

355 }
356
357 fn mousemove(&self, e: &mut MouseEvent) {
358 let ex = e.x as f32;
359 let ey = e.y as f32;
360 let mut state = self.state.borrow_mut();
361 if state.resizing {
362 let dx = ex - state.resize_x;
363 let dy = ey - state.resize_y;
364
365 let ww = self.w() + dx;
366 let hh = self.h() + dy;
367
368 let mut resized = false;
369
370 if (ww >= self.w_min() || ww <= self.w_max()) && ex >= self.x() {
371 state.resize_x = ex;
372 resized = true;
373 }
374
375 if (hh >= self.h_min() || hh <= self.h_max()) && ey >= self.y() {
376 state.resize_y = ey;
377 resized = true;
378 }
379
380 if resized {
381 self.set_size(ww, hh);
382 }
383 } else if state.dragging {
384 let dx = ex - state.drag_x;
385 let dy = ey - state.drag_y;
386
387 state.drag_x = ex;
388 state.drag_y = ey;
389
390 self.set_pos(self.x() + dx, self.y() + dy);
391 } else {
392 //dragging
393
394 // self.base.mousemove(e);
395 }
396 }
397
398 fn mousedown(&self, e: &mut MouseEvent) {
399 let ex = e.x as f32;

Callers

nothing calls this directly

Calls 10

set_posMethod · 0.80
wMethod · 0.45
hMethod · 0.45
w_minMethod · 0.45
w_maxMethod · 0.45
xMethod · 0.45
h_minMethod · 0.45
h_maxMethod · 0.45
yMethod · 0.45
set_sizeMethod · 0.45

Tested by

no test coverage detected