summaryrefslogtreecommitdiffstats
path: root/printing/printing_context_mac.mm
diff options
context:
space:
mode:
authorkmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-05 20:03:31 +0000
committerkmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-05 20:03:31 +0000
commitd20348675866d9a0369dc5a196d2a26399e402c9 (patch)
tree518f57aa9fcdf87cc3a3ced949b827473c79fe72 /printing/printing_context_mac.mm
parent53a17e24bba43fb1c6b11303b02cce4dfaa2b65d (diff)
downloadchromium_src-d20348675866d9a0369dc5a196d2a26399e402c9.zip
chromium_src-d20348675866d9a0369dc5a196d2a26399e402c9.tar.gz
chromium_src-d20348675866d9a0369dc5a196d2a26399e402c9.tar.bz2
PrintPreview: [MAC] Set the specified orientation in the print ticket.
BUG=none TEST=none Review URL: http://codereview.chromium.org/6764006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80514 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'printing/printing_context_mac.mm')
-rw-r--r--printing/printing_context_mac.mm18
1 files changed, 16 insertions, 2 deletions
diff --git a/printing/printing_context_mac.mm b/printing/printing_context_mac.mm
index cc5b808..25f0ef6 100644
--- a/printing/printing_context_mac.mm
+++ b/printing/printing_context_mac.mm
@@ -100,8 +100,6 @@ PrintingContext::Result PrintingContextMac::UpdatePrintSettings(
return OnError();
}
- settings_.SetOrientation(landscape);
-
if (!SetPrinter(printer_name))
return OnError();
@@ -111,6 +109,9 @@ PrintingContext::Result PrintingContextMac::UpdatePrintSettings(
if (!SetCollateInPrintSettings(collate))
return OnError();
+ if (!SetOrientationIsLandscape(landscape))
+ return OnError();
+
[print_info_.get() updateFromPMPrintSettings];
InitPrintSettingsFromPrintInfo(ranges);
@@ -159,6 +160,19 @@ bool PrintingContextMac::SetCollateInPrintSettings(bool collate) {
return PMSetCollate(pmPrintSettings, collate) == noErr;
}
+bool PrintingContextMac::SetOrientationIsLandscape(bool landscape) {
+ PMPageFormat page_format =
+ static_cast<PMPageFormat>([print_info_.get() PMPageFormat]);
+
+ PMOrientation orientation = landscape ? kPMLandscape : kPMPortrait;
+
+ if (PMSetOrientation(page_format, orientation, false) != noErr)
+ return false;
+
+ [print_info_.get() updateFromPMPageFormat];
+ return true;
+}
+
void PrintingContextMac::ParsePrintInfo(NSPrintInfo* print_info) {
ResetSettings();
print_info_.reset([print_info retain]);