Ejemplo n.º 1
0
 public WinFormsRenderer(IServiceProvider serviceProvider, double textScaleFactor = 1.0) : base(serviceProvider)
 {
     _state           = serviceProvider.GetService <IFactory>().CreateShapeRendererState();
     _biCache         = serviceProvider.GetService <IFactory>().CreateCache <string, Image>(bi => bi.Dispose());
     _textScaleFactor = textScaleFactor;
     _scaleToPage     = (value) => (float)(value);
 }
Ejemplo n.º 2
0
 protected NodeRendererViewModel(IServiceProvider?serviceProvider, IDrawNodeFactory drawNodeFactory) : base(serviceProvider)
 {
     _state           = serviceProvider.GetService <IViewModelFactory>().CreateShapeRendererState();
     _biCache         = serviceProvider.GetService <IViewModelFactory>().CreateCache <string, IDisposable>(x => x.Dispose());
     _drawNodeCache   = serviceProvider.GetService <IViewModelFactory>().CreateCache <object, IDrawNode>(x => x.Dispose());
     _drawNodeFactory = drawNodeFactory;
 }
Ejemplo n.º 3
0
 public DxfRenderer(IServiceProvider?serviceProvider) : base(serviceProvider)
 {
     _state   = serviceProvider.GetService <IViewModelFactory>().CreateShapeRendererState();
     _biCache = serviceProvider.GetService <IViewModelFactory>().CreateCache <string, DXFO.ImageDefinition>();
 }
Ejemplo n.º 4
0
        public static void InitializeContext(IServiceProvider serviceProvider)
        {
            var factory = serviceProvider.GetService <IFactory>();

            // Editor

            Editor                 = serviceProvider.GetService <ProjectEditorViewModel>();
            Editor.CurrentTool     = Editor.Tools.FirstOrDefault(x => x.Title == "Selection");
            Editor.CurrentPathTool = Editor.PathTools.FirstOrDefault(x => x.Title == "Line");

            // Recent Projects

            Editor.RecentProjects = Editor.RecentProjects.Add(RecentFileViewModel.Create(serviceProvider, "Test1", "Test1.project"));
            Editor.RecentProjects = Editor.RecentProjects.Add(RecentFileViewModel.Create(serviceProvider, "Test2", "Test2.project"));

            // New Project

            Editor.OnNewProject();

            // Data

            var db      = factory.CreateDatabase("Db");
            var fields  = new string[] { "Column0", "Column1" };
            var columns = ImmutableArray.CreateRange(fields.Select(c => factory.CreateColumn(db, c)));

            db.Columns = columns;
            var values = Enumerable.Repeat("<empty>", db.Columns.Length).Select(c => factory.CreateValue(c));
            var record = factory.CreateRecord(
                db,
                ImmutableArray.CreateRange(values));

            db.Records       = db.Records.Add(record);
            db.CurrentRecord = record;

            Database = db;
            Record   = record;

            // Project

            var containerFactory = serviceProvider.GetService <IContainerFactory>();

            Project = containerFactory.GetProject();

            Template = factory.CreateTemplateContainer();

            Page = factory.CreatePageContainer();
            var layer = Page.Layers.FirstOrDefault();

            layer.Shapes      = layer.Shapes.Add(factory.CreateLineShape(0, 0, null));
            Page.CurrentLayer = layer;
            Page.CurrentShape = layer.Shapes.FirstOrDefault();
            Page.Template     = Template;

            Document = factory.CreateDocumentContainer();
            Layer    = factory.CreateLayerContainer();
            Options  = factory.CreateOptions();

            CurrentStyleLibrary = Project.CurrentStyleLibrary;
            CurrentGroupLibrary = Project.CurrentGroupLibrary;

            // Scripting

            Script = factory.CreateScript();

            // State

            State = ShapeStateFlags.Default;

            // Style

            ArgbColor   = factory.CreateArgbColor(128, 255, 0, 0);
            ArrowStyle  = factory.CreateArrowStyle();
            FontStyle   = FontStyleFlags.Regular;
            ShapeStyle  = factory.CreateShapeStyle("Default");
            StrokeStyle = factory.CreateStrokeStyle();
            FillStyle   = factory.CreateFillStyle();
            TextStyle   = factory.CreateTextStyle();

            // Shapes

            Arc             = factory.CreateArcShape(0, 0, ShapeStyle);
            CubicBezier     = factory.CreateCubicBezierShape(0, 0, ShapeStyle);
            Ellipse         = factory.CreateEllipseShape(0, 0, ShapeStyle);
            Group           = factory.CreateGroupShape("Group");
            Image           = factory.CreateImageShape(0, 0, ShapeStyle, "key");
            Line            = factory.CreateLineShape(0, 0, ShapeStyle);
            Path            = factory.CreatePathShape(ShapeStyle, null);
            Point           = factory.CreatePointShape();
            QuadraticBezier = factory.CreateQuadraticBezierShape(0, 0, ShapeStyle);
            Rectangle       = factory.CreateRectangleShape(0, 0, ShapeStyle);
            Text            = factory.CreateTextShape(0, 0, ShapeStyle, "Text");

            // Path

            ArcSegment             = factory.CreateArcSegment(factory.CreatePointShape(), factory.CreatePathSize(), 180, true, SweepDirection.Clockwise);
            CubicBezierSegment     = factory.CreateCubicBezierSegment(factory.CreatePointShape(), factory.CreatePointShape(), factory.CreatePointShape());
            LineSegment            = factory.CreateLineSegment(factory.CreatePointShape());
            PathFigure             = factory.CreatePathFigure(factory.CreatePointShape(), false);
            PathGeometry           = factory.CreatePathGeometry(ImmutableArray.Create <PathFigureViewModel>(), FillRule.EvenOdd);
            PathSize               = factory.CreatePathSize();
            QuadraticBezierSegment = factory.CreateQuadraticBezierSegment(factory.CreatePointShape(), factory.CreatePointShape());

            // Renderer

            ShapeRendererState = factory.CreateShapeRendererState();
        }
Ejemplo n.º 5
0
 public PdfSharpRenderer(IServiceProvider?serviceProvider) : base(serviceProvider)
 {
     _state       = serviceProvider.GetService <IViewModelFactory>().CreateShapeRendererState();
     _biCache     = serviceProvider.GetService <IViewModelFactory>().CreateCache <string, XImage>(bi => bi.Dispose());
     _scaleToPage = (value) => (float)(value * 1.0);
 }