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