public static void CreateConstraints(this NSView view, NSView parent, FigmaLayoutConstraint constraints, FigmaRectangle absoluteBoundingBox, FigmaRectangle absoluteBoundBoxParent) { System.Console.WriteLine("Create constraint horizontal:{0} vertical:{1}", constraints.horizontal, constraints.vertical); if (constraints.horizontal.Contains("RIGHT")) { var endPosition1 = absoluteBoundingBox.x + absoluteBoundingBox.width; var endPosition2 = absoluteBoundBoxParent.x + absoluteBoundBoxParent.width; var value = Math.Max(endPosition1, endPosition2) - Math.Min(endPosition1, endPosition2); view.RightAnchor.ConstraintEqualToAnchor(parent.RightAnchor, -value).Active = true; var value2 = absoluteBoundingBox.x - absoluteBoundBoxParent.x; view.LeftAnchor.ConstraintEqualToAnchor(parent.LeftAnchor, value2).Active = true; } if (constraints.horizontal != "RIGHT") { var value2 = absoluteBoundingBox.x - absoluteBoundBoxParent.x; view.LeftAnchor.ConstraintEqualToAnchor(parent.LeftAnchor, value2).Active = true; } if (constraints.horizontal.Contains("BOTTOM")) { var value = absoluteBoundingBox.y - absoluteBoundBoxParent.y; view.TopAnchor.ConstraintEqualToAnchor(parent.TopAnchor, value).Active = true; var endPosition1 = absoluteBoundingBox.y + absoluteBoundingBox.height; var endPosition2 = absoluteBoundBoxParent.y + absoluteBoundBoxParent.height; var value2 = Math.Max(endPosition1, endPosition2) - Math.Min(endPosition1, endPosition2); view.BottomAnchor.ConstraintEqualToAnchor(parent.BottomAnchor, -value2).Active = true; } if (constraints.horizontal != "BOTTOM") { var value = absoluteBoundingBox.y - absoluteBoundBoxParent.y; view.TopAnchor.ConstraintEqualToAnchor(parent.TopAnchor, value).Active = true; } }
public static CGRect ToCGRect(this FigmaRectangle rectangle) { return(new CGRect(0, 0, rectangle.width, rectangle.height)); }