Suggested version with 'undo'.

BUG=skia:

Review URL: https://codereview.chromium.org/931483002
diff --git a/dm/DMSrcSink.h b/dm/DMSrcSink.h
index 4c15c92..abf3ef8 100644
--- a/dm/DMSrcSink.h
+++ b/dm/DMSrcSink.h
@@ -163,6 +163,18 @@
     SkAutoTDelete<Sink> fSink;
 };
 
+class ViaUpright : public Sink {
+public:
+    ViaUpright(SkMatrix, Sink*);
+
+    Error draw(const Src&, SkBitmap*, SkWStream*, SkString*) const SK_OVERRIDE;
+    int enclave() const SK_OVERRIDE { return fSink->enclave(); }
+    const char* fileExtension() const SK_OVERRIDE { return fSink->fileExtension(); }
+private:
+    SkMatrix            fMatrix;
+    SkAutoTDelete<Sink> fSink;
+};
+
 class ViaPipe : public Sink {
 public:
     explicit ViaPipe(Sink*);