public void Bind(FrameContainerViewModel container, object db, object r) { foreach (var layer in container.Layers) { Bind(layer, db, r); } }
public void Render(object dc, IShapeRenderer renderer, ISelection selection, FrameContainerViewModel container, double dx, double dy) { var flags = renderer.State.DrawShapeState; renderer.State.DrawShapeState = ShapeStateFlags.Printable; if (container is PageContainerViewModel page && page.Template is { })
private bool IsContainer(object source) { return(source switch { LayerContainerViewModel targetLayer => true, FrameContainerViewModel targetPage => true, DocumentContainerViewModel targetDocument => true, _ => false });
public MemoryStream?MakeMetafileStream(object bitmap, FrameContainerViewModel container, IImageCache ic) { var g = default(Graphics); var mf = default(Metafile); var ms = new MemoryStream(); if (bitmap is not Bitmap image) { return(null); } try { using (g = Graphics.FromImage(image)) { var hdc = g.GetHdc(); mf = new Metafile(ms, hdc); g.ReleaseHdc(hdc); } using (g = Graphics.FromImage(mf)) { var p = new ExportPresenter(); var r = new WinFormsRenderer(_serviceProvider, 72.0 / 96.0); r.State.DrawShapeState = ShapeStateFlags.Printable; r.State.ImageCache = ic; g.SmoothingMode = SmoothingMode.HighQuality; g.PixelOffsetMode = PixelOffsetMode.HighQuality; g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit; g.CompositingQuality = CompositingQuality.HighQuality; g.InterpolationMode = InterpolationMode.HighQualityBicubic; g.PageUnit = GraphicsUnit.Display; if (container is PageContainerViewModel page) { p.Render(g, r, null, page.Template, 0, 0); } p.Render(g, r, null, container, 0, 0); r.ClearCache(); } } finally { g?.Dispose(); mf?.Dispose(); } return(ms); }
public void Render(object dc, IShapeRenderer renderer, ISelection selection, FrameContainerViewModel container, double dx, double dy) { DrawContainer(dc, renderer, selection, container); if (container.WorkingLayer is { })
public void Render(object dc, IShapeRenderer renderer, ISelection selection, FrameContainerViewModel container, double dx, double dy) { if (container is PageContainerViewModel page && page.Template is { })