public QuadraticBezierSelection(IServiceProvider?serviceProvider, LayerContainerViewModel layer, QuadraticBezierShapeViewModel shape, ShapeStyleViewModel style) { _serviceProvider = serviceProvider; _layer = layer; _quadraticBezier = shape; _styleViewModel = style; }
public static AM.Geometry ToGeometry(QuadraticBezierShapeViewModel quadraticBezier) { var sg = new AM.StreamGeometry(); using var sgc = sg.Open(); sgc.BeginFigure( new A.Point(quadraticBezier.Point1.X, quadraticBezier.Point1.Y), quadraticBezier.IsFilled); sgc.QuadraticBezierTo( new A.Point(quadraticBezier.Point2.X, quadraticBezier.Point2.Y), new A.Point(quadraticBezier.Point3.X, quadraticBezier.Point3.Y)); sgc.EndFigure(false); return(sg); }
public override object Copy(IDictionary <object, object>?shared) { var copy = new QuadraticBezierShapeViewModel(ServiceProvider) { Name = Name, State = State, Style = _style?.CopyShared(shared), IsStroked = IsStroked, IsFilled = IsFilled, Properties = _properties.CopyShared(shared).ToImmutable(), Record = _record, Point1 = _point1?.CopyShared(shared), Point2 = _point2?.CopyShared(shared), Point3 = _point3?.CopyShared(shared) }; return(copy); }
public void BeginDown(InputArgs args) { var factory = _serviceProvider.GetService <IFactory>(); var editor = _serviceProvider.GetService <ProjectEditorViewModel>(); (decimal sx, decimal sy) = editor.TryToSnap(args); switch (_currentState) { case State.Point1: { editor.IsToolIdle = false; var style = editor.Project.CurrentStyleLibrary?.Selected is { } ? editor.Project.CurrentStyleLibrary.Selected : editor.Factory.CreateShapeStyle(ProjectEditorConfiguration.DefaulStyleName); _quadraticBezier = factory.CreateQuadraticBezierShape( (double)sx, (double)sy, (ShapeStyleViewModel)style.Copy(null), editor.Project.Options.DefaultIsStroked, editor.Project.Options.DefaultIsFilled); editor.SetShapeName(_quadraticBezier); var result = editor.TryToGetConnectionPoint((double)sx, (double)sy); if (result is { })
public void Bind(QuadraticBezierShapeViewModel quadraticBezier, object db, object r) { }
public QuadraticBezierDrawNode(QuadraticBezierShapeViewModel quadraticBezier, ShapeStyleViewModel style) { Style = style; QuadraticBezier = quadraticBezier; UpdateGeometry(); }
public IQuadraticBezierDrawNode CreateQuadraticBezierDrawNode(QuadraticBezierShapeViewModel quadraticBezier, ShapeStyleViewModel style) { return(new QuadraticBezierDrawNode(quadraticBezier, style)); }
public QuadraticBezierPathToolViewModel(IServiceProvider serviceProvider) : base(serviceProvider) { _currentState = State.Point1; _quadraticBezier = new QuadraticBezierShapeViewModel(serviceProvider); }