You might think that if you called scale () once and then called scale () again, the results would be cumulative, but that doesn't seem to be the case. It seems that if you call scale (), it remembers the original measurements and scales them, not the previously recalculated measurements.
As I got your example for work, it was to save the scale (one variable for each dimension) on your object (starting with scaleX = scaleY = 1). Then I multiplied the saved scale by the scale calculated from the final position of the corrector / cursor and saved them in your object. Finally, I used saved scales in a call to the scale () function to resize your shapes.
See http://jsfiddle.net/donniec/JAVWN/2/
Donnie c
source share