|  | // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #ifndef PRINTING_METAFILE_SKIA_WRAPPER_H_ | 
|  | #define PRINTING_METAFILE_SKIA_WRAPPER_H_ | 
|  |  | 
|  | #include "printing/printing_export.h" | 
|  | #include "third_party/skia/include/core/SkRefCnt.h" | 
|  |  | 
|  | class SkCanvas; | 
|  |  | 
|  | namespace printing { | 
|  |  | 
|  | class PdfMetafileSkia; | 
|  |  | 
|  | // A wrapper class with static methods to set and retrieve a PdfMetafileSkia | 
|  | // on an SkCanvas.  The ownership of the metafile is not affected and it | 
|  | // is the caller's responsibility to ensure that the metafile remains valid | 
|  | // as long as the canvas. | 
|  | class PRINTING_EXPORT MetafileSkiaWrapper : public SkRefCnt { | 
|  | public: | 
|  | static void SetMetafileOnCanvas(const SkCanvas& canvas, | 
|  | PdfMetafileSkia* metafile); | 
|  |  | 
|  | static PdfMetafileSkia* GetMetafileFromCanvas(const SkCanvas& canvas); | 
|  |  | 
|  | private: | 
|  | explicit MetafileSkiaWrapper(PdfMetafileSkia* metafile); | 
|  |  | 
|  | PdfMetafileSkia* metafile_; | 
|  | }; | 
|  |  | 
|  | }  // namespace printing | 
|  |  | 
|  | #endif  // PRINTING_METAFILE_SKIA_WRAPPER_H_ |