diff options
-rw-r--r-- | printing/metafile_skia_wrapper.cc | 18 | ||||
-rw-r--r-- | printing/metafile_skia_wrapper.h | 4 |
2 files changed, 21 insertions, 1 deletions
diff --git a/printing/metafile_skia_wrapper.cc b/printing/metafile_skia_wrapper.cc index 22b58c8..cc7fa08 100644 --- a/printing/metafile_skia_wrapper.cc +++ b/printing/metafile_skia_wrapper.cc @@ -12,7 +12,8 @@ namespace printing { namespace { -static const char* kMetafileKey = "CrMetafile"; +const char* kDraftModeKey = "CrDraftMode"; +const char* kMetafileKey = "CrMetafile"; SkMetaData& getMetaData(SkCanvas* canvas) { DCHECK(canvas != NULL); @@ -46,6 +47,21 @@ Metafile* MetafileSkiaWrapper::GetMetafileFromCanvas(SkCanvas* canvas) { return static_cast<MetafileSkiaWrapper*>(value)->metafile_; } +// static +void MetafileSkiaWrapper::SetDraftMode(SkCanvas* canvas, bool draft_mode) { + SkMetaData& meta = getMetaData(canvas); + meta.setBool(kDraftModeKey, draft_mode); +} + +// static +bool MetafileSkiaWrapper::GetDraftMode(SkCanvas* canvas) { + SkMetaData& meta = getMetaData(canvas); + bool draft_mode; + if (!meta.findBool(kDraftModeKey, &draft_mode)) + draft_mode = false; + return draft_mode; +} + MetafileSkiaWrapper::MetafileSkiaWrapper(Metafile* metafile) : metafile_(metafile) { } diff --git a/printing/metafile_skia_wrapper.h b/printing/metafile_skia_wrapper.h index 751179f..127cd1b 100644 --- a/printing/metafile_skia_wrapper.h +++ b/printing/metafile_skia_wrapper.h @@ -23,6 +23,10 @@ class MetafileSkiaWrapper : public SkRefCnt { static Metafile* GetMetafileFromCanvas(SkCanvas* canvas); + static void SetDraftMode(SkCanvas* canvas, bool draft_mode); + + static bool GetDraftMode(SkCanvas* canvas); + private: explicit MetafileSkiaWrapper(Metafile* metafile); |