diff options
Diffstat (limited to 'dm/DMPDFRasterizeTask.h')
-rw-r--r-- | dm/DMPDFRasterizeTask.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/dm/DMPDFRasterizeTask.h b/dm/DMPDFRasterizeTask.h new file mode 100644 index 0000000000..8148499061 --- /dev/null +++ b/dm/DMPDFRasterizeTask.h @@ -0,0 +1,41 @@ +/* + * 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: + // takes ownership of SkStreamAsset. + PDFRasterizeTask(const Task& parent, + SkStreamAsset* pdf, + RasterizePdfProc); + + void draw() SK_OVERRIDE; + bool shouldSkip() const SK_OVERRIDE { return NULL == fRasterize; } + SkString name() const SK_OVERRIDE { return fName; } + +private: + const SkString fName; + SkAutoTDelete<SkStreamAsset> fPdf; + RasterizePdfProc fRasterize; +}; + +} // namespace DM + +#endif // DMPDFRasterizeTask_DEFINED |