Ejemplo n.º 1
0
        private void DoHitTest(Point mouseLoc)
        {
            IBox hitBox = null;

            IBox.BoxHitTest hitRes = allBoxes.HitTest(mouseLoc, ref hitBox);
            Cursor          toSet  = Cursors.Default;

            switch (hitRes)
            {
            case IBox.BoxHitTest.AnchorPoint:
            {
                toSet = Cursors.SizeAll;
            }
            break;

            case IBox.BoxHitTest.ResizePointTL:
            case IBox.BoxHitTest.ResizePointBR:
            {
                toSet = Cursors.SizeNWSE;
            }
            break;

            case IBox.BoxHitTest.ResizePointTR:
            case IBox.BoxHitTest.ResizePointBL:
            {
                toSet = Cursors.SizeNESW;
            }
            break;
            }
            currentMovingOrSizing = hitBox;
            hitType       = hitRes;
            canvas.Cursor = toSet;
        }
Ejemplo n.º 2
0
 public IBox.BoxHitTest HitTest(Point p, ref IBox hitBox)
 {
     IBox.BoxHitTest res = IBox.BoxHitTest.None;
     foreach (IBox item in Items)
     {
         if ((res = item.HitTest(p)) != IBox.BoxHitTest.None)
         {
             hitBox = item;
             break;
         }
     }
     return(res);
 }