public Topic[] GetTopicsInRect(Rectangle rect) { rect.X -= ChartBox.Margin.Left; rect.Y -= ChartBox.Margin.Top; rect.X -= TranslatePoint.X; rect.Y -= TranslatePoint.Y; // if (HorizontalScroll.Enabled) { rect.X += HorizontalScroll.Value; } if (VerticalScroll.Enabled) { rect.Y += VerticalScroll.Value; } rect = PaintHelper.DeZoom(rect, Zoom); // List <Topic> topics = new List <Topic>(); if (Map != null && Map.Root != null) { GetTopicsInRect(Map.Root, rect, topics); } return(topics.ToArray()); }