| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2005, 2006 Apple Computer, Inc. All rights reserved. | 2 * Copyright (C) 2005, 2006 Apple Computer, Inc. All rights reserved. |
| 3 * 2010 Dirk Schulze <krit@webkit.org> | 3 * 2010 Dirk Schulze <krit@webkit.org> |
| 4 * Copyright (C) 2013 Google Inc. All rights reserved. | 4 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 5 * | 5 * |
| 6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
| 7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
| 8 * are met: | 8 * are met: |
| 9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 this->decompose(srB); | 315 this->decompose(srB); |
| 316 | 316 |
| 317 // If x-axis of one is flipped, and y-axis of the other, convert to an unfli
pped rotation. | 317 // If x-axis of one is flipped, and y-axis of the other, convert to an unfli
pped rotation. |
| 318 if ((srA.scaleX < 0 && srB.scaleY < 0) || (srA.scaleY < 0 && srB.scaleX < 0
)) { | 318 if ((srA.scaleX < 0 && srB.scaleY < 0) || (srA.scaleY < 0 && srB.scaleX < 0
)) { |
| 319 srA.scaleX = -srA.scaleX; | 319 srA.scaleX = -srA.scaleX; |
| 320 srA.scaleY = -srA.scaleY; | 320 srA.scaleY = -srA.scaleY; |
| 321 srA.angle += srA.angle < 0 ? piDouble : -piDouble; | 321 srA.angle += srA.angle < 0 ? piDouble : -piDouble; |
| 322 } | 322 } |
| 323 | 323 |
| 324 // Don't rotate the long way around. | 324 // Don't rotate the long way around. |
| 325 srA.angle = fmod(srA.angle, 2 * piDouble); | 325 srA.angle = fmod(srA.angle, twoPiDouble); |
| 326 srB.angle = fmod(srB.angle, 2 * piDouble); | 326 srB.angle = fmod(srB.angle, twoPiDouble); |
| 327 | 327 |
| 328 if (fabs(srA.angle - srB.angle) > piDouble) { | 328 if (fabs(srA.angle - srB.angle) > piDouble) { |
| 329 if (srA.angle > srB.angle) | 329 if (srA.angle > srB.angle) |
| 330 srA.angle -= piDouble * 2; | 330 srA.angle -= twoPiDouble; |
| 331 else | 331 else |
| 332 srB.angle -= piDouble * 2; | 332 srB.angle -= twoPiDouble; |
| 333 } | 333 } |
| 334 | 334 |
| 335 srA.scaleX += progress * (srB.scaleX - srA.scaleX); | 335 srA.scaleX += progress * (srB.scaleX - srA.scaleX); |
| 336 srA.scaleY += progress * (srB.scaleY - srA.scaleY); | 336 srA.scaleY += progress * (srB.scaleY - srA.scaleY); |
| 337 srA.angle += progress * (srB.angle - srA.angle); | 337 srA.angle += progress * (srB.angle - srA.angle); |
| 338 srA.remainderA += progress * (srB.remainderA - srA.remainderA); | 338 srA.remainderA += progress * (srB.remainderA - srA.remainderA); |
| 339 srA.remainderB += progress * (srB.remainderB - srA.remainderB); | 339 srA.remainderB += progress * (srB.remainderB - srA.remainderB); |
| 340 srA.remainderC += progress * (srB.remainderC - srA.remainderC); | 340 srA.remainderC += progress * (srB.remainderC - srA.remainderC); |
| 341 srA.remainderD += progress * (srB.remainderD - srA.remainderD); | 341 srA.remainderD += progress * (srB.remainderD - srA.remainderD); |
| 342 srA.translateX += progress * (srB.translateX - srA.translateX); | 342 srA.translateX += progress * (srB.translateX - srA.translateX); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 this->setB(decomp.remainderB); | 398 this->setB(decomp.remainderB); |
| 399 this->setC(decomp.remainderC); | 399 this->setC(decomp.remainderC); |
| 400 this->setD(decomp.remainderD); | 400 this->setD(decomp.remainderD); |
| 401 this->setE(decomp.translateX); | 401 this->setE(decomp.translateX); |
| 402 this->setF(decomp.translateY); | 402 this->setF(decomp.translateY); |
| 403 this->rotateRadians(decomp.angle); | 403 this->rotateRadians(decomp.angle); |
| 404 this->scale(decomp.scaleX, decomp.scaleY); | 404 this->scale(decomp.scaleX, decomp.scaleY); |
| 405 } | 405 } |
| 406 | 406 |
| 407 } | 407 } |
| OLD | NEW |