Esempio n. 1
0
        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;
                }
            }
        }
Esempio n. 2
0
 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;
     }
 }
Esempio n. 3
0
 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;
     }
 }
Esempio n. 4
0
        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;
                }
            }
        }