Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private DrawingGroup GetDrawingHierarchy()
- {
- var result = new DrawingGroup();
- var geometryGroup = new GeometryGroup();
- var textGroup = new GeometryGroup();
- var horisontalGroup = new GeometryGroup();
- foreach (var line in lines)
- {
- var distance = line.To.Y;
- var yfrom = line.From.Y;
- line.From = new Point(line.From.X, GetCurrentY(line.From.Y) - downSpace);
- line.To = new Point(line.To.X, GetCurrentY(line.To.Y) - downSpace);
- if (Math.Abs(line.From.Y - line.To.Y) < 1)
- {
- if ((distance > 10 || distance < 1 / 10) && Math.Abs(yfrom) > 1)
- {
- horisontalGroup.Children.Add(new LineGeometry(line.From, line.From));
- } else {
- horisontalGroup.Children.Add(new LineGeometry(line.From, line.To)); }
- }
- else
- {
- if ((distance > 10 || distance < 1 / 10) && Math.Abs(yfrom) > 1)
- {
- continue;
- }
- geometryGroup.Children.Add(new LineGeometry(line.From, line.To));
- }
- textGroup.Children.Add(GetTextGeometry(line.From + new Vector(-2, 5), line.XName));
- textGroup.Children.Add(GetTextGeometry(new Point(0, line.From.Y), line.YName));
- }
- result.Children.Add(new GeometryDrawing(new SolidColorBrush(Colors.Green), new Pen(new SolidColorBrush(Colors.Green), 2), geometryGroup));
- result.Children.Add(new GeometryDrawing(new SolidColorBrush(Colors.Yellow), new Pen(new SolidColorBrush(Colors.Yellow), 2), horisontalGroup));
- result.Children.Add(new GeometryDrawing(MainBrush, MainPen, textGroup));
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement