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; }
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); }