OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef PRINTING_PRINT_SETTINGS_H_ | 5 #ifndef PRINTING_PRINT_SETTINGS_H_ |
6 #define PRINTING_PRINT_SETTINGS_H_ | 6 #define PRINTING_PRINT_SETTINGS_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 #endif | 27 #endif |
28 | 28 |
29 // Inform the printing system that it may embed this user-agent string | 29 // Inform the printing system that it may embed this user-agent string |
30 // in its output's metadata. | 30 // in its output's metadata. |
31 PRINTING_EXPORT void SetAgent(const std::string& user_agent); | 31 PRINTING_EXPORT void SetAgent(const std::string& user_agent); |
32 PRINTING_EXPORT const std::string& GetAgent(); | 32 PRINTING_EXPORT const std::string& GetAgent(); |
33 | 33 |
34 // OS-independent print settings. | 34 // OS-independent print settings. |
35 class PRINTING_EXPORT PrintSettings { | 35 class PRINTING_EXPORT PrintSettings { |
36 public: | 36 public: |
| 37 #if defined(OS_WIN) |
| 38 enum PrinterType { |
| 39 TYPE_NONE = 0, |
| 40 TYPE_XPS, |
| 41 TYPE_POSTSCRIPT_LEVEL2, |
| 42 TYPE_POSTSCRIPT_LEVEL3 |
| 43 }; |
| 44 #endif |
| 45 |
37 // Media properties requested by the user. Default instance represents | 46 // Media properties requested by the user. Default instance represents |
38 // default media selection. | 47 // default media selection. |
39 struct RequestedMedia { | 48 struct RequestedMedia { |
40 // Size of the media, in microns. | 49 // Size of the media, in microns. |
41 gfx::Size size_microns; | 50 gfx::Size size_microns; |
42 // Platform specific id to map it back to the particular media. | 51 // Platform specific id to map it back to the particular media. |
43 std::string vendor_id; | 52 std::string vendor_id; |
44 | 53 |
45 bool IsDefault() const { | 54 bool IsDefault() const { |
46 return size_microns.IsEmpty() && vendor_id.empty(); | 55 return size_microns.IsEmpty() && vendor_id.empty(); |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 | 156 |
148 void set_duplex_mode(DuplexMode duplex_mode) { duplex_mode_ = duplex_mode; } | 157 void set_duplex_mode(DuplexMode duplex_mode) { duplex_mode_ = duplex_mode; } |
149 DuplexMode duplex_mode() const { return duplex_mode_; } | 158 DuplexMode duplex_mode() const { return duplex_mode_; } |
150 | 159 |
151 int desired_dpi() const { return desired_dpi_; } | 160 int desired_dpi() const { return desired_dpi_; } |
152 | 161 |
153 #if defined(OS_WIN) | 162 #if defined(OS_WIN) |
154 void set_print_text_with_gdi(bool use_gdi) { print_text_with_gdi_ = use_gdi; } | 163 void set_print_text_with_gdi(bool use_gdi) { print_text_with_gdi_ = use_gdi; } |
155 bool print_text_with_gdi() const { return print_text_with_gdi_; } | 164 bool print_text_with_gdi() const { return print_text_with_gdi_; } |
156 | 165 |
157 void set_printer_is_xps(bool is_xps) { printer_is_xps_ = is_xps; } | 166 void set_printer_type(PrinterType type) { printer_type_ = type; } |
158 bool printer_is_xps() const { return printer_is_xps_; } | 167 bool printer_is_xps() const { return printer_type_ == PrinterType::TYPE_XPS;} |
| 168 bool printer_is_ps2() const { |
| 169 return printer_type_ == PrinterType::TYPE_POSTSCRIPT_LEVEL2; |
| 170 } |
| 171 bool printer_is_ps3() const { |
| 172 return printer_type_ == PrinterType::TYPE_POSTSCRIPT_LEVEL3; |
| 173 } |
159 #endif | 174 #endif |
160 | 175 |
161 // Cookie generator. It is used to initialize PrintedDocument with its | 176 // Cookie generator. It is used to initialize PrintedDocument with its |
162 // associated PrintSettings, to be sure that each generated PrintedPage is | 177 // associated PrintSettings, to be sure that each generated PrintedPage is |
163 // correctly associated with its corresponding PrintedDocument. | 178 // correctly associated with its corresponding PrintedDocument. |
164 static int NewCookie(); | 179 static int NewCookie(); |
165 | 180 |
166 private: | 181 private: |
167 // Multi-page printing. Each PageRange describes a from-to page combination. | 182 // Multi-page printing. Each PageRange describes a from-to page combination. |
168 // This permits printing selected pages only. | 183 // This permits printing selected pages only. |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 // Is the orientation landscape or portrait. | 236 // Is the orientation landscape or portrait. |
222 bool landscape_; | 237 bool landscape_; |
223 | 238 |
224 // True if this printer supports AlphaBlend. | 239 // True if this printer supports AlphaBlend. |
225 bool supports_alpha_blend_; | 240 bool supports_alpha_blend_; |
226 | 241 |
227 #if defined(OS_WIN) | 242 #if defined(OS_WIN) |
228 // True to print text with GDI. | 243 // True to print text with GDI. |
229 bool print_text_with_gdi_; | 244 bool print_text_with_gdi_; |
230 | 245 |
231 // True if the printer is an XPS printer. | 246 PrinterType printer_type_; |
232 bool printer_is_xps_; | |
233 #endif | 247 #endif |
234 | 248 |
235 // If margin type is custom, this is what was requested. | 249 // If margin type is custom, this is what was requested. |
236 PageMargins requested_custom_margins_in_points_; | 250 PageMargins requested_custom_margins_in_points_; |
237 }; | 251 }; |
238 | 252 |
239 } // namespace printing | 253 } // namespace printing |
240 | 254 |
241 #endif // PRINTING_PRINT_SETTINGS_H_ | 255 #endif // PRINTING_PRINT_SETTINGS_H_ |
OLD | NEW |