| 485 | } |
| 486 | |
| 487 | bool Matrix::hasNonIdentityScale() const { |
| 488 | double sx = values[SCALE_X]; |
| 489 | double ky = values[SKEW_Y]; |
| 490 | if (sqrt(sx * sx + ky * ky) != 1.0) { |
| 491 | return true; |
| 492 | } |
| 493 | double kx = values[SKEW_X]; |
| 494 | double sy = values[SCALE_Y]; |
| 495 | if (sqrt(kx * kx + sy * sy) != 1.0) { |
| 496 | return true; |
| 497 | } |
| 498 | return false; |
| 499 | } |
| 500 | |
| 501 | bool Matrix::isFinite() const { |
| 502 | return FloatsAreFinite(values, 6); |