diff options
author | vandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-18 04:58:36 +0000 |
---|---|---|
committer | vandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-18 04:58:36 +0000 |
commit | acc134844001b556ef162ad267dac826b3000ff0 (patch) | |
tree | a50d9986b827e6c4784d63e0930e28b8ca0f7374 /chrome/utility | |
parent | 55f2c51627eb66c3a742d19d5ed735966d118827 (diff) | |
download | chromium_src-acc134844001b556ef162ad267dac826b3000ff0.zip chromium_src-acc134844001b556ef162ad267dac826b3000ff0.tar.gz chromium_src-acc134844001b556ef162ad267dac826b3000ff0.tar.bz2 |
Cleanup NativeMetafile (win) interface and EMF class.
- Rename CreateDc to Init() and remove unused argument (all non-test calls were CreateDc(NULL, NULL). [This matches cross platform interface.]
- Remove CreateFileBackedDc from the NativeMetafile interface and make InitToFile() in the EMF class.
- Remove CreateFromFile from the NativeMetafile interface and make it InitFromFile() in the EMF class.
- Move the CloseEmf method into the destructor, making the Emf class a use once class (matches actual use).
BUG=NONE
TEST=NONE
Review URL: http://codereview.chromium.org/6695013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78666 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/utility')
-rw-r--r-- | chrome/utility/utility_thread.cc | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/chrome/utility/utility_thread.cc b/chrome/utility/utility_thread.cc index 7b665ae..9fc175c6 100644 --- a/chrome/utility/utility_thread.cc +++ b/chrome/utility/utility_thread.cc @@ -30,8 +30,7 @@ #include "app/win/iat_patch_function.h" #include "base/scoped_ptr.h" #include "base/win/scoped_handle.h" -#include "printing/native_metafile_factory.h" -#include "printing/native_metafile.h" +#include "printing/emf_win.h" #endif namespace { @@ -257,18 +256,17 @@ bool UtilityThread::RenderPDFToWinMetafile( if (!get_info_proc(&buffer.front(), buffer.size(), &total_page_count, NULL)) return false; - scoped_ptr<printing::NativeMetafile> metafile( - printing::NativeMetafileFactory::CreateMetafile()); - metafile->CreateFileBackedDc(NULL, NULL, metafile_path); + printing::Emf metafile; + metafile.InitToFile(metafile_path); // Since we created the metafile using the screen DPI (but we actually want // the PDF DLL to print using the passed in render_dpi, we apply the following // transformation. - SetGraphicsMode(metafile->context(), GM_ADVANCED); + SetGraphicsMode(metafile.context(), GM_ADVANCED); XFORM xform = {0}; int screen_dpi = GetDeviceCaps(GetDC(NULL), LOGPIXELSX); xform.eM11 = xform.eM22 = static_cast<float>(screen_dpi) / static_cast<float>(render_dpi); - ModifyWorldTransform(metafile->context(), &xform, MWT_LEFTMULTIPLY); + ModifyWorldTransform(metafile.context(), &xform, MWT_LEFTMULTIPLY); bool ret = false; std::vector<printing::PageRange>::const_iterator iter; @@ -276,18 +274,18 @@ bool UtilityThread::RenderPDFToWinMetafile( for (int page_number = iter->from; page_number <= iter->to; ++page_number) { if (page_number >= total_page_count) break; - metafile->StartPage(); + metafile.StartPage(); if (render_proc(&buffer.front(), buffer.size(), page_number, - metafile->context(), render_dpi, render_dpi, + metafile.context(), render_dpi, render_dpi, render_area.x(), render_area.y(), render_area.width(), render_area.height(), true, false, true, true)) if (*highest_rendered_page_number < page_number) *highest_rendered_page_number = page_number; ret = true; - metafile->FinishPage(); + metafile.FinishPage(); } } - metafile->Close(); + metafile.Close(); return ret; } #endif // defined(OS_WIN) |