diff options
author | Bjørn Erik Nilsen <bjorn.nilsen@nokia.com> | 2009-06-02 16:53:42 (GMT) |
---|---|---|
committer | Andreas Aardal Hanssen <andreas.aardal.hanssen@nokia.com> | 2009-06-09 07:32:06 (GMT) |
commit | 95949e7ef88eb14b7b22b06d235603f8581f6aa0 (patch) | |
tree | 7290a91ce86144cced01d268af39c5b89c3f62c2 /tests/auto | |
parent | 6887a89b0e0ee7a0eaff2adc34ae71ab01e2ba2f (diff) | |
download | Qt-95949e7ef88eb14b7b22b06d235603f8581f6aa0.zip Qt-95949e7ef88eb14b7b22b06d235603f8581f6aa0.tar.gz Qt-95949e7ef88eb14b7b22b06d235603f8581f6aa0.tar.bz2 |
Cache QGrahicsItem's scene transform.
Invalidating the scene transform is just a matter of setting a bit on
the item. Then, when we ask for the item's scene transform, we
traverse its ancestors recursively and find the top-most dirty item.
The algorithm then backtracks to that item and start calculating the scene
transform for the item itself and all its children in the call stack.
If the item itself and all its ancestors are "clean", nothing is
calculated, only traversed.
We use this approach when processing dirty items / drawing items
as well. That way we ensure the scene transform is only calculated
once when absolutely needed.
G'night :)
Diffstat (limited to 'tests/auto')
0 files changed, 0 insertions, 0 deletions