Avi Drissman | db497b3 | 2022-09-15 19:47:28 | [diff] [blame] | 1 | // Copyright 2011 The Chromium Authors |
gene@chromium.org | da00dc1 | 2011-10-06 21:39:26 | [diff] [blame] | 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_PDF_RENDER_SETTINGS_H_ |
| 6 | #define PRINTING_PDF_RENDER_SETTINGS_H_ |
| 7 | |
tfarina | 4772a46 | 2017-03-25 02:26:18 | [diff] [blame] | 8 | #include "build/build_config.h" |
rbpotter | 58bc882e | 2017-02-01 03:44:24 | [diff] [blame] | 9 | #include "ui/gfx/geometry/point.h" |
tfarina | 3b0452d | 2014-12-31 15:20:09 | [diff] [blame] | 10 | #include "ui/gfx/geometry/rect.h" |
rbpotter | e33e8e62 | 2018-01-25 01:10:33 | [diff] [blame] | 11 | #include "ui/gfx/geometry/size.h" |
gene@chromium.org | da00dc1 | 2011-10-06 21:39:26 | [diff] [blame] | 12 | |
| 13 | namespace printing { |
| 14 | |
tzik | 904f1945 | 2015-11-18 20:34:55 | [diff] [blame] | 15 | // Defining PDF rendering settings. |
thestig | 65bd2bc | 2016-11-16 22:38:48 | [diff] [blame] | 16 | struct PdfRenderSettings { |
rbpotter | c9251407 | 2017-01-26 23:06:36 | [diff] [blame] | 17 | enum Mode { |
| 18 | NORMAL = 0, |
Xiaohan Wang | e3d00dd6 | 2022-01-08 02:33:28 | [diff] [blame] | 19 | #if BUILDFLAG(IS_WIN) |
rbpotter | 0437a171 | 2017-07-14 21:23:24 | [diff] [blame] | 20 | TEXTONLY, |
rbpotter | 58bc882e | 2017-02-01 03:44:24 | [diff] [blame] | 21 | POSTSCRIPT_LEVEL2, |
| 22 | POSTSCRIPT_LEVEL3, |
Lei Zhang | 92eadbb | 2020-05-13 22:32:36 | [diff] [blame] | 23 | EMF_WITH_REDUCED_RASTERIZATION, |
Lei Zhang | 1419cab | 2021-09-09 17:04:44 | [diff] [blame] | 24 | POSTSCRIPT_LEVEL3_WITH_TYPE42_FONTS, |
| 25 | LAST = POSTSCRIPT_LEVEL3_WITH_TYPE42_FONTS |
rbpotter | c9251407 | 2017-01-26 23:06:36 | [diff] [blame] | 26 | #else |
Lei Zhang | 92eadbb | 2020-05-13 22:32:36 | [diff] [blame] | 27 | LAST = NORMAL |
rbpotter | c9251407 | 2017-01-26 23:06:36 | [diff] [blame] | 28 | #endif |
| 29 | }; |
| 30 | |
Lei Zhang | 5c50048 | 2018-04-12 07:34:16 | [diff] [blame] | 31 | PdfRenderSettings() |
| 32 | : autorotate(false), use_color(true), mode(Mode::NORMAL) {} |
thestig | c8800cb | 2017-03-30 23:20:10 | [diff] [blame] | 33 | PdfRenderSettings(const gfx::Rect& area, |
| 34 | const gfx::Point& offsets, |
rbpotter | e33e8e62 | 2018-01-25 01:10:33 | [diff] [blame] | 35 | const gfx::Size& dpi, |
rbpotter | 58bc882e | 2017-02-01 03:44:24 | [diff] [blame] | 36 | bool autorotate, |
Lei Zhang | 5c50048 | 2018-04-12 07:34:16 | [diff] [blame] | 37 | bool use_color, |
rbpotter | 58bc882e | 2017-02-01 03:44:24 | [diff] [blame] | 38 | Mode mode) |
| 39 | : area(area), |
| 40 | offsets(offsets), |
| 41 | dpi(dpi), |
| 42 | autorotate(autorotate), |
Lei Zhang | 5c50048 | 2018-04-12 07:34:16 | [diff] [blame] | 43 | use_color(use_color), |
rbpotter | 58bc882e | 2017-02-01 03:44:24 | [diff] [blame] | 44 | mode(mode) {} |
gene@chromium.org | da00dc1 | 2011-10-06 21:39:26 | [diff] [blame] | 45 | ~PdfRenderSettings() {} |
| 46 | |
thestig | 65bd2bc | 2016-11-16 22:38:48 | [diff] [blame] | 47 | gfx::Rect area; |
rbpotter | 58bc882e | 2017-02-01 03:44:24 | [diff] [blame] | 48 | gfx::Point offsets; |
rbpotter | e33e8e62 | 2018-01-25 01:10:33 | [diff] [blame] | 49 | gfx::Size dpi; |
thestig | 65bd2bc | 2016-11-16 22:38:48 | [diff] [blame] | 50 | bool autorotate; |
Lei Zhang | 5c50048 | 2018-04-12 07:34:16 | [diff] [blame] | 51 | bool use_color; |
rbpotter | c9251407 | 2017-01-26 23:06:36 | [diff] [blame] | 52 | Mode mode; |
gene@chromium.org | da00dc1 | 2011-10-06 21:39:26 | [diff] [blame] | 53 | }; |
| 54 | |
| 55 | } // namespace printing |
| 56 | |
gene@chromium.org | da00dc1 | 2011-10-06 21:39:26 | [diff] [blame] | 57 | #endif // PRINTING_PDF_RENDER_SETTINGS_H_ |