protected virtual void OnScaleChanged(ValueChangedEventArgs e) { if (!_externallySet) { ScaleChanged?.Invoke(this, e); } }
/// <summary> /// Handles control's MouseWheel event /// </summary> /// <param name="e"></param> protected override void OnMouseWheel(MouseEventArgs e) { var s0 = CurrentScale; var s1 = CurrentScale; var sf = FitScale; var c0 = new PointF(e.X - CtlCenter.X, e.Y - CtlCenter.Y); // relative control position of cursor (in pixels) var m0 = new PointF(c0.X / s0 - Offset.X, c0.Y / s0 - Offset.Y); // relative map position of cursor if (e.Delta > 0 && s0 < 100) { s1 *= 1.5f; } if (e.Delta < 0 && s0 > sf) { s1 /= 1.5f; } if (s1 != s0) { CurrentScale = s1; Offset = new PointF(c0.X / s1 - m0.X, c0.Y / s1 - m0.Y); Invalidate(); if (ScaleChanged != null) { ScaleChanged.Invoke(this, EventArgs.Empty); } } }
protected void RecalculateScale() { var scale = LocalScale * globalScale; var parents = GetParents(); Scale = parents.Any() ? parents.Select(rt => rt.LocalScale).Aggregate((parent, child) => parent * child) * scale : scale; recalculateRect = true; ScaleChanged?.Invoke(); }
void IDragHandler.OnDrag([NotNull] PointerEventData eventData) { if (targetTransform == null) { return; } float scale = 1f / ModuleListPanel.CanvasScale; var size = targetTransform.sizeDelta + Vector2.Scale(eventData.delta, new Vector2(scale, -scale)); targetTransform.sizeDelta = Vector2.Max(size, minSize); ScaleChanged?.Invoke(); //Debug.Log(targetTransform.sizeDelta); }
/// <summary> /// Resets the map view to default value (zoomed out full, centered) /// </summary> public void ResetView() { lock (LayerLock) { Layers = new[] { new Layer(3, RiverColor), new Layer(4, CrossColor), new Layer(2, RoadColor), new Layer(1, SwitchColor), new Layer(0, TrackColor) }; } FitScale = CurrentScale = GetFitScale(); MapCenter = new PointF(Splines.Bounds.X + Splines.Bounds.Width / 2, Splines.Bounds.Y + Splines.Bounds.Height / 2); Offset = new PointF(0, 0); Invalidate(); if (ScaleChanged != null) { ScaleChanged.Invoke(this, EventArgs.Empty); } if (PositionChanged != null) { PositionChanged.Invoke(this, EventArgs.Empty); } }
private void OnScalechanged() { ScaleChanged?.Invoke(Scale); TransformChanged?.Invoke(this); }
/// <summary> /// Raises the <see cref="ScaleChanged" /> event. /// </summary> /// <seealso cref="EventArgs" /> protected virtual void OnScaleChanged() { ScaleChanged?.Invoke(this, EventArgs.Empty); }
protected virtual void OnScaleChanged(EventArgs e) { ScaleChanged?.Invoke(this, e); }
public void RaiseScaleChanged(double newScale) { ScaleChanged?.Invoke(this, newScale); }
//--------------------------------------------------------------------------- private void OnScaleChanged(Vector2 oldScale, Vector2 newScale) { ScaleChanged?.Invoke(oldScale, newScale); }
protected virtual void OnScaleChanged(ScaleEventArgs args) { ScaleChanged?.Invoke(this, args); }
public void RaiseScaleChanged(object sender, EventArgs e) { ScaleChanged?.Invoke(sender, e); }
private static void OnScaledChanged(int newScale) { ScaleChanged?.Invoke(null, newScale); }