コード例 #1
0
ファイル: DataFlow.cs プロジェクト: ystallonne/Core2D
 public void Bind(FrameContainerViewModel container, object db, object r)
 {
     foreach (var layer in container.Layers)
     {
         Bind(layer, db, r);
     }
 }
コード例 #2
0
        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 { })
コード例 #3
0
 private bool IsContainer(object source)
 {
     return(source switch
     {
         LayerContainerViewModel targetLayer => true,
         FrameContainerViewModel targetPage => true,
         DocumentContainerViewModel targetDocument => true,
         _ => false
     });
コード例 #4
0
    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);
    }
コード例 #5
0
    public void Render(object dc, IShapeRenderer renderer, ISelection selection, FrameContainerViewModel container, double dx, double dy)
    {
        DrawContainer(dc, renderer, selection, container);

        if (container.WorkingLayer is { })
コード例 #6
0
 public void Render(object dc, IShapeRenderer renderer, ISelection selection, FrameContainerViewModel container, double dx, double dy)
 {
     if (container is PageContainerViewModel page && page.Template is { })