diff options
author | vandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-22 06:36:58 +0000 |
---|---|---|
committer | vandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-22 06:36:58 +0000 |
commit | 481edc5493d2a5bd85ee882b3cf1a21f487a2a94 (patch) | |
tree | b35c073123e217e8306d0d96467a7297bc7e6991 /chrome/utility | |
parent | 12b251a3514d18fc598766a1277bb3ca36bc9448 (diff) | |
download | chromium_src-481edc5493d2a5bd85ee882b3cf1a21f487a2a94.zip chromium_src-481edc5493d2a5bd85ee882b3cf1a21f487a2a94.tar.gz chromium_src-481edc5493d2a5bd85ee882b3cf1a21f487a2a94.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
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=78666
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=78669
Review URL: http://codereview.chromium.org/6695013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78969 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 cca4b34..bf312f7 100644 --- a/chrome/utility/utility_thread.cc +++ b/chrome/utility/utility_thread.cc @@ -32,8 +32,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 { @@ -259,18 +258,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::Create()); - 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; @@ -280,18 +278,18 @@ bool UtilityThread::RenderPDFToWinMetafile( break; // The underlying metafile is of type Emf and ignores the arguments passed // to StartPage. - metafile->StartPage(gfx::Size(), gfx::Point(), 1); + metafile.StartPage(gfx::Size(), gfx::Point(), 1); 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->FinishDocument(); + metafile.FinishDocument(); return ret; } #endif // defined(OS_WIN) |