aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkCanvas.cpp
diff options
context:
space:
mode:
authorGravatar msarett <msarett@google.com>2016-08-18 14:03:30 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-08-18 14:03:30 -0700
commit9637ea91b88ff8f8e95325bfc41417ffc4d5ee0b (patch)
tree274199fb7ff2fcbd9f2ccbb8fbd72c4768fd34f5 /src/core/SkCanvas.cpp
parent48d91b52e4eb27f6bcb8eadb68558707a3c30875 (diff)
Fix initialization bug for fConservativeIsScaleTranslate
Also don't mark it as conservative, we expect it to be correct all the time. TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2261573002 Review-Url: https://codereview.chromium.org/2261573002
Diffstat (limited to 'src/core/SkCanvas.cpp')
-rw-r--r--src/core/SkCanvas.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 881c19bf32..551ca60742 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -625,7 +625,7 @@ void SkCanvas::resetForNextPicture(const SkIRect& bounds) {
// know that the device is an SkBitmapDevice (really an SkNoPixelsBitmapDevice).
static_cast<SkBitmapDevice*>(fMCRec->fLayer->fDevice)->setNewSize(bounds.size());
fDeviceClipBounds = qr_clip_bounds(bounds);
- fConservativeIsScaleTranslate = true;
+ fIsScaleTranslate = true;
}
SkBaseDevice* SkCanvas::init(SkBaseDevice* device, InitFlags flags) {
@@ -649,6 +649,7 @@ SkBaseDevice* SkCanvas::init(SkBaseDevice* device, InitFlags flags) {
fMCRec = (MCRec*)fMCStack.push_back();
new (fMCRec) MCRec(fConservativeRasterClip);
+ fIsScaleTranslate = true;
SkASSERT(sizeof(DeviceCM) <= sizeof(fDeviceCMStorage));
fMCRec->fLayer = (DeviceCM*)fDeviceCMStorage;
@@ -665,7 +666,6 @@ SkBaseDevice* SkCanvas::init(SkBaseDevice* device, InitFlags flags) {
fMCRec->fLayer->fDevice = SkRef(device);
fMCRec->fRasterClip.setRect(device->getGlobalBounds());
fDeviceClipBounds = qr_clip_bounds(device->getGlobalBounds());
- fConservativeIsScaleTranslate = true;
}
return device;
@@ -1323,7 +1323,7 @@ void SkCanvas::internalRestore() {
}
if (fMCRec) {
- fConservativeIsScaleTranslate = fMCRec->fMatrix.isScaleTranslate();
+ fIsScaleTranslate = fMCRec->fMatrix.isScaleTranslate();
fDeviceClipBounds = qr_clip_bounds(fMCRec->fRasterClip.getBounds());
}
}
@@ -1481,7 +1481,7 @@ void SkCanvas::concat(const SkMatrix& matrix) {
this->checkForDeferredSave();
fDeviceCMDirty = true;
fMCRec->fMatrix.preConcat(matrix);
- fConservativeIsScaleTranslate = fMCRec->fMatrix.isScaleTranslate();
+ fIsScaleTranslate = fMCRec->fMatrix.isScaleTranslate();
this->didConcat(matrix);
}
@@ -1493,7 +1493,7 @@ void SkCanvas::internalSetMatrix(const SkMatrix& matrix) {
void SkCanvas::setMatrix(const SkMatrix& matrix) {
this->checkForDeferredSave();
this->internalSetMatrix(matrix);
- fConservativeIsScaleTranslate = matrix.isScaleTranslate();
+ fIsScaleTranslate = matrix.isScaleTranslate();
this->didSetMatrix(matrix);
}
@@ -1839,11 +1839,11 @@ bool SkCanvas::quickReject(const SkRect& src) const {
SkASSERT(tmp == fDeviceClipBounds);
}
- // Verify that fConservativeIsScaleTranslate is set properly.
- SkASSERT(!fConservativeIsScaleTranslate || fMCRec->fMatrix.isScaleTranslate());
+ // Verify that fIsScaleTranslate is set properly.
+ SkASSERT(fIsScaleTranslate == fMCRec->fMatrix.isScaleTranslate());
#endif
- if (!fConservativeIsScaleTranslate) {
+ if (!fIsScaleTranslate) {
return quick_reject_slow_path(src, fDeviceClipBounds, fMCRec->fMatrix);
}