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

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: Moved elide text to print_settings_initializer 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 bool display_header_footer;
kmadhusu 2011/08/12 17:07:00 Move this common code to a helper function in prin
Aayush Kumar 2011/08/12 18:53:42 Done.
399 // Getting Header and Footer settings.
400 if (!job_settings.GetBoolean(printing::kSettingHeaderFooterEnabled,
401 &display_header_footer)) {
402 NOTREACHED();
403 }
404 DictionaryValue header_footer_info;
405 header_footer_info.SetBoolean(printing::kSettingHeaderFooterEnabled,
406 display_header_footer);
407 if (display_header_footer) {
408 string16 title;
409 std::string url;
410 if (!job_settings.GetString(printing::kSettingHeaderFooterTitle, &title) ||
411 !job_settings.GetString(printing::kSettingHeaderFooterURL, &url)) {
412 NOTREACHED();
413 }
414 header_footer_info.SetString(printing::kSettingHeaderFooterURL, url);
415 header_footer_info.SetString(printing::kSettingHeaderFooterTitle, title);
416 }
417
397 PrintSettingsInitializerWin::InitPrintSettings(context_, *dev_mode, 418 PrintSettingsInitializerWin::InitPrintSettings(context_, *dev_mode,
398 ranges, device_name, 419 ranges, device_name,
399 false, &settings_); 420 false, header_footer_info,
421 &settings_);
400 ClosePrinter(printer); 422 ClosePrinter(printer);
401 return OK; 423 return OK;
402 } 424 }
403 425
404 PrintingContext::Result PrintingContextWin::InitWithSettings( 426 PrintingContext::Result PrintingContextWin::InitWithSettings(
405 const PrintSettings& settings) { 427 const PrintSettings& settings) {
406 DCHECK(!in_print_job_); 428 DCHECK(!in_print_job_);
407 429
408 settings_ = settings; 430 settings_ = settings;
409 431
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
576 ranges_vector.reserve(number_ranges); 598 ranges_vector.reserve(number_ranges);
577 for (int i = 0; i < number_ranges; ++i) { 599 for (int i = 0; i < number_ranges; ++i) {
578 PageRange range; 600 PageRange range;
579 // Transfer from 1-based to 0-based. 601 // Transfer from 1-based to 0-based.
580 range.from = ranges[i].nFromPage - 1; 602 range.from = ranges[i].nFromPage - 1;
581 range.to = ranges[i].nToPage - 1; 603 range.to = ranges[i].nToPage - 1;
582 ranges_vector.push_back(range); 604 ranges_vector.push_back(range);
583 } 605 }
584 } 606 }
585 607
608 DictionaryValue header_footer_info;
609 header_footer_info.SetBoolean(printing::kSettingHeaderFooterEnabled,
610 false);
586 PrintSettingsInitializerWin::InitPrintSettings(context_, 611 PrintSettingsInitializerWin::InitPrintSettings(context_,
587 dev_mode, 612 dev_mode,
588 ranges_vector, 613 ranges_vector,
589 new_device_name, 614 new_device_name,
590 selection_only, 615 selection_only,
616 header_footer_info,
591 &settings_); 617 &settings_);
592 618
593 return true; 619 return true;
594 } 620 }
595 621
596 bool PrintingContextWin::GetPrinterSettings(HANDLE printer, 622 bool PrintingContextWin::GetPrinterSettings(HANDLE printer,
597 const std::wstring& device_name) { 623 const std::wstring& device_name) {
598 DCHECK(!in_print_job_); 624 DCHECK(!in_print_job_);
599 scoped_array<uint8> buffer; 625 scoped_array<uint8> buffer;
600 int level = 0; 626 int level = 0;
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
756 if (buf_size) { 782 if (buf_size) {
757 buffer->reset(new uint8[buf_size]); 783 buffer->reset(new uint8[buf_size]);
758 memset(buffer->get(), 0, buf_size); 784 memset(buffer->get(), 0, buf_size);
759 if (!GetPrinter(printer, level, buffer->get(), buf_size, &buf_size)) { 785 if (!GetPrinter(printer, level, buffer->get(), buf_size, &buf_size)) {
760 buffer->reset(); 786 buffer->reset();
761 } 787 }
762 } 788 }
763 } 789 }
764 790
765 } // namespace printing 791 } // namespace printing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698