Thank You for this explanation. As suggested by Krzysztof I changed the matrix to be an identity one, but then why can't I see any changes in the application. I mean nothing is happening by changing it to identity matrix. But as told, _doc2dt represents the mapping of co-ordinates of two spaces, the thing must show change after changing this matrix to an identity one. I can only report that previously this was the matrix(1,0,0,-1,0,document->height) and i changed it to (1,0,0,1,0,document->height); I hope I did it correctly.I did this change just in the local copy of _doc2dt and nothing happened.

2010/3/29 Krzysztof Kosiński <tweenk.pl@...400...>

2010/3/28 Abhishek Sharma <spyzer.abhishek0@...400...>:

So this neat trick actually has to do with translations and efficiency,

now

I get it. May some one also kindly specify the reason I was suggested to modify the matrix to an identity one. I mean how would changing _doc2dt

to

an identity matrix help in the bug reduction(I am asking this not to

comment

or question anybody, I am just unaware...).

There are two coordinate spaces: the document space, which corresponds to the SVG specification, and the desktop space, which is the same except it has the Y axis flipped, and is used to position items on the canvas. What we want is to change the desktop space to be identical to the desktop space. _doc2dt determines the mapping between the document space and desktop space, so we need to change it to the identity matrix to make those two spaces identical.

Regards, Krzysztof