I am trying to implement a canvas with object scaling positioning and rotation functionality. In js, this can be easily done with fabric.js. How to implement the basic logic for scaling rotation and positioning like in fabric.js. I am aware of the Matrix transform in flutter. But I am not getting the exact result like that of fabric.js. Some of the problems I face are, I can position an item, but when I rotate and scale an item, its position changes. But in fabric.js its works perfectly well. So if someone just helps me figure out the algorithm for positioning, scaling, and rotation it would be helpful.