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

Unified Diff: printing/print_job_constants.cc

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
Index: printing/print_job_constants.cc
diff --git a/printing/print_job_constants.cc b/printing/print_job_constants.cc
index 3efb488044e9a9b1334085f88401a059ab2aa7ba..a829fa009646704b33b4d2e830f7bf444cfc91b4 100644
--- a/printing/print_job_constants.cc
+++ b/printing/print_job_constants.cc
@@ -121,4 +121,116 @@ const char kSettingPrintToPDF[] = "printToPDF";
const int FIRST_PAGE_INDEX = 0;
const int COMPLETE_PREVIEW_DOCUMENT_INDEX = -1;
+#if defined (USE_CUPS)
+const char kBlack[] = "Black";
+const char kCMYK[] = "CMYK";
+const char kKCMY[] = "KCMY";
+const char kCMY_K[] = "CMY+K";
+const char kCMY[] = "CMY";
+const char kColor[] = "Color";
+const char kGray[] = "Gray";
+const char kGrayscale[] = "Grayscale";
+const char kGreyscale[] = "Greyscale";
+const char kMonochrome[] = "Monochrome";
+const char kNormal[] = "Normal";
+const char kNormalGray[] = "Normal.Gray";
+const char kRGB[] = "RGB";
+const char kRGBA[] = "RGBA";
+const char kRGB16[] = "RGB16";
+
+void GetColorModelForMode(
+ int color_mode, std::string* color_setting_name, std::string* color_value) {
+#if defined(OS_MACOSX)
+ const char kCUPSColorMode[] = "ColorMode";
+ const char kCUPSColorModel[] = "ColorModel";
+ const char kCUPSPrintoutMode[] = "PrintoutMode";
+ const char kCUPSProcessColorModel[] = "ProcessColorModel";
+#else
+ const char kCUPSColorMode[] = "cups-ColorMode";
+ const char kCUPSColorModel[] = "cups-ColorModel";
+ const char kCUPSPrintoutMode[] = "cups-PrintoutMode";
+ const char kCUPSProcessColorModel[] = "cups-ProcessColorModel";
+#endif
+
+ color_setting_name->assign(kCUPSColorModel);
+ switch (color_mode) {
+ case printing::COLOR:
+ color_value->assign(printing::kColor);
+ break;
+ case printing::CMYK:
+ color_value->assign(printing::kCMYK);
+ break;
+ case printing::PRINTOUTMODE_NORMAL:
+ color_value->assign(printing::kNormal);
+ color_setting_name->assign(kCUPSPrintoutMode);
+ break;
+ case printing::PRINTOUTMODE_NORMAL_GRAY:
+ color_value->assign(printing::kNormalGray);
+ color_setting_name->assign(kCUPSPrintoutMode);
+ break;
+ case printing::RGB16:
+ color_value->assign(printing::kRGB16);
+ break;
+ case printing::RGBA:
+ color_value->assign(printing::kRGBA);
+ break;
+ case printing::RGB:
+ color_value->assign(printing::kRGB);
+ break;
+ case printing::CMY:
+ color_value->assign(printing::kCMY);
+ break;
+ case printing::CMY_K:
+ color_value->assign(printing::kCMY_K);
+ break;
+ case printing::BLACK:
+ color_value->assign(printing::kBlack);
+ break;
+ case printing::GRAY:
+ color_value->assign(printing::kGray);
+ break;
+ case printing::COLORMODE_COLOR:
+ color_setting_name->assign(kCUPSColorMode);
+ color_value->assign(printing::kColor);
+ break;
+ case printing::COLORMODE_MONOCHROME:
+ color_setting_name->assign(kCUPSColorMode);
+ color_value->assign(printing::kMonochrome);
+ break;
+ case printing::HP_COLOR_COLOR:
+ color_setting_name->assign(kColor);
+ color_value->assign(printing::kColor);
+ break;
+ case printing::HP_COLOR_BLACK:
+ color_setting_name->assign(kColor);
+ color_value->assign(printing::kBlack);
+ break;
+ case printing::PROCESSCOLORMODEL_CMYK:
+ color_setting_name->assign(kCUPSProcessColorModel);
+ color_value->assign(printing::kCMYK);
+ break;
+ case printing::PROCESSCOLORMODEL_GREYSCALE:
+ color_setting_name->assign(kCUPSProcessColorModel);
+ color_value->assign(printing::kGreyscale);
+ break;
+ case printing::PROCESSCOLORMODEL_RGB:
+ color_setting_name->assign(kCUPSProcessColorModel);
+ color_value->assign(printing::kRGB);
+ break;
+ default:
+ color_value->assign(printing::kGrayscale);
+ break;
+ }
+}
+#endif
+
+bool isColorModelSelected(int model) {
+ return (model != printing::GRAY &&
+ model != printing::BLACK &&
+ model != printing::PRINTOUTMODE_NORMAL_GRAY &&
+ model != printing::COLORMODE_MONOCHROME &&
+ model != printing::PROCESSCOLORMODEL_GREYSCALE &&
+ model != printing::HP_COLOR_BLACK);
+}
+
} // namespace printing

Powered by Google App Engine
This is Rietveld 408576698