Hi,

I need to find out which parts of which widgets are actually being shown. Usually the system will post a paint event when a widget needs to be redrawn, however, I have changing data which I want to display dynamically. The computation of the data is expensive and if the widget (canvasview) is obscured but other windows. The isVisible property is not sufficient since it is true even if the view is obscured. Ideally I would like to know which canvas items are visible and even parts that are visible. I don't know if I can reuse the paint engine for this since that must figure out which parts need to be redrawn. It seems like the draw() method is called every time I call an upate() on the canvasitem regardless if the item is actually visible or not. I know that the paint engine knows if an item is visible or not since no draw() method is called when the item is obscured and I move a window over it.
I would like to avoid the costly preparation of my data if it can't be seen anyway.

Any ideas how to handle this?

Thanks,
Tom