Esempio n. 1
0
 public virtual void InvalidateAll(InvalidationBuffer buffer = InvalidationBuffer.All)
 {
     // NB selection does not update Base, unlike above
     if (m_Page == null || m_BaseBuffer == null)
     {
         return;
     }
     if ((buffer & InvalidationBuffer.Base) > 0)
     {
         m_BaseBuffer.InvalidateAll();
     }
     Invalidate();
 }
Esempio n. 2
0
        public virtual void InvalidateData(RectangleF invalid, InvalidationBuffer buffer, bool textFlowExpand = true)
        {
            // invalidate part of the picture - the area is specified in data coordinates
            // must invalidate both the buffer and Windows itself
            // last parameter can be false if we know that the change will not move the text flow arrows
            if (invalid.IsEmpty || m_Page == null || m_BaseBuffer == null)
            {
                return;
            }
            Rectangle screen = Rectangle.Round(DataToClient(invalid));

            Invalidate(screen);
            if ((buffer & (InvalidationBuffer.Base | InvalidationBuffer.Selection)) > 0)
            {
                m_BaseBuffer.Invalidate(screen);                 //: Debug.WriteLine("Invalidate base: " + rctInvalid.ToString)
            }
        }