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