Beispiel #1
0
		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;
		}
Beispiel #2
0
		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;
		}