diff options
-rw-r--r-- | include/core/SkCanvas.h | 15 | ||||
-rw-r--r-- | include/private/SkRecords.h | 3 | ||||
-rw-r--r-- | src/core/SkCanvas.cpp | 17 | ||||
-rw-r--r-- | src/core/SkPictureFlat.h | 1 | ||||
-rw-r--r-- | src/core/SkPicturePlayback.cpp | 8 | ||||
-rw-r--r-- | src/core/SkPictureRecord.cpp | 9 | ||||
-rw-r--r-- | src/core/SkPictureRecord.h | 2 | ||||
-rw-r--r-- | src/core/SkRecordDraw.cpp | 4 | ||||
-rw-r--r-- | src/core/SkRecorder.cpp | 4 | ||||
-rw-r--r-- | src/core/SkRecorder.h | 1 | ||||
-rw-r--r-- | tests/CanvasTest.cpp | 26 | ||||
-rw-r--r-- | tools/debugger/SkDebugCanvas.cpp | 5 | ||||
-rw-r--r-- | tools/debugger/SkDebugCanvas.h | 2 | ||||
-rw-r--r-- | tools/debugger/SkDrawCommand.cpp | 37 | ||||
-rw-r--r-- | tools/debugger/SkDrawCommand.h | 16 |
15 files changed, 5 insertions, 145 deletions
diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h index fb3ae6d8e0..97aa3c7d8e 100644 --- a/include/core/SkCanvas.h +++ b/include/core/SkCanvas.h @@ -451,13 +451,6 @@ public: */ void resetMatrix(); - /** Add the specified translation to the current draw depth of the canvas. - @param z The distance to translate in Z. - Negative into screen, positive out of screen. - Without translation, the draw depth defaults to 0. - */ - void translateZ(SkScalar z); - /** * Modify the current clip with the specified rectangle. * @param rect The rect to combine with the current clip @@ -508,8 +501,7 @@ public: matrix, clipRegion() assumes its argument is already in device coordinates, and so no transformation is performed. @param deviceRgn The region to apply to the current clip - @param op The regio - n op to apply to the current clip + @param op The region op to apply to the current clip */ void clipRegion(const SkRegion& deviceRgn, SkRegion::Op op = SkRegion::kIntersect_Op); @@ -1268,10 +1260,6 @@ public: void temporary_internal_describeTopLayer(SkMatrix* matrix, SkIRect* clip_bounds); protected: - /** Returns the current (cumulative) draw depth of the canvas. - */ - SkScalar getZ() const; - /** After calling saveLayer(), there can be any number of devices that make up the top-most drawing area. LayerIter can be used to iterate through those devices. Note that the iterator is only valid until the next API @@ -1337,7 +1325,6 @@ protected: virtual void didRestore() {} virtual void didConcat(const SkMatrix&) {} virtual void didSetMatrix(const SkMatrix&) {} - virtual void didTranslateZ(SkScalar) {} virtual void onDrawAnnotation(const SkRect&, const char key[], SkData* value); virtual void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&); diff --git a/include/private/SkRecords.h b/include/private/SkRecords.h index 35adca20e7..9ec2d2116c 100644 --- a/include/private/SkRecords.h +++ b/include/private/SkRecords.h @@ -47,7 +47,6 @@ namespace SkRecords { M(Save) \ M(SaveLayer) \ M(SetMatrix) \ - M(TranslateZ) \ M(Concat) \ M(ClipPath) \ M(ClipRRect) \ @@ -219,8 +218,6 @@ RECORD(SetMatrix, 0, RECORD(Concat, 0, TypedMatrix matrix); -RECORD(TranslateZ, 0, SkScalar z); - struct RegionOpAndAA { RegionOpAndAA() {} RegionOpAndAA(SkRegion::Op op, bool aa) : op(op), aa(aa) {} diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index 2aa3f5ef21..3067772c8a 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -294,22 +294,17 @@ public: SkMatrix fMatrix; int fDeferredSaveCount; - // This is the current cumulative depth (aggregate of all done translateZ calls) - SkScalar fCurDrawDepth; - MCRec(bool conservativeRasterClip) : fRasterClip(conservativeRasterClip) { fFilter = nullptr; fLayer = nullptr; fTopLayer = nullptr; fMatrix.reset(); fDeferredSaveCount = 0; - fCurDrawDepth = 0; // don't bother initializing fNext inc_rec(); } - MCRec(const MCRec& prev) : fRasterClip(prev.fRasterClip), fMatrix(prev.fMatrix), - fCurDrawDepth(prev.fCurDrawDepth) { + MCRec(const MCRec& prev) : fRasterClip(prev.fRasterClip), fMatrix(prev.fMatrix) { fFilter = SkSafeRef(prev.fFilter); fLayer = nullptr; fTopLayer = prev.fTopLayer; @@ -1544,16 +1539,6 @@ void SkCanvas::resetMatrix() { this->setMatrix(SkMatrix::I()); } -void SkCanvas::translateZ(SkScalar z) { - this->checkForDeferredSave(); - this->fMCRec->fCurDrawDepth += z; - this->didTranslateZ(z); -} - -SkScalar SkCanvas::getZ() const { - return this->fMCRec->fCurDrawDepth; -} - ////////////////////////////////////////////////////////////////////////////// void SkCanvas::clipRect(const SkRect& rect, SkRegion::Op op, bool doAA) { diff --git a/src/core/SkPictureFlat.h b/src/core/SkPictureFlat.h index d8145110b8..3546fb2e0a 100644 --- a/src/core/SkPictureFlat.h +++ b/src/core/SkPictureFlat.h @@ -52,7 +52,6 @@ enum DrawType { SAVE_LAYER_SAVEFLAGS_DEPRECATED, SCALE, SET_MATRIX, - TRANSLATE_Z, SKEW, TRANSLATE, NOOP, diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp index 60c4fe898d..6b8930436f 100644 --- a/src/core/SkPicturePlayback.cpp +++ b/src/core/SkPicturePlayback.cpp @@ -129,8 +129,8 @@ void SkPicturePlayback::handleOp(SkReadBuffer* reader, reader->skip(size - 4); } break; case CLIP_PATH: { - const SkPath& path = fPictureData->getPath(reader); - uint32_t packed = reader->readInt(); + const SkPath& path = fPictureData->getPath(reader); + uint32_t packed = reader->readInt(); SkRegion::Op regionOp = ClipParams_unpackRegionOp(packed); bool doAA = ClipParams_unpackDoAA(packed); size_t offsetToRestore = reader->readInt(); @@ -616,10 +616,6 @@ void SkPicturePlayback::handleOp(SkReadBuffer* reader, SkScalar dy = reader->readScalar(); canvas->translate(dx, dy); } break; - case TRANSLATE_Z: { - SkScalar dz = reader->readScalar(); - canvas->translateZ(dz); - } default: SkASSERTF(false, "Unknown draw type: %d", op); } diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp index 3b70b56774..17ed1aa20b 100644 --- a/src/core/SkPictureRecord.cpp +++ b/src/core/SkPictureRecord.cpp @@ -218,15 +218,6 @@ void SkPictureRecord::didSetMatrix(const SkMatrix& matrix) { this->INHERITED::didSetMatrix(matrix); } -void SkPictureRecord::didTranslateZ(SkScalar z) { - this->validate(fWriter.bytesWritten(), 0); - // set Z - size_t size = sizeof(SkScalar); - size_t initialOffset = this->addDraw(TRANSLATE_Z, &size); - - this->validate(initialOffset, size); -} - static bool regionOpExpands(SkRegion::Op op) { switch (op) { case SkRegion::kUnion_Op: diff --git a/src/core/SkPictureRecord.h b/src/core/SkPictureRecord.h index 276dd3e29b..bdb6609bd9 100644 --- a/src/core/SkPictureRecord.h +++ b/src/core/SkPictureRecord.h @@ -159,8 +159,6 @@ protected: void didConcat(const SkMatrix&) override; void didSetMatrix(const SkMatrix&) override; - void didTranslateZ(SkScalar) override; - void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override; void onDrawText(const void* text, size_t, SkScalar x, SkScalar y, const SkPaint&) override; diff --git a/src/core/SkRecordDraw.cpp b/src/core/SkRecordDraw.cpp index 03f8d53d5e..ec9aee9562 100644 --- a/src/core/SkRecordDraw.cpp +++ b/src/core/SkRecordDraw.cpp @@ -87,8 +87,6 @@ DRAW(ClipRRect, clipRRect(r.rrect, r.opAA.op, r.opAA.aa)); DRAW(ClipRect, clipRect(r.rect, r.opAA.op, r.opAA.aa)); DRAW(ClipRegion, clipRegion(r.region, r.op)); -DRAW(TranslateZ, SkCanvas::translateZ(r.z)); - DRAW(DrawBitmap, drawBitmap(r.bitmap.shallowCopy(), r.left, r.top, r.paint)); DRAW(DrawBitmapNine, drawBitmapNine(r.bitmap.shallowCopy(), r.center, r.dst, r.paint)); DRAW(DrawBitmapRect, @@ -290,8 +288,6 @@ private: void trackBounds(const ClipPath&) { this->pushControl(); } void trackBounds(const ClipRegion&) { this->pushControl(); } - void trackBounds(const TranslateZ&) { this->pushControl(); } - // For all other ops, we can calculate and store the bounds directly now. template <typename T> void trackBounds(const T& op) { fBounds[fCurrentOp] = this->bounds(op); diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp index c7869bb6a4..19cb663eaf 100644 --- a/src/core/SkRecorder.cpp +++ b/src/core/SkRecorder.cpp @@ -369,10 +369,6 @@ void SkRecorder::didSetMatrix(const SkMatrix& matrix) { APPEND(SetMatrix, matrix); } -void SkRecorder::didTranslateZ(SkScalar z) { - APPEND(TranslateZ, z); -} - void SkRecorder::onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle edgeStyle) { INHERITED(onClipRect, rect, op, edgeStyle); SkRecords::RegionOpAndAA opAA(op, kSoft_ClipEdgeStyle == edgeStyle); diff --git a/src/core/SkRecorder.h b/src/core/SkRecorder.h index 66a006712e..3cf0be97c3 100644 --- a/src/core/SkRecorder.h +++ b/src/core/SkRecorder.h @@ -60,7 +60,6 @@ public: void didConcat(const SkMatrix&) override; void didSetMatrix(const SkMatrix&) override; - void didTranslateZ(SkScalar) override; void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override; void onDrawDrawable(SkDrawable*, const SkMatrix*) override; diff --git a/tests/CanvasTest.cpp b/tests/CanvasTest.cpp index 0886b53652..82e065f5ac 100644 --- a/tests/CanvasTest.cpp +++ b/tests/CanvasTest.cpp @@ -779,27 +779,6 @@ DEF_TEST(Canvas_ClipEmptyPath, reporter) { canvas.restore(); } -class SkTestCanvas : public SkCanvas { -public: - void testUpdateDepth(skiatest::Reporter* reporter) { - // set some depths (with picture enabled), then check them as they get set - - REPORTER_ASSERT(reporter, this->getZ() == 0); - this->translateZ(-10); - REPORTER_ASSERT(reporter, this->getZ() == -10); - - this->save(); - this->translateZ(20); - REPORTER_ASSERT(reporter, this->getZ() == 10); - - this->restore(); - REPORTER_ASSERT(reporter, this->getZ() == -10); - - this->translateZ(13.14f); - REPORTER_ASSERT(reporter, SkScalarNearlyEqual(this->getZ(),3.14f)); - } -}; - namespace { class MockFilterCanvas : public SkPaintFilterCanvas { @@ -833,11 +812,6 @@ DEF_TEST(PaintFilterCanvas_ConsistentState, reporter) { REPORTER_ASSERT(reporter, canvas.getTotalMatrix() == filterCanvas.getTotalMatrix()); REPORTER_ASSERT(reporter, canvas.getClipBounds(&clip1) == filterCanvas.getClipBounds(&clip2)); REPORTER_ASSERT(reporter, clip1 == clip2); - - SkTestCanvas* tCanvas; - - tCanvas = (SkTestCanvas*) new SkCanvas(100,100); - tCanvas->testUpdateDepth(reporter); } /////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/tools/debugger/SkDebugCanvas.cpp b/tools/debugger/SkDebugCanvas.cpp index ae934a16e7..b80eeea0b1 100644 --- a/tools/debugger/SkDebugCanvas.cpp +++ b/tools/debugger/SkDebugCanvas.cpp @@ -690,11 +690,6 @@ void SkDebugCanvas::didSetMatrix(const SkMatrix& matrix) { this->INHERITED::didSetMatrix(matrix); } -void SkDebugCanvas::didTranslateZ(SkScalar z) { - this->addDrawCommand(new SkTranslateZCommand(z)); - this->INHERITED::didTranslateZ(z); -} - void SkDebugCanvas::toggleCommand(int index, bool toggle) { SkASSERT(index < fCommandVector.count()); fCommandVector[index]->setVisible(toggle); diff --git a/tools/debugger/SkDebugCanvas.h b/tools/debugger/SkDebugCanvas.h index 4264f55200..e8d9113438 100644 --- a/tools/debugger/SkDebugCanvas.h +++ b/tools/debugger/SkDebugCanvas.h @@ -194,8 +194,6 @@ protected: void didConcat(const SkMatrix&) override; void didSetMatrix(const SkMatrix&) override; - void didTranslateZ(SkScalar) override; - void onDrawAnnotation(const SkRect&, const char[], SkData*) override; void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override; void onDrawText(const void* text, size_t byteLength, SkScalar x, SkScalar y, diff --git a/tools/debugger/SkDrawCommand.cpp b/tools/debugger/SkDrawCommand.cpp index 8f42cb70ec..ecd6a7003f 100644 --- a/tools/debugger/SkDrawCommand.cpp +++ b/tools/debugger/SkDrawCommand.cpp @@ -28,7 +28,6 @@ #define SKDEBUGCANVAS_ATTRIBUTE_COMMAND "command" #define SKDEBUGCANVAS_ATTRIBUTE_VISIBLE "visible" #define SKDEBUGCANVAS_ATTRIBUTE_MATRIX "matrix" -#define SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS "drawDepthTranslation" #define SKDEBUGCANVAS_ATTRIBUTE_COORDS "coords" #define SKDEBUGCANVAS_ATTRIBUTE_BOUNDS "bounds" #define SKDEBUGCANVAS_ATTRIBUTE_PAINT "paint" @@ -212,7 +211,6 @@ const char* SkDrawCommand::GetCommandString(OpType type) { case kSave_OpType: return "Save"; case kSaveLayer_OpType: return "SaveLayer"; case kSetMatrix_OpType: return "SetMatrix"; - case kTranslateZ_OpType: return "TranslateZ"; default: SkDebugf("OpType error 0x%08x\n", type); SkASSERT(0); @@ -270,8 +268,6 @@ SkDrawCommand* SkDrawCommand::fromJSON(Json::Value& command, UrlDataManager& url INSTALL_FACTORY(Save); INSTALL_FACTORY(SaveLayer); INSTALL_FACTORY(SetMatrix); - - INSTALL_FACTORY(TranslateZ); } SkString name = SkString(command[SKDEBUGCANVAS_ATTRIBUTE_COMMAND].asCString()); FROM_JSON* factory = factories.find(name); @@ -474,11 +470,6 @@ Json::Value SkDrawCommand::MakeJsonMatrix(const SkMatrix& matrix) { return result; } -Json::Value SkDrawCommand::MakeJsonScalar(SkScalar z) { - Json::Value result(z); - return result; -} - Json::Value SkDrawCommand::MakeJsonPath(const SkPath& path) { Json::Value result(Json::objectValue); switch (path.getFillType()) { @@ -1491,11 +1482,6 @@ static void extract_json_matrix(Json::Value& matrix, SkMatrix* result) { result->set9(values); } -static void extract_json_scalar(Json::Value& scalar, SkScalar* result) { - SkScalar value = scalar.asFloat(); - *result = value; -} - static void extract_json_path(Json::Value& path, SkPath* result) { const char* fillType = path[SKDEBUGCANVAS_ATTRIBUTE_FILLTYPE].asCString(); if (!strcmp(fillType, SKDEBUGCANVAS_FILLTYPE_WINDING)) { @@ -3309,26 +3295,3 @@ SkSetMatrixCommand* SkSetMatrixCommand::fromJSON(Json::Value& command, extract_json_matrix(command[SKDEBUGCANVAS_ATTRIBUTE_MATRIX], &matrix); return new SkSetMatrixCommand(matrix); } - -SkTranslateZCommand::SkTranslateZCommand(SkScalar z) - : INHERITED(kTranslateZ_OpType) { - fZTranslate = z; - fInfo.push(SkObjectParser::ScalarToString(fZTranslate, "drawDepthTranslation")); -} - -void SkTranslateZCommand::execute(SkCanvas* canvas) const { - canvas->translateZ(fZTranslate); -} - -Json::Value SkTranslateZCommand::toJSON(UrlDataManager& urlDataManager) const { - Json::Value result = INHERITED::toJSON(urlDataManager); - result[SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS] = MakeJsonScalar(fZTranslate); - return result; -} - -SkTranslateZCommand* SkTranslateZCommand::fromJSON(Json::Value& command, - UrlDataManager& urlDataManager) { - SkScalar z; - extract_json_scalar(command[SKDEBUGCANVAS_ATTRIBUTE_DRAWDEPTHTRANS], &z); - return new SkTranslateZCommand(z); -} diff --git a/tools/debugger/SkDrawCommand.h b/tools/debugger/SkDrawCommand.h index a7e6c73802..dc639ec3a3 100644 --- a/tools/debugger/SkDrawCommand.h +++ b/tools/debugger/SkDrawCommand.h @@ -56,9 +56,8 @@ public: kSave_OpType, kSaveLayer_OpType, kSetMatrix_OpType, - kTranslateZ_OpType, - kLast_OpType = kTranslateZ_OpType + kLast_OpType = kSetMatrix_OpType }; static const int kOpTypeCount = kLast_OpType + 1; @@ -126,7 +125,6 @@ public: static Json::Value MakeJsonRect(const SkRect& rect); static Json::Value MakeJsonIRect(const SkIRect&); static Json::Value MakeJsonMatrix(const SkMatrix&); - static Json::Value MakeJsonScalar(SkScalar); static Json::Value MakeJsonPath(const SkPath& path); static Json::Value MakeJsonRegion(const SkRegion& region); static Json::Value MakeJsonPaint(const SkPaint& paint, UrlDataManager& urlDataManager); @@ -733,16 +731,4 @@ private: typedef SkDrawCommand INHERITED; }; -class SkTranslateZCommand : public SkDrawCommand { -public: - SkTranslateZCommand(SkScalar); - void execute(SkCanvas* canvas) const override; - Json::Value toJSON(UrlDataManager& urlDataManager) const override; - static SkTranslateZCommand* fromJSON(Json::Value& command, UrlDataManager& urlDataManager); - -private: - SkScalar fZTranslate; - - typedef SkDrawCommand INHERITED; -}; #endif |