Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(75)

Side by Side Diff: printing/print_settings.h

Issue 8201027: Move margin processing code to the browser process. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/string16.h" 11 #include "base/string16.h"
12 #include "printing/page_range.h" 12 #include "printing/page_range.h"
13 #include "printing/page_setup.h" 13 #include "printing/page_setup.h"
14 #include "printing/print_job_constants.h"
14 #include "ui/gfx/rect.h" 15 #include "ui/gfx/rect.h"
15 16
16 namespace printing { 17 namespace printing {
17 18
18 // OS-independent print settings. 19 // OS-independent print settings.
19 class PRINTING_EXPORT PrintSettings { 20 class PRINTING_EXPORT PrintSettings {
20 public: 21 public:
21 PrintSettings(); 22 PrintSettings();
22 ~PrintSettings(); 23 ~PrintSettings();
23 24
24 // Reinitialize the settings to the default values. 25 // Reinitialize the settings to the default values.
25 void Clear(); 26 void Clear();
26 27
27 // Set printer printable area in in device units. 28 // Set printer printable area in in device units.
28 void SetPrinterPrintableArea(gfx::Size const& physical_size_device_units, 29 void SetPrinterPrintableArea(gfx::Size const& physical_size_device_units,
29 gfx::Rect const& printable_area_device_units, 30 gfx::Rect const& printable_area_device_units,
30 int units_per_inch); 31 int units_per_inch);
31 32
33 void SetCustomMargins(const PageMargins& margins_in_points);
34
32 // Equality operator. 35 // Equality operator.
33 // NOTE: printer_name is NOT tested for equality since it doesn't affect the 36 // NOTE: printer_name is NOT tested for equality since it doesn't affect the
34 // output. 37 // output.
35 bool Equals(const PrintSettings& rhs) const; 38 bool Equals(const PrintSettings& rhs) const;
36 39
37 void set_landscape(bool landscape) { landscape_ = landscape; } 40 void set_landscape(bool landscape) { landscape_ = landscape; }
38 void set_printer_name(const string16& printer_name) { 41 void set_printer_name(const string16& printer_name) {
39 printer_name_ = printer_name; 42 printer_name_ = printer_name;
40 } 43 }
41 const string16& printer_name() const { return printer_name_; } 44 const string16& printer_name() const { return printer_name_; }
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 // behavior matches MacIE and Mozilla, at least) 80 // behavior matches MacIE and Mozilla, at least)
78 double max_shrink; 81 double max_shrink;
79 82
80 // Desired visible dots per inch rendering for output. Printing should be 83 // Desired visible dots per inch rendering for output. Printing should be
81 // scaled to ScreenDpi/dpix*desired_dpi. 84 // scaled to ScreenDpi/dpix*desired_dpi.
82 int desired_dpi; 85 int desired_dpi;
83 86
84 // Indicates if the user only wants to print the current selection. 87 // Indicates if the user only wants to print the current selection.
85 bool selection_only; 88 bool selection_only;
86 89
87 // Indicates whether we should use browser-controlled page overlays 90 // Indicates what kind of margins should be applied to the printable area.
88 // (header, footer, margins etc). If it is false, the overlays are 91 MarginType margin_type;
89 // controlled by the renderer.
90 bool use_overlays;
91 92
92 // Cookie generator. It is used to initialize PrintedDocument with its 93 // Cookie generator. It is used to initialize PrintedDocument with its
93 // associated PrintSettings, to be sure that each generated PrintedPage is 94 // associated PrintSettings, to be sure that each generated PrintedPage is
94 // correctly associated with its corresponding PrintedDocument. 95 // correctly associated with its corresponding PrintedDocument.
95 static int NewCookie(); 96 static int NewCookie();
96 97
97 // Updates the orientation and flip the page if needed. 98 // Updates the orientation and flip the page if needed.
98 void SetOrientation(bool landscape); 99 void SetOrientation(bool landscape);
99 100
100 // Strings to be printed as headers and footers if requested by the user. 101 // Strings to be printed as headers and footers if requested by the user.
(...skipping 18 matching lines...) Expand all
119 PageSetup page_setup_device_units_; 120 PageSetup page_setup_device_units_;
120 121
121 // Printer's device effective dots per inch in both axis. 122 // Printer's device effective dots per inch in both axis.
122 int dpi_; 123 int dpi_;
123 124
124 // Is the orientation landscape or portrait. 125 // Is the orientation landscape or portrait.
125 bool landscape_; 126 bool landscape_;
126 127
127 // True if this printer supports AlphaBlend. 128 // True if this printer supports AlphaBlend.
128 bool supports_alpha_blend_; 129 bool supports_alpha_blend_;
130
131 // If margin type is custom, these are the margins.
132 PageMargins custom_margins_in_points_;
129 }; 133 };
130 134
131 } // namespace printing 135 } // namespace printing
132 136
133 #endif // PRINTING_PRINT_SETTINGS_H_ 137 #endif // PRINTING_PRINT_SETTINGS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698