/// <summary>
 /// invalidate this node and all nodes up to root
 /// </summary>
 /// <param name="invalidateShape">true: invalidate the shape also</param>
 public void Invalidate(bool invalidateShape)
 {
     base.Invalidate();
     if (invalidateShape && m_shape != null)
     {
         m_shape.Invalidate();
     }
 }