public void PreInvalidate(Region invalidateRegion) { if (InvalidateRegion == null) { return; } RemoveOverlapsFromRegion(invalidateRegion, false); InvalidateRegion.Union(invalidateRegion); }
public void Invalidate(Region invalidateRegion) { if (InvalidateRegion == null) { return; } RemoveOverlapsFromRegion(invalidateRegion, false); InvalidateRegion.Union(invalidateRegion); if (InvalidateDisabled <= 0) { InvalidateIfNeeded(); } }
private void InvalidateIfNeeded() { if (m_Parent != null) { m_Parent.InvalidateIfNeeded(); return; } if (InvalidateRegion == null) { return; //not assigned to Parent } if (OnInvalidate != null) { if (InvalidateRegion.IsVisible(Rect)) { InvalidateRegion.Intersect(Rect); OnInvalidate(InvalidateRegion); } } InvalidateRegion.MakeEmpty(); }