| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #ifndef SkRect_DEFINED | 8 #ifndef SkRect_DEFINED |
| 9 #define SkRect_DEFINED | 9 #define SkRect_DEFINED |
| 10 | 10 |
| (...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 383 static const SkIRect gEmpty = { 0, 0, 0, 0 }; | 383 static const SkIRect gEmpty = { 0, 0, 0, 0 }; |
| 384 return gEmpty; | 384 return gEmpty; |
| 385 } | 385 } |
| 386 }; | 386 }; |
| 387 | 387 |
| 388 /** \struct SkRect | 388 /** \struct SkRect |
| 389 */ | 389 */ |
| 390 struct SK_API SkRect { | 390 struct SK_API SkRect { |
| 391 SkScalar fLeft, fTop, fRight, fBottom; | 391 SkScalar fLeft, fTop, fRight, fBottom; |
| 392 | 392 |
| 393 static SkRect SK_WARN_UNUSED_RESULT MakeEmpty() { | 393 static constexpr SkRect SK_WARN_UNUSED_RESULT MakeEmpty() { |
| 394 SkRect r; | 394 return SkRect{0, 0, 0, 0}; |
| 395 r.setEmpty(); | |
| 396 return r; | |
| 397 } | 395 } |
| 398 | 396 |
| 399 static SkRect SK_WARN_UNUSED_RESULT MakeLargest() { | 397 static SkRect SK_WARN_UNUSED_RESULT MakeLargest() { |
| 400 SkRect r; | 398 SkRect r; |
| 401 r.setLargest(); | 399 r.setLargest(); |
| 402 return r; | 400 return r; |
| 403 } | 401 } |
| 404 | 402 |
| 405 static SkRect SK_WARN_UNUSED_RESULT MakeWH(SkScalar w, SkScalar h) { | 403 static SkRect SK_WARN_UNUSED_RESULT MakeWH(SkScalar w, SkScalar h) { |
| 406 SkRect r; | 404 SkRect r; |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 499 return !SkScalarsEqual((SkScalar*)&a, (SkScalar*)&b, 4); | 497 return !SkScalarsEqual((SkScalar*)&a, (SkScalar*)&b, 4); |
| 500 } | 498 } |
| 501 | 499 |
| 502 /** return the 4 points that enclose the rectangle (top-left, top-right, bot
tom-right, | 500 /** return the 4 points that enclose the rectangle (top-left, top-right, bot
tom-right, |
| 503 bottom-left). TODO: Consider adding param to control whether quad is CW
or CCW. | 501 bottom-left). TODO: Consider adding param to control whether quad is CW
or CCW. |
| 504 */ | 502 */ |
| 505 void toQuad(SkPoint quad[4]) const; | 503 void toQuad(SkPoint quad[4]) const; |
| 506 | 504 |
| 507 /** Set this rectangle to the empty rectangle (0,0,0,0) | 505 /** Set this rectangle to the empty rectangle (0,0,0,0) |
| 508 */ | 506 */ |
| 509 void setEmpty() { memset(this, 0, sizeof(*this)); } | 507 void setEmpty() { *this = MakeEmpty(); } |
| 510 | 508 |
| 511 void set(const SkIRect& src) { | 509 void set(const SkIRect& src) { |
| 512 fLeft = SkIntToScalar(src.fLeft); | 510 fLeft = SkIntToScalar(src.fLeft); |
| 513 fTop = SkIntToScalar(src.fTop); | 511 fTop = SkIntToScalar(src.fTop); |
| 514 fRight = SkIntToScalar(src.fRight); | 512 fRight = SkIntToScalar(src.fRight); |
| 515 fBottom = SkIntToScalar(src.fBottom); | 513 fBottom = SkIntToScalar(src.fBottom); |
| 516 } | 514 } |
| 517 | 515 |
| 518 void set(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom) { | 516 void set(SkScalar left, SkScalar top, SkScalar right, SkScalar bottom) { |
| 519 fLeft = left; | 517 fLeft = left; |
| (...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 898 void dumpHex() const { this->dump(true); } | 896 void dumpHex() const { this->dump(true); } |
| 899 }; | 897 }; |
| 900 | 898 |
| 901 inline bool SkIRect::contains(const SkRect& r) const { | 899 inline bool SkIRect::contains(const SkRect& r) const { |
| 902 return !r.isEmpty() && !this->isEmpty() && // check for empties | 900 return !r.isEmpty() && !this->isEmpty() && // check for empties |
| 903 (SkScalar)fLeft <= r.fLeft && (SkScalar)fTop <= r.fTop && | 901 (SkScalar)fLeft <= r.fLeft && (SkScalar)fTop <= r.fTop && |
| 904 (SkScalar)fRight >= r.fRight && (SkScalar)fBottom >= r.fBottom; | 902 (SkScalar)fRight >= r.fRight && (SkScalar)fBottom >= r.fBottom; |
| 905 } | 903 } |
| 906 | 904 |
| 907 #endif | 905 #endif |
| OLD | NEW |