Chromium Code Reviews| Index: printing/pdf_metafile_mac.h |
| diff --git a/printing/pdf_metafile_mac.h b/printing/pdf_metafile_mac.h |
| index 557b008545a220691dec11ad0f2395162bba3229..5108e98b70b077fba4dc310c227c3b5861e6447b 100644 |
| --- a/printing/pdf_metafile_mac.h |
| +++ b/printing/pdf_metafile_mac.h |
| @@ -1,4 +1,4 @@ |
| -// Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| +// Copyright (c) 2011 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. |
| @@ -9,7 +9,9 @@ |
| #include <CoreFoundation/CoreFoundation.h> |
| #include "base/basictypes.h" |
| +#include "base/gtest_prod_util.h" |
|
vandebo (ex-Chrome)
2011/02/28 21:44:00
What is this include for?
dpapad
2011/02/28 22:03:38
This is where the macro FRIEND_TEST_ALL_PREFIXES i
|
| #include "base/mac/scoped_cftyperef.h" |
| +#include "printing/native_metafile_mac.h" |
| namespace gfx { |
| class Rect; |
| @@ -21,36 +23,31 @@ class FilePath; |
| namespace printing { |
| // This class creates a graphics context that renders into a PDF data stream. |
| -class PdfMetafile { |
| +class PdfMetafile : public NativeMetafile { |
| public: |
| - // To create PDF data, callers should also call Init() to set up the |
| - // rendering context. |
| - // To create a metafile from existing Data, callers should also call |
| - // Init(const void*, uint32). |
| - PdfMetafile(); |
| - ~PdfMetafile(); |
| + virtual ~PdfMetafile(); |
| // Initializes a new metafile, and returns a drawing context for rendering |
| // into the PDF. Returns NULL on failure. |
| // Note: The returned context *must not be retained* past Close(). If it is, |
| // the data returned from GetData will not be valid PDF data. |
| - CGContextRef Init(); |
| + virtual CGContextRef Init(); |
| // Initializes a copy of metafile from PDF data. Returns true on success. |
| - bool Init(const void* src_buffer, uint32 src_buffer_size); |
| + virtual bool Init(const void* src_buffer, uint32 src_buffer_size); |
| // Prepares a new pdf page at specified |content_origin| with the given |
| // |page_size| and a |scale_factor| to use for the drawing. |
| - CGContextRef StartPage(const gfx::Size& page_size, |
| + virtual CGContextRef StartPage(const gfx::Size& page_size, |
| const gfx::Point& content_origin, |
| const float& scale_factor); |
| // Closes the current page. |
| - void FinishPage(); |
| + virtual void FinishPage(); |
| // Closes the PDF file; no further rendering is allowed. |
| - void Close(); |
| + virtual void Close(); |
| // Renders the given page into |rect| in the given context. |
| // Pages use a 1-based index. The rendering uses the following arguments |
| @@ -67,29 +64,39 @@ class PdfMetafile { |
| // |center_vertically| specifies whether the final image (after any scaling |
| // is done) should be centered vertically within the given |rect|. |
| // Note that all scaling preserves the original aspect ratio of the page. |
| - bool RenderPage(unsigned int page_number, CGContextRef context, |
| + virtual bool RenderPage(unsigned int page_number, CGContextRef context, |
| const CGRect rect, bool shrink_to_fit, bool stretch_to_fit, |
| bool center_horizontally, bool center_vertically) const; |
| - unsigned int GetPageCount() const; |
| + virtual unsigned int GetPageCount() const; |
| // Returns the bounds of the given page. |
| // Pages use a 1-based index. |
| - gfx::Rect GetPageBounds(unsigned int page_number) const; |
| + virtual gfx::Rect GetPageBounds(unsigned int page_number) const; |
| // Returns the size of the underlying PDF data. Only valid after Close() has |
| // been called. |
| - uint32 GetDataSize() const; |
| + virtual uint32 GetDataSize() const; |
| // Copies the first |dst_buffer_size| bytes of the PDF data into |dst_buffer|. |
| // Only valid after Close() has been called. |
| // Returns true if the copy succeeds. |
| - bool GetData(void* dst_buffer, uint32 dst_buffer_size) const; |
| + virtual bool GetData(void* dst_buffer, uint32 dst_buffer_size) const; |
| // Saves the raw PDF data to the given file. For testing only. |
| // Returns true if writing succeeded. |
| - bool SaveTo(const FilePath& file_path) const; |
| + virtual bool SaveTo(const FilePath& file_path) const; |
| + |
| + protected: |
| + // To create PDF data, callers should also call Init() to set up the |
|
James Hawkins
2011/02/28 22:26:45
I don't think you mean to use the word "also" in t
dpapad
2011/02/28 23:50:59
Done.
|
| + // rendering context. |
| + // To create a metafile from existing Data, callers should also call |
| + // Init(const void*, uint32). |
| + PdfMetafile(); |
| private: |
| + friend class NativeMetafileFactory; |
| + FRIEND_TEST_ALL_PREFIXES(PdfMetafileTest, Pdf); |
| + |
| // Returns a CGPDFDocumentRef version of pdf_data_. |
| CGPDFDocumentRef GetPDFDocument() const; |