diff options
Diffstat (limited to 'printing/emf_win.h')
-rw-r--r-- | printing/emf_win.h | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/printing/emf_win.h b/printing/emf_win.h index 0503e6f..5150356 100644 --- a/printing/emf_win.h +++ b/printing/emf_win.h @@ -27,20 +27,10 @@ class Emf : public NativeMetafile { class Enumerator; struct EnumerationContext; - // Generates a virtual HDC that will record every GDI commands and compile - // it in a EMF data stream. - Emf(); virtual ~Emf(); - // Generates a new metafile that will record every GDI command, and will - // be saved to |metafile_path|. - virtual bool InitToFile(const FilePath& metafile_path); - - // Initializes the Emf with the data in |metafile_path|. - virtual bool InitFromFile(const FilePath& metafile_path); - // NativeMetafile methods. - virtual bool Init(); + virtual bool Init() { return true; } virtual bool InitFromData(const void* src_buffer, uint32 src_buffer_size); virtual bool StartPage(); @@ -67,6 +57,14 @@ class Emf : public NativeMetafile { return hdc_; } + virtual bool CreateDc(HDC sibling, const RECT* rect); + virtual bool CreateFileBackedDc(HDC sibling, + const RECT* rect, + const FilePath& path); + virtual bool CreateFromFile(const FilePath& file_path); + + virtual void CloseEmf(); + virtual bool Playback(HDC hdc, const RECT* rect) const; virtual bool SafePlayback(HDC hdc) const; @@ -76,7 +74,16 @@ class Emf : public NativeMetafile { return emf_; } + protected: + Emf(); + private: + friend class NativeMetafileFactory; + FRIEND_TEST_ALL_PREFIXES(EmfTest, DC); + FRIEND_TEST_ALL_PREFIXES(EmfTest, FileBackedDC); + FRIEND_TEST_ALL_PREFIXES(EmfPrintingTest, Enumerate); + FRIEND_TEST_ALL_PREFIXES(EmfPrintingTest, PageBreak); + // Playbacks safely one EMF record. static int CALLBACK SafePlaybackProc(HDC hdc, HANDLETABLE* handle_table, |