public void HitTest(Point point, out DiagramItem element, out DiagramHitTestRegion region) { element = null; region = DiagramHitTestRegion.None; foreach (DiagramItem childElement in _rootElements) { DiagramItem resultElement; DiagramHitTestRegion resultRegion; childElement.HitTest(point, out resultElement, out resultRegion); if (resultRegion != DiagramHitTestRegion.None) { element = resultElement; region = resultRegion; break; } } }
public void HitTest(Point point, out DiagramItem element, out DiagramHitTestRegion region) { element = null; if (ScaleRectangle(_boundingBox).Contains(point)) { element = this; if (ScaleRectangle(new Rectangle(_location, _size)).Contains(point)) { if (_hasChildElements && ScaleRectangle(_childExpandButtonBox).Contains(point)) { region = DiagramHitTestRegion.ChildExpandButton; } else { region = DiagramHitTestRegion.Element; } } else { region = DiagramHitTestRegion.BoundingBox; if (_showChildElements) { foreach (DiagramItem childElement in _childElements) { DiagramItem resultElement; DiagramHitTestRegion resultRegion; childElement.HitTest(point, out resultElement, out resultRegion); if (resultRegion != DiagramHitTestRegion.None) { element = resultElement; region = resultRegion; break; } } } } } else { region = DiagramHitTestRegion.None; } }
public void HitTest(Point point, out DiagramItem element, out DiagramHitTestRegion region) { element = null; if (ScaleRectangle(_boundingBox).Contains(point)) { element = this; if (ScaleRectangle(new Rectangle(_location, _size)).Contains(point)) { if (_hasChildElements && ScaleRectangle(_childExpandButtonBox).Contains(point)) region = DiagramHitTestRegion.ChildExpandButton; else region = DiagramHitTestRegion.Element; } else { region = DiagramHitTestRegion.BoundingBox; if (_showChildElements) { foreach (DiagramItem childElement in _childElements) { DiagramItem resultElement; DiagramHitTestRegion resultRegion; childElement.HitTest(point, out resultElement, out resultRegion); if (resultRegion != DiagramHitTestRegion.None) { element = resultElement; region = resultRegion; break; } } } } } else { region = DiagramHitTestRegion.None; } }
public void HitTest(Point point, out DiagramItem element, out DiagramHitTestRegion region) { element = null; region = DiagramHitTestRegion.None; foreach (DiagramItem childElement in _rootElements) { DiagramItem resultElement; DiagramHitTestRegion resultRegion; childElement.HitTest(point, out resultElement, out resultRegion); if (resultRegion != DiagramHitTestRegion.None) { element = resultElement; region = resultRegion; break; } } }