aboutsummaryrefslogtreecommitdiffhomepage
path: root/dm/DMPDFRasterizeTask.h
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2014-06-03 13:57:14 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-06-03 13:57:14 -0700
commit30bf3e2ffcb78fc76e5a62b2ca67638e0411cba9 (patch)
tree1a2f9f974e462b621439d714f80e53a9986dbd3b /dm/DMPDFRasterizeTask.h
parent9c4ff80d9b76e1bda532fb9182f66f67cfc95324 (diff)
DM: add pdf
BUG=skia:2598 R=halcanary@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/312873002
Diffstat (limited to 'dm/DMPDFRasterizeTask.h')
-rw-r--r--dm/DMPDFRasterizeTask.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/dm/DMPDFRasterizeTask.h b/dm/DMPDFRasterizeTask.h
new file mode 100644
index 0000000000..2e24b894e7
--- /dev/null
+++ b/dm/DMPDFRasterizeTask.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2014 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef DMPDFRasterizeTask_DEFINED
+#define DMPDFRasterizeTask_DEFINED
+
+#include "DMExpectations.h"
+#include "DMTask.h"
+#include "SkBitmap.h"
+#include "SkData.h"
+#include "SkStream.h"
+#include "SkString.h"
+#include "SkTemplates.h"
+
+namespace DM {
+
+typedef bool (*RasterizePdfProc)(SkStream* pdf, SkBitmap* output);
+
+class PDFRasterizeTask : public CpuTask {
+public:
+ PDFRasterizeTask(const Task& parent,
+ SkData* pdf,
+ const Expectations&,
+ RasterizePdfProc);
+
+ virtual void draw() SK_OVERRIDE;
+ virtual bool shouldSkip() const SK_OVERRIDE { return NULL == fRasterize; }
+ virtual SkString name() const SK_OVERRIDE { return fName; }
+
+private:
+ const SkString fName;
+ SkAutoTUnref<SkData> fPdf;
+ const Expectations& fExpectations;
+ RasterizePdfProc fRasterize;
+};
+
+} // namespace DM
+
+#endif // DMPDFRasterizeTask_DEFINED