| 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 SkRect_DEFINED | 10 #ifndef SkRect_DEFINED |
| 11 #define SkRect_DEFINED | 11 #define SkRect_DEFINED |
| 12 | 12 |
| 13 #include "SkPoint.h" | 13 #include "SkPoint.h" |
| 14 #include "SkSize.h" | 14 #include "SkSize.h" |
| 15 | 15 |
| 16 /** \struct SkIRect | 16 /** \struct SkIRect |
| 17 | 17 |
| 18 SkIRect holds four 32 bit integer coordinates for a rectangle | 18 SkIRect holds four 32 bit integer coordinates for a rectangle |
| 19 */ | 19 */ |
| 20 struct SK_API SkIRect { | 20 struct SK_API SkIRect { |
| 21 int32_t fLeft, fTop, fRight, fBottom; | 21 int32_t fLeft, fTop, fRight, fBottom; |
| 22 | 22 |
| 23 static SkIRect SK_WARN_UNUSED_RESULT MakeEmpty() { | 23 static SkIRect SK_WARN_UNUSED_RESULT MakeEmpty() { |
| 24 SkIRect r; | 24 SkIRect r; |
| 25 r.setEmpty(); | 25 r.setEmpty(); |
| 26 return r; | 26 return r; |
| 27 } | 27 } |
| 28 | 28 |
| 29 static SkIRect SK_WARN_UNUSED_RESULT MakeLargest() { |
| 30 SkIRect r; |
| 31 r.setLargest(); |
| 32 return r; |
| 33 } |
| 34 |
| 29 static SkIRect SK_WARN_UNUSED_RESULT MakeWH(int32_t w, int32_t h) { | 35 static SkIRect SK_WARN_UNUSED_RESULT MakeWH(int32_t w, int32_t h) { |
| 30 SkIRect r; | 36 SkIRect r; |
| 31 r.set(0, 0, w, h); | 37 r.set(0, 0, w, h); |
| 32 return r; | 38 return r; |
| 33 } | 39 } |
| 34 | 40 |
| 35 static SkIRect SK_WARN_UNUSED_RESULT MakeSize(const SkISize& size) { | 41 static SkIRect SK_WARN_UNUSED_RESULT MakeSize(const SkISize& size) { |
| 36 SkIRect r; | 42 SkIRect r; |
| 37 r.set(0, 0, size.width(), size.height()); | 43 r.set(0, 0, size.width(), size.height()); |
| 38 return r; | 44 return r; |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 * This is a specific "truncation" of the average, which is different than | 93 * This is a specific "truncation" of the average, which is different than |
| 88 * (bottom + top) / 2 when the sum is negative. | 94 * (bottom + top) / 2 when the sum is negative. |
| 89 */ | 95 */ |
| 90 int centerY() const { return (fBottom + fTop) >> 1; } | 96 int centerY() const { return (fBottom + fTop) >> 1; } |
| 91 | 97 |
| 92 /** | 98 /** |
| 93 * Return true if the rectangle's width or height are <= 0 | 99 * Return true if the rectangle's width or height are <= 0 |
| 94 */ | 100 */ |
| 95 bool isEmpty() const { return fLeft >= fRight || fTop >= fBottom; } | 101 bool isEmpty() const { return fLeft >= fRight || fTop >= fBottom; } |
| 96 | 102 |
| 103 bool isLargest() const { return SK_MinS32 == fLeft && |
| 104 SK_MinS32 == fTop && |
| 105 SK_MaxS32 == fRight && |
| 106 SK_MaxS32 == fBottom; } |
| 107 |
| 97 friend bool operator==(const SkIRect& a, const SkIRect& b) { | 108 friend bool operator==(const SkIRect& a, const SkIRect& b) { |
| 98 return !memcmp(&a, &b, sizeof(a)); | 109 return !memcmp(&a, &b, sizeof(a)); |
| 99 } | 110 } |
| 100 | 111 |
| 101 friend bool operator!=(const SkIRect& a, const SkIRect& b) { | 112 friend bool operator!=(const SkIRect& a, const SkIRect& b) { |
| 102 return !(a == b); | 113 return !(a == b); |
| 103 } | 114 } |
| 104 | 115 |
| 105 bool is16Bit() const { | 116 bool is16Bit() const { |
| 106 return SkIsS16(fLeft) && SkIsS16(fTop) && | 117 return SkIsS16(fLeft) && SkIsS16(fTop) && |
| (...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 770 */ | 781 */ |
| 771 void sort(); | 782 void sort(); |
| 772 | 783 |
| 773 /** | 784 /** |
| 774 * cast-safe way to treat the rect as an array of (4) SkScalars. | 785 * cast-safe way to treat the rect as an array of (4) SkScalars. |
| 775 */ | 786 */ |
| 776 const SkScalar* asScalars() const { return &fLeft; } | 787 const SkScalar* asScalars() const { return &fLeft; } |
| 777 }; | 788 }; |
| 778 | 789 |
| 779 #endif | 790 #endif |
| OLD | NEW |