OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/printing/print_job.h" | 5 #include "chrome/browser/printing/print_job.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 std::unique_ptr<PdfConverter> converter) | 229 std::unique_ptr<PdfConverter> converter) |
230 : page_count_(0), | 230 : page_count_(0), |
231 current_page_(0), | 231 current_page_(0), |
232 pages_in_progress_(0), | 232 pages_in_progress_(0), |
233 page_size_(page_size), | 233 page_size_(page_size), |
234 content_area_(content_area), | 234 content_area_(content_area), |
235 converter_(std::move(converter)) {} | 235 converter_(std::move(converter)) {} |
236 | 236 |
237 void Start(const scoped_refptr<base::RefCountedMemory>& data, | 237 void Start(const scoped_refptr<base::RefCountedMemory>& data, |
238 const PdfRenderSettings& conversion_settings, | 238 const PdfRenderSettings& conversion_settings, |
239 bool print_text_with_gdi, | |
240 const PdfConverter::StartCallback& start_callback) { | 239 const PdfConverter::StartCallback& start_callback) { |
241 converter_->Start(data, conversion_settings, print_text_with_gdi, | 240 converter_->Start(data, conversion_settings, start_callback); |
242 start_callback); | |
243 } | 241 } |
244 | 242 |
245 void GetMorePages(const PdfConverter::GetPageCallback& get_page_callback) { | 243 void GetMorePages(const PdfConverter::GetPageCallback& get_page_callback) { |
246 const int kMaxNumberOfTempFilesPerDocument = 3; | 244 const int kMaxNumberOfTempFilesPerDocument = 3; |
247 while (pages_in_progress_ < kMaxNumberOfTempFilesPerDocument && | 245 while (pages_in_progress_ < kMaxNumberOfTempFilesPerDocument && |
248 current_page_ < page_count_) { | 246 current_page_ < page_count_) { |
249 ++pages_in_progress_; | 247 ++pages_in_progress_; |
250 converter_->GetPage(current_page_++, get_page_callback); | 248 converter_->GetPage(current_page_++, get_page_callback); |
251 } | 249 } |
252 } | 250 } |
(...skipping 26 matching lines...) Expand all Loading... |
279 void PrintJob::StartPdfToEmfConversion( | 277 void PrintJob::StartPdfToEmfConversion( |
280 const scoped_refptr<base::RefCountedMemory>& bytes, | 278 const scoped_refptr<base::RefCountedMemory>& bytes, |
281 const gfx::Size& page_size, | 279 const gfx::Size& page_size, |
282 const gfx::Rect& content_area, | 280 const gfx::Rect& content_area, |
283 bool print_text_with_gdi) { | 281 bool print_text_with_gdi) { |
284 DCHECK(!pdf_conversion_state_); | 282 DCHECK(!pdf_conversion_state_); |
285 pdf_conversion_state_ = | 283 pdf_conversion_state_ = |
286 base::MakeUnique<PdfConversionState>(page_size, content_area, | 284 base::MakeUnique<PdfConversionState>(page_size, content_area, |
287 PdfConverter::CreatePdfToEmfConverter()); | 285 PdfConverter::CreatePdfToEmfConverter()); |
288 const int kPrinterDpi = settings().dpi(); | 286 const int kPrinterDpi = settings().dpi(); |
289 PdfRenderSettings settings(content_area, kPrinterDpi, true /* autorotate? */); | 287 PdfRenderSettings settings( |
| 288 content_area, kPrinterDpi, /*autorotate=*/true, |
| 289 print_text_with_gdi ? PdfRenderSettings::Mode::GDI_TEXT |
| 290 : PdfRenderSettings::Mode::NORMAL); |
290 pdf_conversion_state_->Start( | 291 pdf_conversion_state_->Start( |
291 bytes, settings, print_text_with_gdi, | 292 bytes, settings, |
292 base::Bind(&PrintJob::OnPdfConversionStarted, this)); | 293 base::Bind(&PrintJob::OnPdfConversionStarted, this)); |
293 } | 294 } |
294 | 295 |
295 void PrintJob::OnPdfConversionStarted(int page_count) { | 296 void PrintJob::OnPdfConversionStarted(int page_count) { |
296 if (page_count <= 0) { | 297 if (page_count <= 0) { |
297 pdf_conversion_state_.reset(); | 298 pdf_conversion_state_.reset(); |
298 Cancel(); | 299 Cancel(); |
299 return; | 300 return; |
300 } | 301 } |
301 pdf_conversion_state_->set_page_count(page_count); | 302 pdf_conversion_state_->set_page_count(page_count); |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
460 } | 461 } |
461 | 462 |
462 JobEventDetails::~JobEventDetails() { | 463 JobEventDetails::~JobEventDetails() { |
463 } | 464 } |
464 | 465 |
465 PrintedDocument* JobEventDetails::document() const { return document_.get(); } | 466 PrintedDocument* JobEventDetails::document() const { return document_.get(); } |
466 | 467 |
467 PrintedPage* JobEventDetails::page() const { return page_.get(); } | 468 PrintedPage* JobEventDetails::page() const { return page_.get(); } |
468 | 469 |
469 } // namespace printing | 470 } // namespace printing |
OLD | NEW |