virtual bool onShouldDisableLCD(const SkPaint&) const { return false; }
- /**
- *
- * DEPRECATED: This will be removed in a future change. Device subclasses
- * should use the matrix and clip from the SkDraw passed to draw functions.
- *
- * Called with the correct matrix and clip before this device is drawn
- * to using those settings. If your subclass overrides this, be sure to
- * call through to the base class as well.
- *
- * The clipstack is another view of the clip. It records the actual
- * geometry that went into building the region. It is present for devices
- * that want to parse it, but is not required: the region is a complete
- * picture of the current clip. (i.e. if you regionize all of the geometry
- * in the clipstack, you will arrive at an equivalent region to the one
- * passed in).
- */
- virtual void setMatrixClip(const SkMatrix&, const SkRegion&,
- const SkClipStack&) {};
-
/** These are called inside the per-device-layer loop for each draw call.
When these are called, we have already applied any saveLayer operations,
and are handling any looping from the paint, and any effects from the
}
void updateMC(const SkMatrix& totalMatrix, const SkRasterClip& totalClip,
- const SkClipStack& clipStack, SkRasterClip* updateClip) {
+ SkRasterClip* updateClip) {
int x = fDevice->getOrigin().x();
int y = fDevice->getOrigin().y();
int width = fDevice->width();
SkRegion::kDifference_Op);
}
- fDevice->setMatrixClip(*fMatrix, fClip.forceGetBW(), clipStack);
-
#ifdef SK_DEBUG
if (!fClip.isEmpty()) {
SkIRect deviceR;
DeviceCM* layer = fMCRec->fTopLayer;
if (nullptr == layer->fNext) { // only one layer
- layer->updateMC(totalMatrix, totalClip, *fClipStack, nullptr);
+ layer->updateMC(totalMatrix, totalClip, nullptr);
} else {
SkRasterClip clip(totalClip);
do {
- layer->updateMC(totalMatrix, clip, *fClipStack, &clip);
+ layer->updateMC(totalMatrix, clip, &clip);
} while ((layer = layer->fNext) != nullptr);
}
fDeviceCMDirty = false;