| 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 |
| 11 #define SkMatrix_DEFINED | 11 #define SkMatrix_DEFINED |
| 12 | 12 |
| 13 #include "SkRect.h" | 13 #include "SkRect.h" |
| 14 | 14 |
| 15 class SkString; | 15 class SkString; |
| 16 | 16 |
| 17 /** \class SkMatrix | 17 /** \class SkMatrix |
| 18 | 18 |
| 19 The SkMatrix class holds a 3x3 matrix for transforming coordinates. | 19 The SkMatrix class holds a 3x3 matrix for transforming coordinates. |
| 20 SkMatrix does not have a constructor, so it must be explicitly initialized | 20 SkMatrix does not have a constructor, so it must be explicitly initialized |
| 21 using either reset() - to construct an identity matrix, or one of the set | 21 using either reset() - to construct an identity matrix, or one of the set |
| 22 functions (e.g. setTranslate, setRotate, etc.). | 22 functions (e.g. setTranslate, setRotate, etc.). |
| 23 */ | 23 */ |
| 24 class SK_API SkMatrix { | 24 class SK_API SkMatrix { |
| 25 public: | 25 public: |
| 26 static SkMatrix SK_WARN_UNUSED_RESULT MakeScale(SkScalar sx, SkScalar sy) { |
| 27 SkMatrix m; |
| 28 m.setScale(sx, sy); |
| 29 return m; |
| 30 } |
| 31 |
| 32 static SkMatrix SK_WARN_UNUSED_RESULT MakeTrans(SkScalar dx, SkScalar dy) { |
| 33 SkMatrix m; |
| 34 m.setTranslate(dx, dy); |
| 35 return m; |
| 36 } |
| 37 |
| 26 /** Enum of bit fields for the mask return by getType(). | 38 /** Enum of bit fields for the mask return by getType(). |
| 27 Use this to identify the complexity of the matrix. | 39 Use this to identify the complexity of the matrix. |
| 28 */ | 40 */ |
| 29 enum TypeMask { | 41 enum TypeMask { |
| 30 kIdentity_Mask = 0, | 42 kIdentity_Mask = 0, |
| 31 kTranslate_Mask = 0x01, //!< set if the matrix has translation | 43 kTranslate_Mask = 0x01, //!< set if the matrix has translation |
| 32 kScale_Mask = 0x02, //!< set if the matrix has X or Y scale | 44 kScale_Mask = 0x02, //!< set if the matrix has X or Y scale |
| 33 kAffine_Mask = 0x04, //!< set if the matrix skews or rotates | 45 kAffine_Mask = 0x04, //!< set if the matrix skews or rotates |
| 34 kPerspective_Mask = 0x08 //!< set if the matrix is in perspective | 46 kPerspective_Mask = 0x08 //!< set if the matrix is in perspective |
| 35 }; | 47 }; |
| (...skipping 750 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 786 static void RotTrans_pts(const SkMatrix&, SkPoint dst[], const SkPoint[], | 798 static void RotTrans_pts(const SkMatrix&, SkPoint dst[], const SkPoint[], |
| 787 int count); | 799 int count); |
| 788 static void Persp_pts(const SkMatrix&, SkPoint dst[], const SkPoint[], int); | 800 static void Persp_pts(const SkMatrix&, SkPoint dst[], const SkPoint[], int); |
| 789 | 801 |
| 790 static const MapPtsProc gMapPtsProcs[]; | 802 static const MapPtsProc gMapPtsProcs[]; |
| 791 | 803 |
| 792 friend class SkPerspIter; | 804 friend class SkPerspIter; |
| 793 }; | 805 }; |
| 794 | 806 |
| 795 #endif | 807 #endif |
| OLD | NEW |