OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 | 9 |
10 #ifndef SkMatrix_DEFINED | 10 #ifndef SkMatrix_DEFINED |
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
583 */ | 583 */ |
584 static const SkMatrix& I(); | 584 static const SkMatrix& I(); |
585 | 585 |
586 /** | 586 /** |
587 * Return a reference to a const matrix that is "invalid", one that could | 587 * Return a reference to a const matrix that is "invalid", one that could |
588 * never be used. | 588 * never be used. |
589 */ | 589 */ |
590 static const SkMatrix& InvalidMatrix(); | 590 static const SkMatrix& InvalidMatrix(); |
591 | 591 |
592 /** | 592 /** |
| 593 * Return the concatenation of two matrices, a * b. |
| 594 */ |
| 595 static SkMatrix Concat(const SkMatrix& a, const SkMatrix& b) { |
| 596 SkMatrix result; |
| 597 result.setConcat(a, b); |
| 598 return result; |
| 599 } |
| 600 |
| 601 /** |
593 * Testing routine; the matrix's type cache should never need to be | 602 * Testing routine; the matrix's type cache should never need to be |
594 * manually invalidated during normal use. | 603 * manually invalidated during normal use. |
595 */ | 604 */ |
596 void dirtyMatrixTypeCache() { | 605 void dirtyMatrixTypeCache() { |
597 this->setTypeMask(kUnknown_Mask); | 606 this->setTypeMask(kUnknown_Mask); |
598 } | 607 } |
599 | 608 |
600 private: | 609 private: |
601 enum { | 610 enum { |
602 /** Set if the matrix will map a rectangle to another rectangle. This | 611 /** Set if the matrix will map a rectangle to another rectangle. This |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
694 static void RotTrans_pts(const SkMatrix&, SkPoint dst[], const SkPoint[], | 703 static void RotTrans_pts(const SkMatrix&, SkPoint dst[], const SkPoint[], |
695 int count); | 704 int count); |
696 static void Persp_pts(const SkMatrix&, SkPoint dst[], const SkPoint[], int); | 705 static void Persp_pts(const SkMatrix&, SkPoint dst[], const SkPoint[], int); |
697 | 706 |
698 static const MapPtsProc gMapPtsProcs[]; | 707 static const MapPtsProc gMapPtsProcs[]; |
699 | 708 |
700 friend class SkPerspIter; | 709 friend class SkPerspIter; |
701 }; | 710 }; |
702 | 711 |
703 #endif | 712 #endif |
OLD | NEW |