#include "src/core/SkClipStack.h"
#include "include/core/SkBlendMode.h"
#include "include/core/SkPath.h"
#include "include/core/SkPathTypes.h"
#include "include/core/SkScalar.h"
#include "include/private/base/SkDebug.h"
#include "src/core/SkRectPriv.h"
#include "src/shaders/SkShaderBase.h"
#include <array>
#include <atomic>
#include <new>
SkClipStack::Element::Element(const Element& that) { … }
SkClipStack::Element::~Element() = default;
bool SkClipStack::Element::operator== (const Element& element) const { … }
const SkRect& SkClipStack::Element::getBounds() const { … }
bool SkClipStack::Element::contains(const SkRect& rect) const { … }
bool SkClipStack::Element::contains(const SkRRect& rrect) const { … }
void SkClipStack::Element::invertShapeFillType() { … }
void SkClipStack::Element::initCommon(int saveCount, SkClipOp op, bool doAA) { … }
void SkClipStack::Element::initRect(int saveCount, const SkRect& rect, const SkMatrix& m,
SkClipOp op, bool doAA) { … }
void SkClipStack::Element::initRRect(int saveCount, const SkRRect& rrect, const SkMatrix& m,
SkClipOp op, bool doAA) { … }
void SkClipStack::Element::initPath(int saveCount, const SkPath& path, const SkMatrix& m,
SkClipOp op, bool doAA) { … }
void SkClipStack::Element::initAsPath(int saveCount, const SkPath& path, const SkMatrix& m,
SkClipOp op, bool doAA) { … }
void SkClipStack::Element::initShader(int saveCount, sk_sp<SkShader> shader) { … }
void SkClipStack::Element::initReplaceRect(int saveCount, const SkRect& rect, bool doAA) { … }
void SkClipStack::Element::asDeviceSpacePath(SkPath* path) const { … }
void SkClipStack::Element::setEmpty() { … }
void SkClipStack::Element::checkEmpty() const { … }
bool SkClipStack::Element::canBeIntersectedInPlace(int saveCount, SkClipOp op) const { … }
bool SkClipStack::Element::rectRectIntersectAllowed(const SkRect& newR, bool newAA) const { … }
void SkClipStack::Element::combineBoundsDiff(FillCombo combination, const SkRect& prevFinite) { … }
void SkClipStack::Element::combineBoundsIntersection(int combination, const SkRect& prevFinite) { … }
void SkClipStack::Element::updateBoundAndGenID(const Element* prior) { … }
static const int kDefaultElementAllocCnt = …;
SkClipStack::SkClipStack()
: … { … }
SkClipStack::SkClipStack(void* storage, size_t size)
: … { … }
SkClipStack::SkClipStack(const SkClipStack& b)
: … { … }
SkClipStack::~SkClipStack() { … }
SkClipStack& SkClipStack::operator=(const SkClipStack& b) { … }
bool SkClipStack::operator==(const SkClipStack& b) const { … }
void SkClipStack::reset() { … }
void SkClipStack::save() { … }
void SkClipStack::restore() { … }
void SkClipStack::restoreTo(int saveCount) { … }
SkRect SkClipStack::bounds(const SkIRect& deviceBounds) const { … }
bool SkClipStack::isEmpty(const SkIRect& r) const { … }
void SkClipStack::getBounds(SkRect* canvFiniteBound,
BoundsType* boundType,
bool* isIntersectionOfRects) const { … }
bool SkClipStack::internalQuickContains(const SkRect& rect) const { … }
bool SkClipStack::internalQuickContains(const SkRRect& rrect) const { … }
void SkClipStack::pushElement(const Element& element) { … }
void SkClipStack::clipRRect(const SkRRect& rrect, const SkMatrix& matrix, SkClipOp op, bool doAA) { … }
void SkClipStack::clipRect(const SkRect& rect, const SkMatrix& matrix, SkClipOp op, bool doAA) { … }
void SkClipStack::clipPath(const SkPath& path, const SkMatrix& matrix, SkClipOp op,
bool doAA) { … }
void SkClipStack::clipShader(sk_sp<SkShader> shader) { … }
void SkClipStack::replaceClip(const SkRect& rect, bool doAA) { … }
void SkClipStack::clipEmpty() { … }
SkClipStack::Iter::Iter() : … { … }
SkClipStack::Iter::Iter(const SkClipStack& stack, IterStart startLoc)
: … { … }
const SkClipStack::Element* SkClipStack::Iter::next() { … }
const SkClipStack::Element* SkClipStack::Iter::prev() { … }
const SkClipStack::Element* SkClipStack::Iter::skipToTopmost(SkClipOp op) { … }
void SkClipStack::Iter::reset(const SkClipStack& stack, IterStart startLoc) { … }
void SkClipStack::getConservativeBounds(int offsetX,
int offsetY,
int maxWidth,
int maxHeight,
SkRect* devBounds,
bool* isIntersectionOfRects) const { … }
bool SkClipStack::isRRect(const SkRect& bounds, SkRRect* rrect, bool* aa) const { … }
uint32_t SkClipStack::GetNextGenID() { … }
uint32_t SkClipStack::getTopmostGenID() const { … }
#ifdef SK_DEBUG
void SkClipStack::Element::dump() const { … }
void SkClipStack::dump() const { … }
#endif