Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(310)

Unified Diff: printing/printing_context_mac.mm

Issue 8138020: PrintPreview: Fix printer color settings issues based on printer ppd/schema information. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: '' Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« printing/print_job_constants.h ('K') | « printing/print_job_constants.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: printing/printing_context_mac.mm
diff --git a/printing/printing_context_mac.mm b/printing/printing_context_mac.mm
index 15348a0b77c87946460a539b07cb78f23b1767f7..2602de4b8a16db34d59bf5ce5d86da0c945aeac3 100644
--- a/printing/printing_context_mac.mm
+++ b/printing/printing_context_mac.mm
@@ -16,8 +16,6 @@
#include "printing/print_settings_initializer_mac.h"
static const CFStringRef kColorModel = CFSTR("ColorModel");
-static const CFStringRef kGrayColor = CFSTR("Gray");
-static const CFStringRef kCMYK = CFSTR("CMYK");
namespace printing {
@@ -253,15 +251,29 @@ bool PrintingContextMac::SetDuplexModeInPrintSettings(DuplexMode mode) {
bool PrintingContextMac::SetOutputColor(int color_mode) {
PMPrintSettings pmPrintSettings =
static_cast<PMPrintSettings>([print_info_.get() PMPrintSettings]);
- CFStringRef output_color = NULL;
- if (color_mode == printing::GRAY)
- output_color = kGrayColor;
- else if (color_mode == printing::CMYK)
- output_color = kCMYK;
+ base::mac::ScopedCFTypeRef<CFStringRef> color_setting(kColorModel);
vandebo (ex-Chrome) 2011/10/07 18:23:30 Can this code be shared with the gtk code somehow?
kmadhusu 2011/10/10 23:34:26 Done.
+ base::mac::ScopedCFTypeRef<CFStringRef> output_color;
+ if (color_mode == GRAY) {
+ output_color.reset(base::SysUTF8ToCFStringRef(kGray));
+ } else if (color_mode == CMYK) {
+ output_color.reset(base::SysUTF8ToCFStringRef(kCMYK));
+ } else if (color_mode == RGB) {
+ output_color.reset(base::SysUTF8ToCFStringRef(kRGB));
+ } else if (color_mode == RGB16) {
+ output_color.reset(base::SysUTF8ToCFStringRef(kRGB16));
+ } else if (color_mode == RGBA) {
+ output_color.reset(base::SysUTF8ToCFStringRef(kRGBA));
+ } else if (color_mode == HP_COLOR_COLOR) {
+ color_setting.reset(base::SysUTF8ToCFStringRef(kColor));
+ output_color.reset(base::SysUTF8ToCFStringRef(kColor));
+ } else if (color_mode == HP_COLOR_BLACK) {
+ color_setting.reset(base::SysUTF8ToCFStringRef(kColor));
+ output_color.reset(base::SysUTF8ToCFStringRef(kBlack));
+ }
return PMPrintSettingsSetValue(pmPrintSettings,
- kColorModel,
- output_color,
+ color_setting.get(),
+ output_color.get(),
false) == noErr;
}
« printing/print_job_constants.h ('K') | « printing/print_job_constants.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698