Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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_initializer_win.h" | 5 #include "printing/print_settings_initializer_win.h" |
| 6 | 6 |
| 7 #include <windows.h> | 7 #include <windows.h> |
| 8 | 8 |
| 9 #include "printing/print_settings.h" | 9 #include "printing/print_settings.h" |
| 10 | 10 |
| 11 namespace printing { | 11 namespace printing { |
| 12 | 12 |
| 13 // static | 13 // static |
| 14 void PrintSettingsInitializerWin::InitPrintSettings( | 14 void PrintSettingsInitializerWin::InitPrintSettings( |
| 15 HDC hdc, | 15 HDC hdc, |
| 16 const DEVMODE& dev_mode, | 16 const DEVMODE& dev_mode, |
| 17 const PageRanges& new_ranges, | 17 const PageRanges& new_ranges, |
| 18 const std::wstring& new_device_name, | 18 const std::wstring& new_device_name, |
| 19 bool print_selection_only, | 19 bool print_selection_only, |
| 20 PrintSettings* print_settings) { | 20 PrintSettings* print_settings) { |
| 21 DCHECK(hdc); | 21 DCHECK(hdc); |
| 22 DCHECK(print_settings); | 22 DCHECK(print_settings); |
| 23 | 23 |
| 24 print_settings->set_printer_name(dev_mode.dmDeviceName); | 24 print_settings->set_printer_name(dev_mode.dmDeviceName); |
| 25 print_settings->set_device_name(new_device_name); | 25 print_settings->set_device_name(new_device_name); |
| 26 print_settings->ranges = new_ranges; | 26 print_settings->ranges = const_cast<PageRanges&>(new_ranges); |
|
Lei Zhang
2011/09/02 18:44:19
Why is this needed?
arthurhsu
2011/09/06 22:02:27
VC10 Debug build will trigger run time error becau
| |
| 27 print_settings->set_landscape(dev_mode.dmOrientation == DMORIENT_LANDSCAPE); | 27 print_settings->set_landscape(dev_mode.dmOrientation == DMORIENT_LANDSCAPE); |
| 28 print_settings->selection_only = print_selection_only; | 28 print_settings->selection_only = print_selection_only; |
| 29 | 29 |
| 30 int dpi = GetDeviceCaps(hdc, LOGPIXELSX); | 30 int dpi = GetDeviceCaps(hdc, LOGPIXELSX); |
| 31 print_settings->set_dpi(dpi); | 31 print_settings->set_dpi(dpi); |
| 32 const int kAlphaCaps = SB_CONST_ALPHA | SB_PIXEL_ALPHA; | 32 const int kAlphaCaps = SB_CONST_ALPHA | SB_PIXEL_ALPHA; |
| 33 print_settings->set_supports_alpha_blend( | 33 print_settings->set_supports_alpha_blend( |
| 34 (GetDeviceCaps(hdc, SHADEBLENDCAPS) & kAlphaCaps) == kAlphaCaps); | 34 (GetDeviceCaps(hdc, SHADEBLENDCAPS) & kAlphaCaps) == kAlphaCaps); |
| 35 // No printer device is known to advertise different dpi in X and Y axis; even | 35 // No printer device is known to advertise different dpi in X and Y axis; even |
| 36 // the fax device using the 200x100 dpi setting. It's ought to break so many | 36 // the fax device using the 200x100 dpi setting. It's ought to break so many |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 48 GetDeviceCaps(hdc, PHYSICALOFFSETY), | 48 GetDeviceCaps(hdc, PHYSICALOFFSETY), |
| 49 GetDeviceCaps(hdc, HORZRES), | 49 GetDeviceCaps(hdc, HORZRES), |
| 50 GetDeviceCaps(hdc, VERTRES)); | 50 GetDeviceCaps(hdc, VERTRES)); |
| 51 | 51 |
| 52 print_settings->SetPrinterPrintableArea(physical_size_device_units, | 52 print_settings->SetPrinterPrintableArea(physical_size_device_units, |
| 53 printable_area_device_units, | 53 printable_area_device_units, |
| 54 dpi); | 54 dpi); |
| 55 } | 55 } |
| 56 | 56 |
| 57 } // namespace printing | 57 } // namespace printing |
| OLD | NEW |