#include "include/core/SkRect.h"
#include "include/core/SkM44.h"
#include "include/private/base/SkDebug.h"
#include "include/private/base/SkTPin.h"
#include "src/core/SkRectPriv.h"
class SkMatrix;
bool SkIRect::intersect(const SkIRect& a, const SkIRect& b) { … }
void SkIRect::join(const SkIRect& r) { … }
void SkRect::toQuad(SkPoint quad[4]) const { … }
#include "src/base/SkVx.h"
bool SkRect::setBoundsCheck(const SkPoint pts[], int count) { … }
void SkRect::setBoundsNoCheck(const SkPoint pts[], int count) { … }
#define CHECK_INTERSECT(al, at, ar, ab, bl, bt, br, bb) …
bool SkRect::intersect(const SkRect& r) { … }
bool SkRect::intersect(const SkRect& a, const SkRect& b) { … }
void SkRect::join(const SkRect& r) { … }
#include "include/core/SkString.h"
#include "src/core/SkStringUtils.h"
static const char* set_scalar(SkString* storage, float value, SkScalarAsStringType asType) { … }
void SkRect::dump(bool asHex) const { … }
template<typename R>
static bool subtract(const R& a, const R& b, R* out) { … }
bool SkRectPriv::Subtract(const SkRect& a, const SkRect& b, SkRect* out) { … }
bool SkRectPriv::Subtract(const SkIRect& a, const SkIRect& b, SkIRect* out) { … }
bool SkRectPriv::QuadContainsRect(const SkMatrix& m,
const SkIRect& a,
const SkIRect& b,
float tol) { … }
bool SkRectPriv::QuadContainsRect(const SkM44& m, const SkRect& a, const SkRect& b, float tol) { … }
skvx::int4 SkRectPriv::QuadContainsRectMask(const SkM44& m,
const SkRect& a,
const SkRect& b,
float tol) { … }
SkIRect SkRectPriv::ClosestDisjointEdge(const SkIRect& src, const SkIRect& dst) { … }