public AvaloniaContainerPresenter(IToolContext context, IContainerView view) { _context = context; _view = view; _renderTarget = null; _editorContainerPresenter = new SkiaEditorContainerPresenter(_context, _view); }
public void InitializeWith(IContainerPresenter containerPresenter, IReadOnlyList <ISubPresenterItem> subPresenterItems) { for (int i = 0; i < subPresenterItems.Count; i++) { var subPresenterItem = subPresenterItems[i]; subPresenterItem.Index = i; var presenter = _container.Resolve <TSubPresenter>(subPresenterItem.PresenterType); _allSubPresenters.Add(subPresenterItem, presenter); containerPresenter.AddSubItemView(subPresenterItem, presenter.BaseView); } //needs to be done last so that the list of sub presenters is available base.InitializeWith(containerPresenter); }
public void Dispose() { if (_renderTarget != null) { _renderTarget.Dispose(); _renderTarget = null; } if (_editorContainerPresenter != null) { _editorContainerPresenter.Dispose(); _editorContainerPresenter = null; } }
protected override void Context() { _eventPublisher = A.Fake <IEventPublisher>(); _subPresenter1 = A.Fake <ISubPresenter1>(); _subPresenter2 = A.Fake <ISubPresenter2>(); _subPresenter3 = A.Fake <ISubPresenter3>(); _container = A.Fake <IContainer>(); A.CallTo(() => _container.Resolve <ISubPresenter>(typeof(ISubPresenter1))).Returns(_subPresenter1); A.CallTo(() => _container.Resolve <ISubPresenter>(typeof(ISubPresenter2))).Returns(_subPresenter2); A.CallTo(() => _container.Resolve <ISubPresenter>(typeof(ISubPresenter3))).Returns(_subPresenter3); _containerPresenter = A.Fake <IContainerPresenter>(); sut = new SubPresenterItemManager <ISubPresenter>(_container, _eventPublisher); sut.InitializeWith(_containerPresenter, SubPresenterItems.All); }
private PdfPage Add(PdfDocument pdf, PageContainerViewModel container, IContainerPresenter presenter) { // Create A3 page size with Landscape orientation. var pdfPage = pdf.AddPage(); pdfPage.Size = PageSize.A3; pdfPage.Orientation = PageOrientation.Landscape; var dataFlow = _serviceProvider.GetService <DataFlow>(); var db = (object)container.Properties; var record = (object)container.Record; dataFlow.Bind(container.Template, db, record); dataFlow.Bind(container, db, record); using (XGraphics gfx = XGraphics.FromPdfPage(pdfPage)) { // Calculate x and y page scale factors. double scaleX = pdfPage.Width.Value / container.Template.Width; double scaleY = pdfPage.Height.Value / container.Template.Height; double scale = Math.Min(scaleX, scaleY); // Set scaling function. _scaleToPage = (value) => value * scale; // Draw container template contents to pdf graphics. Fill(gfx, 0, 0, pdfPage.Width.Value / scale, pdfPage.Height.Value / scale, container.Template.Background); // Draw template contents to pdf graphics. presenter.Render(gfx, this, null, container.Template, 0, 0); // Draw page contents to pdf graphics. presenter.Render(gfx, this, null, container, 0, 0); } return(pdfPage); }
/// <summary> /// Initializes a new instance of the <see cref="PdfSkiaSharpExporter"/> class. /// </summary> /// <param name="renderer">The shape renderer.</param> /// <param name="presenter">The container presenter.</param> /// <param name="targetDpi">The target renderer dpi.</param> public PdfSkiaSharpExporter(IShapeRenderer renderer, IContainerPresenter presenter, float targetDpi = 72.0f) { _renderer = renderer; _presenter = presenter; _targetDpi = targetDpi; }
/// <summary> /// Initializes a new instance of the <see cref="PngSkiaSharpExporter"/> class. /// </summary> /// <param name="renderer">The shape renderer.</param> /// <param name="presenter">The container presenter.</param> public PngSkiaSharpExporter(IShapeRenderer renderer, IContainerPresenter presenter) { _renderer = renderer; _presenter = presenter; }