Fix rotate on rectangular overalys

Use size after rotate when positioning the overlay.

Also removed check on this.scales - was there a reason these were not
handled when rotating? If so we can add a option here maybe.
This commit is contained in:
gwills 2013-10-14 10:59:20 +01:00
parent f8a0315757
commit a70d082be3

View File

@ -211,13 +211,14 @@
// TODO replace the size rotation with CSS3 transforms
// TODO add an option to overlays to not rotate with the image
// Currently only rotates position and size
if( degrees !== 0 && this.scales ) {
overlayCenter = new $.Point( size.x / 2, size.y / 2 );
if( degrees !== 0 ) {
overlayCenter = new $.Point( size.x / 2, size.y / 2 );
var overlayCenterAfterRotate = (degrees === 0 || degrees === 180) ? overlayCenter : new $.Point( size.y / 2, size.x / 2 );
position = position.plus( overlayCenter ).rotate(
degrees,
drawerCenter
).minus( overlayCenter );
).minus( overlayCenterAfterRotate );
size = size.rotate( degrees, new $.Point( 0, 0 ) );
size = new $.Point( Math.abs( size.x ), Math.abs( size.y ) );