public void SetBracketExpressionPosition(Position containerOrigin, BracketExpression bracketExpression) { bracketExpression.Position = containerOrigin; containerOrigin.X += Paths.GetBracketLength(); SetElementPosition(containerOrigin, bracketExpression.InnerExpression); containerOrigin.X += Paths.GetBracketLength(); }
protected void ExportBracketExpression(Graphics graphics, BracketExpression bracketExpression) { ExportElement(graphics, bracketExpression.InnerExpression); var g1 = _fontLoader.GetGlyph("normal", "none", "("); var g2 = _fontLoader.GetGlyph("normal", "none", ")"); var w = g1.Width; var h = bracketExpression.InnerExpression.OuterHeight; var x1 = (float)(bracketExpression.Position.X.Quantity); var y1 = (float)bracketExpression.Position.Y.Quantity; var x2 = (float)(bracketExpression.Position.X.Quantity + bracketExpression.InnerExpression.OuterWidth.Quantity); var y2 = (float)bracketExpression.Position.Y.Quantity; var p1 = PathConverter.ConvertPath(new Path() { Commands = g1.PathCommands }); // Paths.GetBracketPath(new PointF(, , (float)h.Quantity); var p2 = PathConverter.ConvertPath(new Path() { Commands = g2.PathCommands }); // Paths.GetBracketPath(new PointF(, ), (float)h.Quantity, ")"); var m1 = new System.Drawing.Drawing2D.Matrix(); var m2 = new System.Drawing.Drawing2D.Matrix(); var sf = (float)h.Quantity / (1.7f * 20.0f); m1.Scale(sf, sf); m1.Translate(x1 / sf, y1 / sf + 25f); m2.Scale(sf, sf); m2.Translate(x2 / sf, y2 / sf + 25f); p1.Transform(m1); p2.Transform(m2); graphics.FillPath(Brushes.Black, p1); graphics.FillPath(Brushes.Black, p2); if (bracketExpression.DrawConstructionLines == true) { DrawConstructionLines(graphics, bracketExpression.Position, bracketExpression.SizeIncludingOuterMargin); } }
public void SetBracketExpressionSize(BracketExpression bracketExpression) { SetElementSize(bracketExpression.InnerExpression); bracketExpression.SizeOfContent.Width = bracketExpression.InnerExpression.OuterWidth + 2 * Paths.GetBracketLength(); bracketExpression.SizeOfContent.Height = bracketExpression.InnerExpression.OuterHeight; SetSizesOfElement(bracketExpression); var centreAlignmentPoint = new Position(); centreAlignmentPoint.X = bracketExpression.OuterWidth / 2; centreAlignmentPoint.Y = bracketExpression.OuterHeight / 2; bracketExpression.CentreAlignmentPoint = centreAlignmentPoint; }