Пример #1
0
        public void PreInvalidate(Region invalidateRegion)
        {
            if (InvalidateRegion == null)
            {
                return;
            }

            RemoveOverlapsFromRegion(invalidateRegion, false);
            InvalidateRegion.Union(invalidateRegion);
        }
Пример #2
0
        public void Invalidate(Region invalidateRegion)
        {
            if (InvalidateRegion == null)
            {
                return;
            }

            RemoveOverlapsFromRegion(invalidateRegion, false);
            InvalidateRegion.Union(invalidateRegion);
            if (InvalidateDisabled <= 0)
            {
                InvalidateIfNeeded();
            }
        }
Пример #3
0
        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();
        }