public override void OnMouseIsUp(BasicMouseEventArgs e) { main.OnMouseIsUpMainView?.Invoke(e.Scale(main.ZoomFactor)); navigatorData.Reset(); state = ZoomButtonState.Neutral; Invalidate(); }
public override void OnMouseMoved(BasicMouseEventArgs e) { main.OnMouseMoveMainView?.Invoke(e.Scale(main.ZoomFactor)); ZoomButtonState newState = GraphUtil.GetNewZoomButtonState(e.X, e.Y, e.Width, e.Height, false); if (newState != state) { state = newState; Invalidate(); } }
public override void OnMouseDragged(BasicMouseEventArgs e) { if (navigatorData.IsMoving()) { PointI2 newXy = navigatorData.Dragging(e.X, e.Y, e.Width, e.Height, main.TotalWidth(), main.TotalHeight(), main.VisibleWidth, main.VisibleHeight, main.ZoomFactor); main.VisibleX = newXy.X; main.VisibleY = newXy.Y; invalidate(); return; } main.OnMouseDraggedMainView?.Invoke(e.Scale(main.ZoomFactor)); }
public override void OnMouseDoubleClick(BasicMouseEventArgs e) { Size2 overview = GraphUtil.CalcOverviewSize(e.Width, e.Height, main.TotalWidth(), main.TotalHeight()); if (e.X < overview.Width && e.Y > e.Height - overview.Height) { return; } if (GraphUtil.HitsMinusButton(e.X, e.Y, e.Width, e.Height)) { return; } if (GraphUtil.HitsPlusButton(e.X, e.Y, e.Width, e.Height)) { return; } main.OnMouseDoubleClickMainView?.Invoke(e.Scale(main.ZoomFactor)); }
public override void OnMouseIsDown(BasicMouseEventArgs e) { Size2 overview = GraphUtil.CalcOverviewSize(e.Width, e.Height, main.TotalWidth(), main.TotalHeight()); if (e.X < overview.Width && e.Y > e.Height - overview.Height) { OnMouseIsDownOverview(e.X, (int)(e.Y - e.Height + overview.Height), e.Width, e.Height); return; } ZoomButtonState newState = GraphUtil.GetNewZoomButtonState(e.X, e.Y, e.Width, e.Height, true); switch (newState) { case ZoomButtonState.PressMinus: main.ZoomFactor /= GraphUtil.zoomStep; invalidate(); main.InvalidateScrollbars(); main.UpdateZoom(); break; case ZoomButtonState.PressPlus: main.ZoomFactor *= GraphUtil.zoomStep; invalidate(); main.InvalidateScrollbars(); main.UpdateZoom(); break; default: if (newState != state) { invalidate(); } break; } state = newState; if (newState == ZoomButtonState.PressMinus || newState == ZoomButtonState.PressPlus) { return; } main.OnMouseIsDownMainView?.Invoke(e.Scale(main.ZoomFactor)); }