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

Side by Side Diff: printing/printing_context_win.cc

Issue 7348010: Added Header and Footer support using Skia (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Changes based on Kausalya's comments Created 9 years, 4 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 #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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698