Example #1
0
        public override void OnChangeFrameSize(FigmaSharp.Views.Size newSize)
        {
            if (g == null || newSize.Width == 0 || newSize.Height == 0)
            {
                return;
            }

            var deltaX = newSize.Width / g.SampleableBox.Width;
            var deltaY = newSize.Height / g.SampleableBox.Height;

            g.Children.Clear();
            foreach (var item in originals)
            {
                var cloned = item;
                if (cloned is NGraphics.Path path)
                {
                    foreach (var op in path.Operations)
                    {
                        if (op is LineTo lineTo)
                        {
                            lineTo.Point.X *= deltaX;
                            lineTo.Point.Y *= deltaY;
                        }
                        else if (op is MoveTo moveTo)
                        {
                            moveTo.Point.X *= deltaX;
                            moveTo.Point.Y *= deltaY;
                        }
                        else if (op is CurveTo curveTo)
                        {
                            curveTo.Control2.X *= deltaX;
                            curveTo.Control2.Y *= deltaY;

                            curveTo.Control1.X *= deltaX;
                            curveTo.Control1.Y *= deltaY;

                            curveTo.Point.X *= deltaX;
                            curveTo.Point.Y *= deltaY;
                        }
                        else
                        {
                            Console.WriteLine("");
                        }
                    }
                }
                g.Children.Add(cloned);
            }
            base.OnChangeFrameSize(newSize);
        }
Example #2
0
 public static NGraphics.Size ToNGraphicSize(this FigmaSharp.Views.Size sender)
 {
     return(new NGraphics.Size(sender.Width, sender.Height));
 }