1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef PRINTING_PRINT_JOB_CONSTANTS_H_
6#define PRINTING_PRINT_JOB_CONSTANTS_H_
7
8#include "build/build_config.h"
9#include "printing/printing_export.h"
10
11namespace printing {
12
13PRINTING_EXPORT extern const char kIsFirstRequest[];
14PRINTING_EXPORT extern const char kPreviewRequestID[];
15PRINTING_EXPORT extern const char kPreviewInitiatorHostId[];
16PRINTING_EXPORT extern const char kPreviewInitiatorRoutingId[];
17PRINTING_EXPORT extern const char kPreviewUIID[];
18PRINTING_EXPORT extern const char kSettingCapabilities[];
19PRINTING_EXPORT extern const char kSettingCloudPrintId[];
20PRINTING_EXPORT extern const char kSettingCloudPrintDialog[];
21PRINTING_EXPORT extern const char kSettingCollate[];
22PRINTING_EXPORT extern const char kSettingColor[];
23PRINTING_EXPORT extern const char kSettingSetColorAsDefault[];
24PRINTING_EXPORT extern const char kSettingContentHeight[];
25PRINTING_EXPORT extern const char kSettingContentWidth[];
26PRINTING_EXPORT extern const char kSettingCopies[];
27PRINTING_EXPORT extern const char kSettingDeviceName[];
28PRINTING_EXPORT extern const char kSettingDuplexMode[];
29PRINTING_EXPORT extern const char kSettingFitToPageEnabled[];
30PRINTING_EXPORT extern const char kSettingGenerateDraftData[];
31PRINTING_EXPORT extern const char kSettingHeaderFooterEnabled[];
32PRINTING_EXPORT extern const float kSettingHeaderFooterInterstice;
33PRINTING_EXPORT extern const char kSettingHeaderFooterDate[];
34PRINTING_EXPORT extern const char kSettingHeaderFooterTitle[];
35PRINTING_EXPORT extern const char kSettingHeaderFooterURL[];
36PRINTING_EXPORT extern const char kSettingLandscape[];
37PRINTING_EXPORT extern const char kSettingMediaSize[];
38PRINTING_EXPORT extern const char kSettingMediaSizeHeightMicrons[];
39PRINTING_EXPORT extern const char kSettingMediaSizeWidthMicrons[];
40PRINTING_EXPORT extern const char kSettingMediaSizeVendorId[];
41PRINTING_EXPORT extern const char kSettingMediaSizeIsDefault[];
42PRINTING_EXPORT extern const char kSettingMarginBottom[];
43PRINTING_EXPORT extern const char kSettingMarginLeft[];
44PRINTING_EXPORT extern const char kSettingMarginRight[];
45PRINTING_EXPORT extern const char kSettingMarginTop[];
46PRINTING_EXPORT extern const char kSettingMarginsCustom[];
47PRINTING_EXPORT extern const char kSettingMarginsType[];
48PRINTING_EXPORT extern const char kSettingPreviewPageCount[];
49PRINTING_EXPORT extern const char kSettingPageRange[];
50PRINTING_EXPORT extern const char kSettingPageRangeFrom[];
51PRINTING_EXPORT extern const char kSettingPageRangeTo[];
52PRINTING_EXPORT extern const char kSettingPageWidth[];
53PRINTING_EXPORT extern const char kSettingPageHeight[];
54PRINTING_EXPORT extern const char kSettingPreviewModifiable[];
55PRINTING_EXPORT extern const char kSettingPrintToPDF[];
56PRINTING_EXPORT extern const char kSettingPrintWithPrivet[];
57PRINTING_EXPORT extern const char kSettingPrintableAreaHeight[];
58PRINTING_EXPORT extern const char kSettingPrintableAreaWidth[];
59PRINTING_EXPORT extern const char kSettingPrintableAreaX[];
60PRINTING_EXPORT extern const char kSettingPrintableAreaY[];
61PRINTING_EXPORT extern const char kSettingPrinterDescription[];
62PRINTING_EXPORT extern const char kSettingPrinterName[];
63PRINTING_EXPORT extern const char kSettingPrinterOptions[];
64PRINTING_EXPORT extern const char kSettingTicket[];
65PRINTING_EXPORT extern const char kSettingShouldPrintBackgrounds[];
66PRINTING_EXPORT extern const char kSettingShouldPrintSelectionOnly[];
67PRINTING_EXPORT extern const char kSettingShowSystemDialog[];
68
69PRINTING_EXPORT extern const int FIRST_PAGE_INDEX;
70PRINTING_EXPORT extern const int COMPLETE_PREVIEW_DOCUMENT_INDEX;
71PRINTING_EXPORT extern const char kSettingOpenPDFInPreview[];
72
73#if defined (USE_CUPS)
74// Printer color models
75PRINTING_EXPORT extern const char kBlack[];
76PRINTING_EXPORT extern const char kCMYK[];
77PRINTING_EXPORT extern const char kKCMY[];
78PRINTING_EXPORT extern const char kCMY_K[];
79PRINTING_EXPORT extern const char kCMY[];
80PRINTING_EXPORT extern const char kColor[];
81PRINTING_EXPORT extern const char kGray[];
82PRINTING_EXPORT extern const char kGrayscale[];
83PRINTING_EXPORT extern const char kGreyscale[];
84PRINTING_EXPORT extern const char kMonochrome[];
85PRINTING_EXPORT extern const char kNormal[];
86PRINTING_EXPORT extern const char kNormalGray[];
87PRINTING_EXPORT extern const char kRGB[];
88PRINTING_EXPORT extern const char kRGBA[];
89PRINTING_EXPORT extern const char kRGB16[];
90#endif
91
92// Print job duplex mode values.
93enum DuplexMode {
94  UNKNOWN_DUPLEX_MODE = -1,
95  SIMPLEX,
96  LONG_EDGE,
97  SHORT_EDGE,
98};
99
100// Specifies the horizontal alignment of the headers and footers.
101enum HorizontalHeaderFooterPosition {
102  LEFT,
103  CENTER,
104  RIGHT
105};
106
107// Specifies the vertical alignment of the Headers and Footers.
108enum VerticalHeaderFooterPosition {
109  TOP,
110  BOTTOM
111};
112
113// Print job color mode values.
114enum ColorModel {
115  UNKNOWN_COLOR_MODEL,
116  GRAY,
117  COLOR,
118  CMYK,
119  CMY,
120  KCMY,
121  CMY_K,  // CMY_K represents CMY+K.
122  BLACK,
123  GRAYSCALE,
124  RGB,
125  RGB16,
126  RGBA,
127  COLORMODE_COLOR,  // Used in samsung printer ppds.
128  COLORMODE_MONOCHROME,  // Used in samsung printer ppds.
129  HP_COLOR_COLOR,  // Used in HP color printer ppds.
130  HP_COLOR_BLACK,  // Used in HP color printer ppds.
131  PRINTOUTMODE_NORMAL,  // Used in foomatic ppds.
132  PRINTOUTMODE_NORMAL_GRAY,  // Used in foomatic ppds.
133  PROCESSCOLORMODEL_CMYK,  // Used in canon printer ppds.
134  PROCESSCOLORMODEL_GREYSCALE,  // Used in canon printer ppds.
135  PROCESSCOLORMODEL_RGB,  // Used in canon printer ppds
136};
137
138// What kind of margins to use.
139enum MarginType {
140  DEFAULT_MARGINS,  // Default varies depending on headers being enabled or not
141  NO_MARGINS,
142  PRINTABLE_AREA_MARGINS,
143  CUSTOM_MARGINS,
144  MARGIN_TYPE_LAST = CUSTOM_MARGINS
145};
146
147}  // namespace printing
148
149#endif  // PRINTING_PRINT_JOB_CONSTANTS_H_
150