| Index: printing/metafile_skia_wrapper.cc
|
| ===================================================================
|
| --- printing/metafile_skia_wrapper.cc (revision 103025)
|
| +++ printing/metafile_skia_wrapper.cc (working copy)
|
| @@ -2,8 +2,8 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#include "base/logging.h"
|
| #include "printing/metafile_skia_wrapper.h"
|
| -#include "skia/ext/platform_device.h"
|
| #include "third_party/skia/include/core/SkCanvas.h"
|
| #include "third_party/skia/include/core/SkDevice.h"
|
| #include "third_party/skia/include/core/SkMetaData.h"
|
| @@ -12,25 +12,34 @@
|
|
|
| namespace {
|
|
|
| +const char* kDraftModeKey = "CrDraftMode";
|
| const char* kMetafileKey = "CrMetafile";
|
|
|
| +SkMetaData& getMetaData(SkCanvas* canvas) {
|
| + DCHECK(canvas != NULL);
|
| +
|
| + SkDevice* device = canvas->getDevice();
|
| + DCHECK(device != NULL);
|
| + return device->getMetaData();
|
| +}
|
| +
|
| } // namespace
|
|
|
| // static
|
| -void MetafileSkiaWrapper::SetMetafileOnCanvas(const SkCanvas& canvas,
|
| +void MetafileSkiaWrapper::SetMetafileOnCanvas(SkCanvas* canvas,
|
| Metafile* metafile) {
|
| MetafileSkiaWrapper* wrapper = NULL;
|
| if (metafile)
|
| wrapper = new MetafileSkiaWrapper(metafile);
|
|
|
| - SkMetaData& meta = skia::getMetaData(canvas);
|
| + SkMetaData& meta = getMetaData(canvas);
|
| meta.setRefCnt(kMetafileKey, wrapper);
|
| SkSafeUnref(wrapper);
|
| }
|
|
|
| // static
|
| -Metafile* MetafileSkiaWrapper::GetMetafileFromCanvas(const SkCanvas& canvas) {
|
| - SkMetaData& meta = skia::getMetaData(canvas);
|
| +Metafile* MetafileSkiaWrapper::GetMetafileFromCanvas(SkCanvas* canvas) {
|
| + SkMetaData& meta = getMetaData(canvas);
|
| SkRefCnt* value;
|
| if (!meta.findRefCnt(kMetafileKey, &value) || !value)
|
| return NULL;
|
| @@ -38,6 +47,21 @@
|
| 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) {
|
| }
|
|
|