summaryrefslogtreecommitdiffstats
path: root/printing/emf_win.cc
diff options
context:
space:
mode:
authorvandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-18 03:41:22 +0000
committervandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-18 03:41:22 +0000
commit063f8db1c4ec940c6391a36f85c9bcb124fbed9a (patch)
tree62be78e0e699429c27ea0f1797c16ed0bdb2aacd /printing/emf_win.cc
parent2aba747f04b9466ec85ff659285192da21195c32 (diff)
downloadchromium_src-063f8db1c4ec940c6391a36f85c9bcb124fbed9a.zip
chromium_src-063f8db1c4ec940c6391a36f85c9bcb124fbed9a.tar.gz
chromium_src-063f8db1c4ec940c6391a36f85c9bcb124fbed9a.tar.bz2
Unfork VectorPlatformCanvas.
Unfork VectorPlatformCanvas by making NativeMetafile know how to create an appropriate VectorPlatformDevice. This will also be useful when we have multiple NativeMetafile implemenations (each requiring a different VectorPlatformDevices). BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/6665046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78662 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'printing/emf_win.cc')
-rw-r--r--printing/emf_win.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/printing/emf_win.cc b/printing/emf_win.cc
index 6fea291..dd9d8d6 100644
--- a/printing/emf_win.cc
+++ b/printing/emf_win.cc
@@ -9,6 +9,7 @@
#include "base/metrics/histogram.h"
#include "base/scoped_ptr.h"
#include "base/time.h"
+#include "skia/ext/vector_platform_device_win.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/gfx/codec/jpeg_codec.h"
#include "ui/gfx/codec/png_codec.h"
@@ -410,6 +411,18 @@ bool Emf::Record::SafePlayback(const XFORM* base_matrix) const {
return res;
}
+skia::PlatformDevice* Emf::StartPageForVectorCanvas(
+ const gfx::Size& page_size, const gfx::Point& /*content_origin*/,
+ const float& scale_factor) {
+ DCHECK_EQ(1.0f, scale_factor); // We don't support scaling here.
+ if (!StartPage())
+ return NULL;
+
+ return skia::VectorPlatformDeviceFactory::CreateDevice(page_size.width(),
+ page_size.height(),
+ true, hdc_);
+}
+
bool Emf::StartPage() {
DCHECK(hdc_);
if (!hdc_)