sla@brillig.umd.edu (Steve Armentrout) (06/01/90)
I am using MacApp 2.0 Finally to write an application and have a question concerning the implementation of TWindow.DrawContents. Currently, it calls EraseRect(visRect) on the entire invalid region before telling its subviews to Draw. This causes an anoying flicker in some of my windows. In particular, I have a one window containing only a TTextListView (plus scrollbars) and another window containing only a TTextGridView (plus scrollbars). When these Text*Views are resized programatically (and they are often), I get an unnecessary flicker before they are redrawn. My question is: Why aren't the subviews of a window responsible for their own erasing before they draw? This would necessitate a more robust TWindow.DrawContents that would, instead of erasing the entire invalid region, erases only that portion of the invalid region not occupied by a subview. That way, the subviews can perform more asthetic erasing, and when they resize, can count on the window to "cleanup" any garbage that may remain after the resizing. Is it that the "region" processing is too expensive computationally? Insights and suggestions welcome. Thanks, Steve