add --rasterPDF flag to DM
If no rasterizer is compiled in, this flag does nothing. Default
value (true) gives the same behavior as before.
Review URL: https://codereview.chromium.org/830333005
diff --git a/dm/DM.cpp b/dm/DM.cpp
index 047b8d6..7113ad8 100644
--- a/dm/DM.cpp
+++ b/dm/DM.cpp
@@ -21,6 +21,7 @@
#include "DMImageTask.h"
#include "DMJsonWriter.h"
#include "DMPDFTask.h"
+#include "DMPDFRasterizeTask.h"
#include "DMReporter.h"
#include "DMSKPTask.h"
#include "DMTask.h"
@@ -52,9 +53,15 @@
DEFINE_bool(reportUsedChars, false, "Output test font construction data to be pasted into"
" create_test_font.cpp.");
DEFINE_string(images, "resources", "Path to directory containing images to decode.");
+DEFINE_bool(rasterPDF, true, "Rasterize PDFs?");
__SK_FORCE_IMAGE_DECODER_LINKING;
+static DM::RasterizePdfProc get_pdf_rasterizer_proc() {
+ return reinterpret_cast<DM::RasterizePdfProc>(
+ FLAGS_rasterPDF ? RASTERIZE_PDF_PROC : NULL);
+}
+
// "FooBar" -> "foobar". Obviously, ASCII only.
static SkString lowercase(SkString s) {
for (size_t i = 0; i < s.size(); i++) {
@@ -102,7 +109,7 @@
#if SK_MESA
START("mesa", GpuGMTask, mesa, gpuAPI, 0, false);
#endif
- START("pdf", PDFTask, RASTERIZE_PDF_PROC);
+ START("pdf", PDFTask, get_pdf_rasterizer_proc());
}
}
#undef START
@@ -158,7 +165,8 @@
SkString filename = SkOSPath::Basename(skps[i].c_str());
tasks->add(SkNEW_ARGS(DM::SKPTask, (reporter, tasks, pic, filename)));
- tasks->add(SkNEW_ARGS(DM::PDFTask, (reporter, tasks, pic, filename, RASTERIZE_PDF_PROC)));
+ tasks->add(SkNEW_ARGS(DM::PDFTask, (reporter, tasks, pic, filename,
+ get_pdf_rasterizer_proc())));
}
}