internal override RectangleF getRepaintRect(bool connected) { RectangleF result = new RectangleF(0, 0, 0, 0); if (!connected) result = getBoundingRect(); else { RectangleF rc = getBoundingRect(); InvalidAreaUpdater inv = new InvalidAreaUpdater(rc, false); visitHierarchy(inv); result = inv.getInvalidRect(); } result.Inflate(flowChart.SelHandleSize, flowChart.SelHandleSize); if (selectedBoxes.Count > 0) { // some boxes might be rotated and their rotation handles // be quite outside the selection rectangle float infl = 6 * Constants.getMillimeter(flowChart.MeasureUnit); result.Inflate(infl, infl); } return result; }
internal override RectangleF getRepaintRect(bool includeConnected) { RectangleF repaintRect = base.getRepaintRect(includeConnected); if (includeConnected) { InvalidAreaUpdater updtr = new InvalidAreaUpdater(repaintRect, true); visitArrows(updtr); repaintRect = updtr.getInvalidRect(); } return repaintRect; }