Chromium Code Reviews| Index: tools/DumpRecord.cpp |
| diff --git a/tools/dump_record.cpp b/tools/DumpRecord.cpp |
| similarity index 52% |
| copy from tools/dump_record.cpp |
| copy to tools/DumpRecord.cpp |
| index 2d851e7c9f62dc0e9a4b7130fb0b7d2c56c46a2f..cc80f0fbc00b42650d8c61b8f48e11113b26da32 100644 |
| --- a/tools/dump_record.cpp |
| +++ b/tools/DumpRecord.cpp |
| @@ -9,7 +9,6 @@ |
| #include "BenchTimer.h" |
| #include "LazyDecodeBitmap.h" |
|
mtklein
2014/05/15 15:44:08
Should be you can prune a bunch of these includes
hal.canary
2014/05/15 15:59:27
Done.
|
| -#include "SkCommandLineFlags.h" |
| #include "SkGraphics.h" |
| #include "SkOSFile.h" |
| #include "SkPicture.h" |
| @@ -19,15 +18,17 @@ |
| #include "SkRecorder.h" |
| #include "SkStream.h" |
| -DEFINE_string2(skps, r, "", ".SKPs to dump."); |
| -DEFINE_string(match, "", "The usual filters on file names to dump."); |
| -DEFINE_bool2(optimize, O, false, "Run SkRecordOptimize before dumping."); |
| -DEFINE_int32(tile, 1000000000, "Simulated tile size."); |
| -DEFINE_bool(timeWithCommand, false, "If true, print time next to command, else in first column."); |
| +#include "DumpRecord.h" |
| + |
| +namespace { |
| class Dumper { |
| public: |
| - explicit Dumper(SkCanvas* canvas, int count) : fDigits(0), fIndent(0), fDraw(canvas) { |
| + explicit Dumper(SkCanvas* canvas, int count, bool timeWithCommand) |
| + : fDigits(0) |
| + , fIndent(0) |
| + , fDraw(canvas) |
| + , fTimeWithCommand(timeWithCommand) { |
| while (count > 0) { |
| count /= 10; |
| fDigits++; |
| @@ -74,14 +75,14 @@ public: |
| private: |
| template <typename T> |
| void printNameAndTime(const T& command, double time) { |
| - if (!FLAGS_timeWithCommand) { |
| + if (!fTimeWithCommand) { |
| printf("%6.1f ", time * 1000); |
| } |
| printf("%*d ", fDigits, fDraw.index()); |
| for (int i = 0; i < fIndent; i++) { |
| putchar('\t'); |
| } |
| - if (FLAGS_timeWithCommand) { |
| + if (fTimeWithCommand) { |
| printf("%6.1f ", time * 1000); |
| } |
| puts(NameOf(command)); |
| @@ -103,62 +104,19 @@ private: |
| int fDigits; |
| int fIndent; |
| SkRecords::Draw fDraw; |
| + const bool fTimeWithCommand; |
| }; |
| +} // namespace |
| -static void dump(const char* name, int w, int h, const SkRecord& record) { |
| - SkBitmap bitmap; |
| - bitmap.allocN32Pixels(w, h); |
| - SkCanvas canvas(bitmap); |
| - canvas.clipRect(SkRect::MakeWH(SkIntToScalar(FLAGS_tile), SkIntToScalar(FLAGS_tile))); |
| - |
| - printf("%s %s\n", FLAGS_optimize ? "optimized" : "not-optimized", name); |
| +//////////////////////////////////////////////////////////////////////////////// |
|
mtklein
2014/05/15 15:44:08
These things are just noise :(
hal.canary
2014/05/15 15:59:27
Done.
|
| - for (Dumper dumper(&canvas, record.count()); dumper.index() < record.count(); dumper.next()) { |
| +void DumpRecord(const SkRecord& record, |
| + SkCanvas* canvas, |
| + bool timeWithCommand) { |
| + for (Dumper dumper(canvas, record.count(), timeWithCommand); |
| + dumper.index() < record.count(); |
| + dumper.next()) { |
| record.visit<void>(dumper.index(), dumper); |
| } |
| } |
| - |
| -int tool_main(int argc, char** argv); |
| -int tool_main(int argc, char** argv) { |
| - SkCommandLineFlags::Parse(argc, argv); |
| - SkAutoGraphics ag; |
| - |
| - for (int i = 0; i < FLAGS_skps.count(); i++) { |
| - if (SkCommandLineFlags::ShouldSkip(FLAGS_match, FLAGS_skps[i])) { |
| - continue; |
| - } |
| - |
| - SkAutoTUnref<SkStream> stream(SkStream::NewFromFile(FLAGS_skps[i])); |
| - if (!stream) { |
| - SkDebugf("Could not read %s.\n", FLAGS_skps[i]); |
| - exit(1); |
| - } |
| - SkAutoTUnref<SkPicture> src( |
| - SkPicture::CreateFromStream(stream, sk_tools::LazyDecodeBitmap)); |
| - if (!src) { |
| - SkDebugf("Could not read %s as an SkPicture.\n", FLAGS_skps[i]); |
| - exit(1); |
| - } |
| - const int w = src->width(), h = src->height(); |
| - |
| - SkRecord record; |
| - SkRecorder canvas(SkRecorder::kWriteOnly_Mode, &record, w, h); |
| - src->draw(&canvas); |
| - |
| - |
| - if (FLAGS_optimize) { |
| - SkRecordOptimize(&record); |
| - } |
| - |
| - dump(FLAGS_skps[i], w, h, record); |
| - } |
| - |
| - return 0; |
| -} |
| - |
| -#if !defined SK_BUILD_FOR_IOS |
| -int main(int argc, char * const argv[]) { |
| - return tool_main(argc, (char**) argv); |
| -} |
| -#endif |