public void ConfigureProperty()

in FigmaSharp/FigmaSharp.Cocoa/Converters/Layers/ElipseConverter.cs [76:124]


        public void ConfigureProperty(string propertyName, FigmaNode node, IView view)
        {
            var elipseNode = (FigmaElipse)node;
            var elipseView = (NSView)view.NativeObject;
            var circleLayer = (CAShapeLayer)elipseView.Layer.Sublayers[0];

            if (propertyName == nameof (Properties.FillColor))
            {
                //to define system colors
                var fills = elipseNode.fills.OfType<FigmaPaint>().FirstOrDefault();
                if (fills != null && fills.color != null)
                    circleLayer.FillColor = fills.color.ToCGColor();
                else
                    circleLayer.FillColor = NSColor.Clear.CGColor;
                return;
            }

            if (propertyName == nameof(Properties.StrokeColor))
            {
                var strokes = elipseNode.strokes.FirstOrDefault();
                if (strokes?.color != null)
                    circleLayer.StrokeColor = strokes.color.MixOpacity(strokes.opacity).ToNSColor().CGColor;
                return;
            }

            if (propertyName == nameof(Properties.StrokeDashes))
            {
                if (elipseNode.strokeDashes != null)
                {
                    var number = new NSNumber[elipseNode.strokeDashes.Length];
                    for (int i = 0; i < elipseNode.strokeDashes.Length; i++)
                        number[i] = elipseNode.strokeDashes[i];
                    circleLayer.LineDashPattern = number;
                }
                return;
            }

            if (propertyName == nameof(Properties.LineWidth))
            {
                circleLayer.LineWidth = elipseNode.strokeWeight;
                return;
            }

            if (propertyName == nameof(Properties.Opacity))
            {
                elipseView.AlphaValue = elipseNode.opacity;
                return;
            }
        }