22 , fIsEmpty(that.fIsEmpty)
23 , fIsRect(that.fIsRect)
24 , fShader(that.fShader)
49 fShader = that.fShader;
56 fIsEmpty = this->computeIsEmpty();
63 fIsEmpty = this->computeIsEmpty();
83 fIsEmpty = this->computeIsEmpty();
84 fIsRect = this->computeIsRect();
123 return this->updateCacheAndReturnNonEmpty();
134 (void)fAA.
op(tmp,
op);
136 return this->updateCacheAndReturnNonEmpty();
146 static const SkScalar halfDomain = domain / 2;
155 const bool isScaleTrans =
matrix.isScaleTranslate();
170 if (fIsBW && !doAA) {
176 (void)fAA.
op(devRect,
op, doAA);
178 return this->updateCacheAndReturnNonEmpty();
205 return this->updateCacheAndReturnNonEmpty();
239 other = &
clip.aaRgn();
241 (void)fAA.
op(*other,
op);
243 return this->updateCacheAndReturnNonEmpty();
247 if (
nullptr ==
dst) {
257 if (0 == (
dx | dy)) {
270 dst->updateCacheAndReturnNonEmpty();
273void SkRasterClip::convertToAA() {
282 (void)this->updateCacheAndReturnNonEmpty(
false);
295 SkASSERT(this->computeIsEmpty() == fIsEmpty);
296 SkASSERT(this->computeIsRect() == fIsRect);
309 this->
init(clip, blitter);
317 fAABlitter.
init(blitter, aaclip);
320 fBlitter = &fAABlitter;
326 fClipRgn = &
clip.bwRgn();
331 fAABlitter.
init(blitter, &aaclip);
334 fBlitter = &fAABlitter;
static SkPath clip(const SkPath &path, const SkHalfPlane &plane)
static bool nearly_integral(SkScalar x)
#define AUTO_RASTERCLIP_VALIDATE(rc)
#define SkScalarFloorToScalar(x)
SkDEBUGCODE(SK_SPI) SkThreadID SkGetThreadID()
void init(const SkRasterClip &, SkBlitter *)
void init(SkBlitter *blitter, const SkAAClip *aaclip)
bool translate(int dx, int dy, SkAAClip *dst) const
const SkIRect & getBounds() const
bool setPath(const SkPath &, const SkIRect &bounds, bool doAA=true)
bool op(const SkIRect &, SkClipOp)
bool setRegion(const SkRegion &)
static SkPath RRect(const SkRRect &, SkPathDirection dir=SkPathDirection::kCW)
static SkPath Rect(const SkRect &, SkPathDirection=SkPathDirection::kCW, unsigned startIndex=0)
const SkIRect & getBounds() const
SkRasterClip & operator=(const SkRasterClip &)
void translate(int dx, int dy, SkRasterClip *dst) const
bool setRect(const SkIRect &)
bool op(const SkIRect &, SkClipOp)
void translate(int dx, int dy)
bool op(const SkIRect &rect, Op op)
bool setRect(const SkIRect &rect)
bool setPath(const SkPath &path, const SkRegion &clip)
unsigned useCenter Optional< SkMatrix > matrix
Optional< SkRect > bounds
sk_sp< SkBlender > blender SkRect rect
skia_private::AutoTArray< sk_sp< SkImageFilter > > filters TypedMatrix matrix TypedMatrix matrix SkScalar dx
SK_API sk_sp< SkShader > Blend(SkBlendMode mode, sk_sp< SkShader > dst, sk_sp< SkShader > src)
void Validate(const Table &table)
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path
SkScalar fBottom
larger y-axis bounds
SkScalar fLeft
smaller x-axis bounds
SkScalar fRight
larger x-axis bounds
void round(SkIRect *dst) const
SkScalar fTop
smaller y-axis bounds