OLD | NEW |
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 #include "printing/printing_context_win.h" | 5 #include "printing/printing_context_win.h" |
6 | 6 |
7 #include <winspool.h> | 7 #include <winspool.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 | 10 |
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
387 DM_IN_BUFFER | DM_OUT_BUFFER) != IDOK) { | 387 DM_IN_BUFFER | DM_OUT_BUFFER) != IDOK) { |
388 ClosePrinter(printer); | 388 ClosePrinter(printer); |
389 return OnError(); | 389 return OnError(); |
390 } | 390 } |
391 | 391 |
392 // Set printer then refresh printer settings. | 392 // Set printer then refresh printer settings. |
393 if (!AllocateContext(device_name, dev_mode, &context_)) { | 393 if (!AllocateContext(device_name, dev_mode, &context_)) { |
394 ClosePrinter(printer); | 394 ClosePrinter(printer); |
395 return OnError(); | 395 return OnError(); |
396 } | 396 } |
| 397 |
| 398 DictionaryValue header_footer_info; |
| 399 GetHeaderFooterInfo(job_settings, &header_footer_info); |
| 400 |
397 PrintSettingsInitializerWin::InitPrintSettings(context_, *dev_mode, | 401 PrintSettingsInitializerWin::InitPrintSettings(context_, *dev_mode, |
398 ranges, device_name, | 402 ranges, device_name, |
399 false, &settings_); | 403 false, header_footer_info, |
| 404 &settings_); |
400 ClosePrinter(printer); | 405 ClosePrinter(printer); |
401 return OK; | 406 return OK; |
402 } | 407 } |
403 | 408 |
404 PrintingContext::Result PrintingContextWin::InitWithSettings( | 409 PrintingContext::Result PrintingContextWin::InitWithSettings( |
405 const PrintSettings& settings) { | 410 const PrintSettings& settings) { |
406 DCHECK(!in_print_job_); | 411 DCHECK(!in_print_job_); |
407 | 412 |
408 settings_ = settings; | 413 settings_ = settings; |
409 | 414 |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
576 ranges_vector.reserve(number_ranges); | 581 ranges_vector.reserve(number_ranges); |
577 for (int i = 0; i < number_ranges; ++i) { | 582 for (int i = 0; i < number_ranges; ++i) { |
578 PageRange range; | 583 PageRange range; |
579 // Transfer from 1-based to 0-based. | 584 // Transfer from 1-based to 0-based. |
580 range.from = ranges[i].nFromPage - 1; | 585 range.from = ranges[i].nFromPage - 1; |
581 range.to = ranges[i].nToPage - 1; | 586 range.to = ranges[i].nToPage - 1; |
582 ranges_vector.push_back(range); | 587 ranges_vector.push_back(range); |
583 } | 588 } |
584 } | 589 } |
585 | 590 |
| 591 DictionaryValue header_footer_info; |
| 592 header_footer_info.SetBoolean(printing::kSettingHeaderFooterEnabled, |
| 593 false); |
586 PrintSettingsInitializerWin::InitPrintSettings(context_, | 594 PrintSettingsInitializerWin::InitPrintSettings(context_, |
587 dev_mode, | 595 dev_mode, |
588 ranges_vector, | 596 ranges_vector, |
589 new_device_name, | 597 new_device_name, |
590 selection_only, | 598 selection_only, |
| 599 header_footer_info, |
591 &settings_); | 600 &settings_); |
592 | 601 |
593 return true; | 602 return true; |
594 } | 603 } |
595 | 604 |
596 bool PrintingContextWin::GetPrinterSettings(HANDLE printer, | 605 bool PrintingContextWin::GetPrinterSettings(HANDLE printer, |
597 const std::wstring& device_name) { | 606 const std::wstring& device_name) { |
598 DCHECK(!in_print_job_); | 607 DCHECK(!in_print_job_); |
599 scoped_array<uint8> buffer; | 608 scoped_array<uint8> buffer; |
600 int level = 0; | 609 int level = 0; |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
756 if (buf_size) { | 765 if (buf_size) { |
757 buffer->reset(new uint8[buf_size]); | 766 buffer->reset(new uint8[buf_size]); |
758 memset(buffer->get(), 0, buf_size); | 767 memset(buffer->get(), 0, buf_size); |
759 if (!GetPrinter(printer, level, buffer->get(), buf_size, &buf_size)) { | 768 if (!GetPrinter(printer, level, buffer->get(), buf_size, &buf_size)) { |
760 buffer->reset(); | 769 buffer->reset(); |
761 } | 770 } |
762 } | 771 } |
763 } | 772 } |
764 | 773 |
765 } // namespace printing | 774 } // namespace printing |
OLD | NEW |