15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "printing/print_job_constants.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace printing {
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// True if this is the first preview request.
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kIsFirstRequest[] = "isFirstRequest";
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Unique ID sent along every preview request.
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kPreviewRequestID[] = "requestID";
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Unique ID to identify a print preview UI.
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kPreviewUIID[] = "previewUIID";
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
18effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Capabilities option. Contains the capabilities in CDD format.
19effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst char kSettingCapabilities[] = "capabilities";
20effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Print using cloud print: true if selected, false if not.
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingCloudPrintId[] = "cloudPrintID";
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Print using cloud print dialog: true if selected, false if not.
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingCloudPrintDialog[] = "printWithCloudPrint";
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Print job setting 'collate'.
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingCollate[] = "collate";
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Print out color: true for color, false for grayscale.
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingColor[] = "color";
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Default to color on or not.
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingSetColorAsDefault[] = "setColorAsDefault";
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Key that specifies the height of the content area of the page.
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingContentHeight[] = "contentHeight";
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Key that specifies the width of the content area of the page.
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingContentWidth[] = "contentWidth";
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Number of copies.
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingCopies[] = "copies";
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Device name: Unique printer identifier.
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingDeviceName[] = "deviceName";
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Print job duplex mode.
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingDuplexMode[] = "duplex";
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Option to fit source page contents to printer paper size: true if
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// selected else false.
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingFitToPageEnabled[] = "fitToPageEnabled";
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// True, when a new set of draft preview data is required.
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingGenerateDraftData[] = "generateDraftData";
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Option to print headers and Footers: true if selected, false if not.
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingHeaderFooterEnabled[] = "headerFooterEnabled";
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Interstice or gap between different header footer components. Hardcoded to
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// about 0.5cm, match the value in PrintSettings::SetPrinterPrintableArea.
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const float kSettingHeaderFooterInterstice = 14.2f;
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Key that specifies the date of the page that will be printed in the headers
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// and footers.
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingHeaderFooterDate[] = "date";
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Key that specifies the title of the page that will be printed in the headers
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// and footers.
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingHeaderFooterTitle[] = "title";
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Key that specifies the URL of the page that will be printed in the headers
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// and footers.
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingHeaderFooterURL[] = "url";
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Page orientation: true for landscape, false for portrait.
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingLandscape[] = "landscape";
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
80cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Key that specifies the requested media size.
81cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)const char kSettingMediaSize[] = "mediaSize";
82cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
83cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Key that specifies the requested media height in microns.
84cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)const char kSettingMediaSizeHeightMicrons[] = "height_microns";
85cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
86cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Key that specifies the requested media width in microns.
87cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)const char kSettingMediaSizeWidthMicrons[] = "width_microns";
88cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
89f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Key that specifies the requested media platform specific vendor id.
90f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)const char kSettingMediaSizeVendorId[] = "vendor_id";
91f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Key that specifies the bottom margin of the page.
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingMarginBottom[] = "marginBottom";
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Key that specifies the left margin of the page.
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingMarginLeft[] = "marginLeft";
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Key that specifies the right margin of the page.
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingMarginRight[] = "marginRight";
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Key that specifies the top margin of the page.
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingMarginTop[] = "marginTop";
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Key that specifies the dictionary of custom margins as set by the user.
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingMarginsCustom[] = "marginsCustom";
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Key that specifies the type of margins to use.  Value is an int from the
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// MarginType enum.
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingMarginsType[] = "marginsType";
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Number of pages to print.
1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kSettingPreviewPageCount[] = "pageCount";
1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// A page range.
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingPageRange[] = "pageRange";
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// The first page of a page range. (1-based)
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingPageRangeFrom[] = "from";
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// The last page of a page range. (1-based)
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingPageRangeTo[] = "to";
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
123f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Page size of document to print.
124f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)const char kSettingPageWidth[] = "pageWidth";
125f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)const char kSettingPageHeight[] = "pageHeight";
126f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingPreviewModifiable[] = "previewModifiable";
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Keys that specifies the printable area details.
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingPrintableAreaX[] = "printableAreaX";
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingPrintableAreaY[] = "printableAreaY";
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingPrintableAreaWidth[] = "printableAreaWidth";
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingPrintableAreaHeight[] = "printableAreaHeight";
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Printer name.
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingPrinterName[] = "printerName";
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
138effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Printer description.
139effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst char kSettingPrinterDescription[] = "printerDescription";
140effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
141effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Additional printer options.
142effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst char kSettingPrinterOptions[] = "printerOptions";
143effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Print to PDF option: true if selected, false if not.
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingPrintToPDF[] = "printToPDF";
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
147f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Print using Privet option: true if destination is a Privet printer, false if
148f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// not.
149f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)const char kSettingPrintWithPrivet[] = "printWithPrivet";
150f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
151f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Ticket option. Contains the ticket in CJT format.
152f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)const char kSettingTicket[] = "ticket";
153f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
1542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Whether to print CSS backgrounds.
1552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kSettingShouldPrintBackgrounds[] = "shouldPrintBackgrounds";
1562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Whether to print selection only.
1582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const char kSettingShouldPrintSelectionOnly[] = "shouldPrintSelectionOnly";
1592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Indices used to represent first preview page and complete preview document.
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const int FIRST_PAGE_INDEX = 0;
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const int COMPLETE_PREVIEW_DOCUMENT_INDEX = -1;
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1641e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)// Whether to show PDF in view provided by OS. Implemented for MacOS only.
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kSettingOpenPDFInPreview[] = "OpenPDFInPreview";
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined (USE_CUPS)
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kBlack[] = "Black";
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kCMYK[] = "CMYK";
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kKCMY[] = "KCMY";
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kCMY_K[] = "CMY+K";
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kCMY[] = "CMY";
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kColor[] = "Color";
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kGray[] = "Gray";
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kGrayscale[] = "Grayscale";
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kGreyscale[] = "Greyscale";
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kMonochrome[] = "Monochrome";
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kNormal[] = "Normal";
1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kNormalGray[] = "Normal.Gray";
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kRGB[] = "RGB";
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kRGBA[] = "RGBA";
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kRGB16[] = "RGB16";
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace printing
186