DM: SKP source / PDF backend
Removed expectations code for PDF backend for now, given that we don't have any, and refactored a little to make that cleaner.
We can now test .skp -> .pdf -> .png in DM. Neat eh?
BUG=skia:2598
R=halcanary@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/316643003
diff --git a/dm/DMPDFTask.h b/dm/DMPDFTask.h
index d273df6..d107611 100644
--- a/dm/DMPDFTask.h
+++ b/dm/DMPDFTask.h
@@ -1,27 +1,33 @@
#ifndef DMPDFTask_DEFINED
#define DMPDFTask_DEFINED
-#include "DMPDFRasterizeTask.h"
#include "DMExpectations.h"
+#include "DMPDFRasterizeTask.h"
#include "DMTask.h"
#include "SkBitmap.h"
+#include "SkPicture.h"
#include "SkString.h"
#include "SkTemplates.h"
#include "gm.h"
namespace DM {
-// This task renders a GM using Skia's PDF backend.
+// This task renders a GM or SKP using Skia's PDF backend.
// If rasterizePdfProc is non-NULL, it will spawn a PDFRasterizeTask.
class PDFTask : public CpuTask {
public:
- PDFTask(const char* suffix,
+ PDFTask(const char*,
Reporter*,
TaskRunner*,
- const Expectations&,
skiagm::GMRegistry::Factory,
RasterizePdfProc);
+ PDFTask(Reporter*,
+ TaskRunner*,
+ SkPicture*,
+ SkString name,
+ RasterizePdfProc);
+
virtual void draw() SK_OVERRIDE;
virtual bool shouldSkip() const SK_OVERRIDE;
@@ -29,9 +35,11 @@
virtual SkString name() const SK_OVERRIDE { return fName; }
private:
+ // One of these two will be set.
SkAutoTDelete<skiagm::GM> fGM;
+ SkAutoTUnref<SkPicture> fPicture;
+
const SkString fName;
- const Expectations& fExpectations;
RasterizePdfProc fRasterize;
};