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

Side by Side Diff: printing/print_settings_conversion.cc

Issue 2795453002: Use DPI from Print Preview on Windows, handle non square (Closed)
Patch Set: Address comments Created 3 years, 8 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
« no previous file with comments | « printing/print_settings.cc ('k') | printing/print_settings_initializer_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "printing/print_settings_conversion.h" 5 #include "printing/print_settings_conversion.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <cmath> 10 #include <cmath>
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 if (!job_settings.GetBoolean(kSettingCollate, &collate) || 182 if (!job_settings.GetBoolean(kSettingCollate, &collate) ||
183 !job_settings.GetInteger(kSettingCopies, &copies) || 183 !job_settings.GetInteger(kSettingCopies, &copies) ||
184 !job_settings.GetInteger(kSettingColor, &color) || 184 !job_settings.GetInteger(kSettingColor, &color) ||
185 !job_settings.GetInteger(kSettingDuplexMode, &duplex_mode) || 185 !job_settings.GetInteger(kSettingDuplexMode, &duplex_mode) ||
186 !job_settings.GetBoolean(kSettingLandscape, &landscape) || 186 !job_settings.GetBoolean(kSettingLandscape, &landscape) ||
187 !job_settings.GetString(kSettingDeviceName, &device_name) || 187 !job_settings.GetString(kSettingDeviceName, &device_name) ||
188 !job_settings.GetInteger(kSettingScaleFactor, &scale_factor) || 188 !job_settings.GetInteger(kSettingScaleFactor, &scale_factor) ||
189 !job_settings.GetBoolean(kSettingRasterizePdf, &rasterize_pdf)) { 189 !job_settings.GetBoolean(kSettingRasterizePdf, &rasterize_pdf)) {
190 return false; 190 return false;
191 } 191 }
192 #if defined(OS_WIN)
193 int dpi_horizontal = 0;
194 int dpi_vertical = 0;
195 if (!job_settings.GetInteger(kSettingDpiHorizontal, &dpi_horizontal) ||
196 !job_settings.GetInteger(kSettingDpiVertical, &dpi_vertical)) {
197 return false;
198 }
199 #endif
192 200
193 settings->set_collate(collate); 201 settings->set_collate(collate);
194 settings->set_copies(copies); 202 settings->set_copies(copies);
195 settings->SetOrientation(landscape); 203 settings->SetOrientation(landscape);
196 settings->set_device_name(device_name); 204 settings->set_device_name(device_name);
197 settings->set_duplex_mode(static_cast<DuplexMode>(duplex_mode)); 205 settings->set_duplex_mode(static_cast<DuplexMode>(duplex_mode));
198 settings->set_color(static_cast<ColorModel>(color)); 206 settings->set_color(static_cast<ColorModel>(color));
199 settings->set_scale_factor(static_cast<double>(scale_factor) / 100.0); 207 settings->set_scale_factor(static_cast<double>(scale_factor) / 100.0);
200 settings->set_rasterize_pdf(rasterize_pdf); 208 settings->set_rasterize_pdf(rasterize_pdf);
201 #if defined(OS_WIN) 209 #if defined(OS_WIN)
202 // Modifiable implies HTML and not other formats like PDF. 210 // Modifiable implies HTML and not other formats like PDF.
203 bool can_modify = false; 211 bool can_modify = false;
204 if (job_settings.GetBoolean(kSettingPreviewModifiable, &can_modify)) 212 if (job_settings.GetBoolean(kSettingPreviewModifiable, &can_modify))
205 settings->set_print_text_with_gdi(can_modify); 213 settings->set_print_text_with_gdi(can_modify);
214 settings->set_dpi_xy(dpi_horizontal, dpi_vertical);
206 #endif 215 #endif
207 216
208 return true; 217 return true;
209 } 218 }
210 219
211 void PrintSettingsToJobSettingsDebug(const PrintSettings& settings, 220 void PrintSettingsToJobSettingsDebug(const PrintSettings& settings,
212 base::DictionaryValue* job_settings) { 221 base::DictionaryValue* job_settings) {
213 job_settings->SetBoolean(kSettingHeaderFooterEnabled, 222 job_settings->SetBoolean(kSettingHeaderFooterEnabled,
214 settings.display_header_footer()); 223 settings.display_header_footer());
215 job_settings->SetString(kSettingHeaderFooterTitle, settings.title()); 224 job_settings->SetString(kSettingHeaderFooterTitle, settings.title());
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 const PageSetup& page_setup = settings.page_setup_device_units(); 262 const PageSetup& page_setup = settings.page_setup_device_units();
254 SetMarginsToJobSettings( 263 SetMarginsToJobSettings(
255 "effective_margins", page_setup.effective_margins(), debug); 264 "effective_margins", page_setup.effective_margins(), debug);
256 SetSizeToJobSettings("physical_size", page_setup.physical_size(), debug); 265 SetSizeToJobSettings("physical_size", page_setup.physical_size(), debug);
257 SetRectToJobSettings("overlay_area", page_setup.overlay_area(), debug); 266 SetRectToJobSettings("overlay_area", page_setup.overlay_area(), debug);
258 SetRectToJobSettings("content_area", page_setup.content_area(), debug); 267 SetRectToJobSettings("content_area", page_setup.content_area(), debug);
259 SetRectToJobSettings("printable_area", page_setup.printable_area(), debug); 268 SetRectToJobSettings("printable_area", page_setup.printable_area(), debug);
260 } 269 }
261 270
262 } // namespace printing 271 } // namespace printing
OLDNEW
« no previous file with comments | « printing/print_settings.cc ('k') | printing/print_settings_initializer_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698