Chromium Code Reviews| 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 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 310 from.decompose(srA); | 310 from.decompose(srA); |
| 311 this->decompose(srB); | 311 this->decompose(srB); |
| 312 | 312 |
| 313 // If x-axis of one is flipped, and y-axis of the other, convert to an unfli pped rotation. | 313 // If x-axis of one is flipped, and y-axis of the other, convert to an unfli pped rotation. |
| 314 if ((srA.scaleX < 0 && srB.scaleY < 0) || (srA.scaleY < 0 && srB.scaleX < 0 )) { | 314 if ((srA.scaleX < 0 && srB.scaleY < 0) || (srA.scaleY < 0 && srB.scaleX < 0 )) { |
| 315 srA.scaleX = -srA.scaleX; | 315 srA.scaleX = -srA.scaleX; |
| 316 srA.scaleY = -srA.scaleY; | 316 srA.scaleY = -srA.scaleY; |
| 317 srA.angle += srA.angle < 0 ? piDouble : -piDouble; | 317 srA.angle += srA.angle < 0 ? piDouble : -piDouble; |
| 318 } | 318 } |
| 319 | 319 |
| 320 const double twoPiDouble = piDouble * 2; | |
|
Justin Novosad
2014/02/20 19:38:05
Does this really accomplish anything that the comp
| |
| 321 | |
| 320 // Don't rotate the long way around. | 322 // Don't rotate the long way around. |
| 321 srA.angle = fmod(srA.angle, 2 * piDouble); | 323 srA.angle = fmod(srA.angle, twoPiDouble); |
| 322 srB.angle = fmod(srB.angle, 2 * piDouble); | 324 srB.angle = fmod(srB.angle, twoPiDouble); |
| 323 | 325 |
| 324 if (fabs(srA.angle - srB.angle) > piDouble) { | 326 if (fabs(srA.angle - srB.angle) > piDouble) { |
| 325 if (srA.angle > srB.angle) | 327 if (srA.angle > srB.angle) |
| 326 srA.angle -= piDouble * 2; | 328 srA.angle -= twoPiDouble; |
| 327 else | 329 else |
| 328 srB.angle -= piDouble * 2; | 330 srB.angle -= twoPiDouble; |
| 329 } | 331 } |
| 330 | 332 |
| 331 srA.scaleX += progress * (srB.scaleX - srA.scaleX); | 333 srA.scaleX += progress * (srB.scaleX - srA.scaleX); |
| 332 srA.scaleY += progress * (srB.scaleY - srA.scaleY); | 334 srA.scaleY += progress * (srB.scaleY - srA.scaleY); |
| 333 srA.angle += progress * (srB.angle - srA.angle); | 335 srA.angle += progress * (srB.angle - srA.angle); |
| 334 srA.remainderA += progress * (srB.remainderA - srA.remainderA); | 336 srA.remainderA += progress * (srB.remainderA - srA.remainderA); |
| 335 srA.remainderB += progress * (srB.remainderB - srA.remainderB); | 337 srA.remainderB += progress * (srB.remainderB - srA.remainderB); |
| 336 srA.remainderC += progress * (srB.remainderC - srA.remainderC); | 338 srA.remainderC += progress * (srB.remainderC - srA.remainderC); |
| 337 srA.remainderD += progress * (srB.remainderD - srA.remainderD); | 339 srA.remainderD += progress * (srB.remainderD - srA.remainderD); |
| 338 srA.translateX += progress * (srB.translateX - srA.translateX); | 340 srA.translateX += progress * (srB.translateX - srA.translateX); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 394 this->setB(decomp.remainderB); | 396 this->setB(decomp.remainderB); |
| 395 this->setC(decomp.remainderC); | 397 this->setC(decomp.remainderC); |
| 396 this->setD(decomp.remainderD); | 398 this->setD(decomp.remainderD); |
| 397 this->setE(decomp.translateX); | 399 this->setE(decomp.translateX); |
| 398 this->setF(decomp.translateY); | 400 this->setF(decomp.translateY); |
| 399 this->rotate(rad2deg(decomp.angle)); | 401 this->rotate(rad2deg(decomp.angle)); |
| 400 this->scale(decomp.scaleX, decomp.scaleY); | 402 this->scale(decomp.scaleX, decomp.scaleY); |
| 401 } | 403 } |
| 402 | 404 |
| 403 } | 405 } |
| OLD | NEW |