Quote Originally Posted by wysota View Post
There is a special flag - ItemIgnoresTransformations - if would be useless if pos() was implemented using the transformation matrix.
Can't see how this wouldn't be trivial to implement. If the flag is set, only change the translation part of the affine transform. Just as for ItemIsMovable - you just need to switch the behaviour of the code if the flag is set.

Quote Originally Posted by wysota View Post
I'm also not sure if it is possible to retrieve the position from the matrix if other operations have been applied to it in the meantime. Remember you can apply any changes to the matrix, including shearing and applying the identity matrix. With pos() you have a simple way of knowing the offset between the item and its parent.
It's absolutely possible. Look at the source to mapToXXX functions.