| 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 struct SkRSXform; | 15 struct SkRSXform; |
| 16 class SkString; | 16 class SkString; |
| 17 | 17 |
| 18 /** \class SkMatrix | 18 /** \class SkMatrix |
| 19 | 19 |
| 20 The SkMatrix class holds a 3x3 matrix for transforming coordinates. | 20 The SkMatrix class holds a 3x3 matrix for transforming coordinates. |
| 21 SkMatrix does not have a constructor, so it must be explicitly initialized | 21 SkMatrix does not have a constructor, so it must be explicitly initialized |
| 22 using either reset() - to construct an identity matrix, or one of the set | 22 using either reset() - to construct an identity matrix, or one of the set |
| 23 functions (e.g. setTranslate, setRotate, etc.). | 23 functions (e.g. setTranslate, setRotate, etc.). |
| 24 */ | 24 */ |
| 25 SK_BEGIN_REQUIRE_DENSE |
| 25 class SK_API SkMatrix { | 26 class SK_API SkMatrix { |
| 26 public: | 27 public: |
| 27 static SkMatrix SK_WARN_UNUSED_RESULT MakeScale(SkScalar sx, SkScalar sy) { | 28 static SkMatrix SK_WARN_UNUSED_RESULT MakeScale(SkScalar sx, SkScalar sy) { |
| 28 SkMatrix m; | 29 SkMatrix m; |
| 29 m.setScale(sx, sy); | 30 m.setScale(sx, sy); |
| 30 return m; | 31 return m; |
| 31 } | 32 } |
| 32 | 33 |
| 33 static SkMatrix SK_WARN_UNUSED_RESULT MakeScale(SkScalar scale) { | 34 static SkMatrix SK_WARN_UNUSED_RESULT MakeScale(SkScalar scale) { |
| 34 SkMatrix m; | 35 SkMatrix m; |
| 35 m.setScale(scale, scale); | 36 m.setScale(scale, scale); |
| 36 return m; | 37 return m; |
| 37 } | 38 } |
| 38 | 39 |
| 39 static SkMatrix SK_WARN_UNUSED_RESULT MakeTrans(SkScalar dx, SkScalar dy) { | 40 static SkMatrix SK_WARN_UNUSED_RESULT MakeTrans(SkScalar dx, SkScalar dy) { |
| 40 SkMatrix m; | 41 SkMatrix m; |
| 41 m.setTranslate(dx, dy); | 42 m.setTranslate(dx, dy); |
| 42 return m; | 43 return m; |
| 43 } | 44 } |
| 44 | 45 |
| 45 /** Enum of bit fields for the mask return by getType(). | 46 /** Enum of bit fields for the mask return by getType(). |
| 46 Use this to identify the complexity of the matrix. | 47 Use this to identify the complexity of the matrix. |
| 47 */ | 48 */ |
| 48 enum TypeMask { | 49 enum TypeMask { |
| (...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 819 static void ScaleTrans_pts(const SkMatrix&, SkPoint dst[], const SkPoint[], | 820 static void ScaleTrans_pts(const SkMatrix&, SkPoint dst[], const SkPoint[], |
| 820 int count); | 821 int count); |
| 821 static void Persp_pts(const SkMatrix&, SkPoint dst[], const SkPoint[], int); | 822 static void Persp_pts(const SkMatrix&, SkPoint dst[], const SkPoint[], int); |
| 822 | 823 |
| 823 static void Affine_vpts(const SkMatrix&, SkPoint dst[], const SkPoint[], int
); | 824 static void Affine_vpts(const SkMatrix&, SkPoint dst[], const SkPoint[], int
); |
| 824 | 825 |
| 825 static const MapPtsProc gMapPtsProcs[]; | 826 static const MapPtsProc gMapPtsProcs[]; |
| 826 | 827 |
| 827 friend class SkPerspIter; | 828 friend class SkPerspIter; |
| 828 }; | 829 }; |
| 830 SK_END_REQUIRE_DENSE |
| 829 | 831 |
| 830 #endif | 832 #endif |
| OLD | NEW |