I just made this extremely simple script so I can see what values to expect. Learned that top and left don't mean the top left corner of the token, but they mean the coordinates for the middle of the token. But with rotation I'm getting some strange results. I rotate it to the right and got what I expected for awhile. Then I started rotating it to the left and got -15 once. Then I did it some more and I got 630 and other numbers. I can't get it back to zero. Am I doing something obviously wrong or could this be a bug with rotate? on("change:graphic", function(obj, prev) { log(obj.get("top")+"/"+obj.get("left")+"/"+obj.get("rotation")); }); Here are some results from the log. "245/875/0" "245/875/-45" "245/875/225" "245/875/270" "245/875/315" "245/875/360" "245/875/315" "245/875/540" "245/875/360" "245/875/405" "245/875/450" "245/875/495" "245/875/540" Thanks for the help. I hope to quickly get better with javascript. I've got an idea to help with rotation, but if it doesn't return proper results I'm stuck. :(