public bool HitTest(ISheet sheet, XBlock block, ImmutableRect rect, XBlock selected, bool findOnlyOne, bool findInsideBlock) { if (HitTest(block.Points, rect, sheet.GetParent(), selected, findOnlyOne)) { if (findOnlyOne) { return(true); } } if (HitTest(block.Texts, rect, sheet.GetParent(), selected, findOnlyOne)) { if (findOnlyOne) { return(true); } } if (HitTest(block.Images, rect, sheet.GetParent(), selected, findOnlyOne)) { if (findOnlyOne) { return(true); } } if (HitTest(block.Lines, rect, selected, findOnlyOne)) { if (findOnlyOne) { return(true); } } if (HitTest(block.Rectangles, rect, sheet.GetParent(), selected, findOnlyOne)) { if (findOnlyOne) { return(true); } } if (HitTest(block.Ellipses, rect, sheet.GetParent(), selected, findOnlyOne)) { if (findOnlyOne) { return(true); } } if (HitTest(block.Blocks, rect, sheet.GetParent(), selected, findOnlyOne, findInsideBlock)) { if (findOnlyOne) { return(true); } } return(false); }
public bool HitTest(XBlock block, ImmutableRect rect, object relativeTo, XBlock selected, bool findOnlyOne, bool findInsideBlock) { if (HitTest(block.Points, rect, relativeTo, selected, findOnlyOne)) { if (findOnlyOne) { return(true); } } if (HitTest(block.Texts, rect, relativeTo, selected, findOnlyOne)) { if (findOnlyOne) { return(true); } } if (HitTest(block.Images, rect, relativeTo, selected, findOnlyOne)) { if (findOnlyOne) { return(true); } } if (HitTest(block.Lines, rect, selected, findOnlyOne)) { if (findOnlyOne) { return(true); } } if (HitTest(block.Rectangles, rect, relativeTo, selected, findOnlyOne)) { if (findOnlyOne) { return(true); } } if (HitTest(block.Ellipses, rect, relativeTo, selected, findOnlyOne)) { if (findOnlyOne) { return(true); } } if (HitTest(block.Blocks, rect, relativeTo, selected, findOnlyOne, findInsideBlock)) { if (findOnlyOne) { return(true); } } return(false); }
public bool HitTest(IElement element, ImmutableRect rect, object relativeTo) { var r = new Rect(rect.X, rect.Y, rect.Width, rect.Height); var bounds = WpfVisualHelper.GetContentBounds(element, relativeTo); if (r.IntersectsWith(bounds)) { return(true); } return(false); }
public bool HitTest(IEnumerable <XBlock> blocks, ImmutableRect rect, object relativeTo, XBlock selected, bool findOnlyOne, bool findInsideBlock) { foreach (var block in blocks) { if (HitTest(block, rect, relativeTo, findInsideBlock ? selected : null, true, false)) { if (selected != null) { selected.Blocks.Add(block); } if (findOnlyOne) { return(true); } } } return(false); }
public bool HitTest(IEnumerable <XImage> images, ImmutableRect rect, object relativeTo, XBlock selected, bool findOnlyOne) { foreach (var image in images) { if (_blockHelper.HitTest(image, rect, relativeTo)) { if (selected != null) { selected.Images.Add(image); } if (findOnlyOne) { return(true); } } } return(false); }
public bool HitTest(IEnumerable <XText> texts, ImmutableRect rect, object relativeTo, XBlock selected, bool findOnlyOne) { foreach (var text in texts) { if (_blockHelper.HitTest(text, rect, relativeTo)) { if (selected != null) { selected.Texts.Add(text); } if (findOnlyOne) { return(true); } } } return(false); }
public bool HitTest(IEnumerable <XEllipse> ellipses, ImmutableRect rect, object relativeTo, XBlock selected, bool findOnlyOne) { foreach (var ellipse in ellipses) { if (_blockHelper.HitTest(ellipse, rect, relativeTo)) { if (selected != null) { selected.Ellipses.Add(ellipse); } if (findOnlyOne) { return(true); } } } return(false); }
public bool HitTest(IEnumerable <XRectangle> rectangles, ImmutableRect rect, object relativeTo, XBlock selected, bool findOnlyOne) { foreach (var rectangle in rectangles) { if (_blockHelper.HitTest(rectangle, rect, relativeTo)) { if (selected != null) { selected.Rectangles.Add(rectangle); } if (findOnlyOne) { return(true); } } } return(false); }
public bool HitTest(IEnumerable <XLine> lines, ImmutableRect rect, XBlock selected, bool findOnlyOne) { foreach (var line in lines) { if (_blockHelper.HitTest(line, rect)) { if (selected != null) { selected.Lines.Add(line); } if (findOnlyOne) { return(true); } } } return(false); }