protected override void OnResizeStart(UIElement element, ResizableBehavior resizableBehavior) { base.OnResizeStart(element, resizableBehavior); var snapSide = ArtboardSnapEngineUtils.GetResizeSide(resizableBehavior.ResizeInfo.HandleKind); _snapEngineContext = Canvas.Artboard?.SnapEngine?.CreateContext(new ArtboardSnapEngineContextParameters(element, snapSide)); }
public override double GetAxisValue(double sourceAxisValue, ArtboardSnapEngineContext context) { var gridLineControl = context.Engine.Artboard?.GridLineControlInternal; if (gridLineControl == null) { return(double.NaN); } var gridStep = gridLineControl.Model.GridSize; return(Calc(sourceAxisValue, gridStep, Axis == ArtboardAxis.X ? gridLineControl.ShowVerticalLines : gridLineControl.ShowHorizontalLines)); }
public override Point GetLocation(Point sourceLocation, ArtboardSnapEngineContext context) { var gridLineControl = context.Engine.Artboard?.GridLineControlInternal; if (gridLineControl == null) { return(new Point(double.NaN, double.NaN)); } var gridStep = gridLineControl.Model.GridSize; return(new Point(Calc(sourceLocation.X, gridStep, gridLineControl.ShowVerticalLines), Calc(sourceLocation.Y, gridStep, gridLineControl.ShowHorizontalLines))); }
public ArtboardSnapParameters(Rect rect, ArtboardSnapEngineContext context) { Rect = rect; Context = context; }
protected override void OnDragStart(UIElement element, DraggableBehavior draggableBehavior) { base.OnDragStart(element, draggableBehavior); _snapEngineContext = Canvas.Artboard?.SnapEngine?.CreateContext(new ArtboardSnapEngineContextParameters(element, ArtboardSnapRectSide.All)); }
protected override void OnDragEnd(UIElement element, DraggableBehavior draggableBehavior) { base.OnDragEnd(element, draggableBehavior); _snapEngineContext = _snapEngineContext.DisposeExchange(); }
protected override void OnResizeEnd(UIElement element, ResizableBehavior resizableBehavior) { base.OnResizeEnd(element, resizableBehavior); _snapEngineContext = _snapEngineContext.DisposeExchange(); }
public abstract Point GetLocation(Point sourceLocation, ArtboardSnapEngineContext context);