/// <summary> /// Gets the geometry's bounding rectangle with the specified stroke thickness. /// </summary> /// <param name="strokeThickness">The stroke thickness.</param> /// <returns>The bounding rectangle.</returns> public Rect GetRenderBounds(double strokeThickness) { if (_transformed != null) { return(_transformed.GetWidenedBounds((float)strokeThickness).ToPerspex()); } else { return(DefiningGeometry.GetWidenedBounds((float)strokeThickness).ToPerspex()); } }
protected override HitTestResult HitTestCore(PointHitTestParameters hitTestParameters) { if (ParentBond.Stereo == BondStereo.Wedge | ParentBond.Stereo == BondStereo.Hatch) { return(base.HitTestCore(hitTestParameters)); } else { Pen widepen = new Pen(Brushes.Black, 20.0); if (DefiningGeometry.StrokeContains(widepen, hitTestParameters.HitPoint)) { return(new PointHitTestResult(this, hitTestParameters.HitPoint)); } else { return(null); } } }