replaced get*Span() methods with getVisibleRect()