summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/skia/dm/DMPDFRasterizeTask.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/skia/dm/DMPDFRasterizeTask.h')
-rw-r--r--chromium/third_party/skia/dm/DMPDFRasterizeTask.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/chromium/third_party/skia/dm/DMPDFRasterizeTask.h b/chromium/third_party/skia/dm/DMPDFRasterizeTask.h
new file mode 100644
index 00000000000..2cc1ef70dab
--- /dev/null
+++ b/chromium/third_party/skia/dm/DMPDFRasterizeTask.h
@@ -0,0 +1,40 @@
+/*
+ * 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 "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,
+ 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;
+ RasterizePdfProc fRasterize;
+};
+
+} // namespace DM
+
+#endif // DMPDFRasterizeTask_DEFINED