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_mac.h" | 5 #include "printing/printing_context_mac.h" |
6 | 6 |
7 #import <ApplicationServices/ApplicationServices.h> | 7 #import <ApplicationServices/ApplicationServices.h> |
8 #import <AppKit/AppKit.h> | 8 #import <AppKit/AppKit.h> |
9 | 9 |
10 #import <iomanip> | 10 #import <iomanip> |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 static_cast<PMPrintSession>([print_info_.get() PMPrintSession]); | 207 static_cast<PMPrintSession>([print_info_.get() PMPrintSession]); |
208 | 208 |
209 PMPrinter current_printer; | 209 PMPrinter current_printer; |
210 if (PMSessionGetCurrentPrinter(print_session, ¤t_printer) != noErr) | 210 if (PMSessionGetCurrentPrinter(print_session, ¤t_printer) != noErr) |
211 return false; | 211 return false; |
212 | 212 |
213 CFStringRef current_printer_id = PMPrinterGetID(current_printer); | 213 CFStringRef current_printer_id = PMPrinterGetID(current_printer); |
214 if (!current_printer_id) | 214 if (!current_printer_id) |
215 return false; | 215 return false; |
216 | 216 |
217 base::mac::ScopedCFTypeRef<CFStringRef> new_printer_id( | 217 base::ScopedCFTypeRef<CFStringRef> new_printer_id( |
218 base::SysUTF8ToCFStringRef(device_name)); | 218 base::SysUTF8ToCFStringRef(device_name)); |
219 if (!new_printer_id.get()) | 219 if (!new_printer_id.get()) |
220 return false; | 220 return false; |
221 | 221 |
222 if (CFStringCompare(new_printer_id.get(), current_printer_id, 0) == | 222 if (CFStringCompare(new_printer_id.get(), current_printer_id, 0) == |
223 kCFCompareEqualTo) { | 223 kCFCompareEqualTo) { |
224 return true; | 224 return true; |
225 } | 225 } |
226 | 226 |
227 PMPrinter new_printer = PMPrinterCreateFromPrinterID(new_printer_id.get()); | 227 PMPrinter new_printer = PMPrinterCreateFromPrinterID(new_printer_id.get()); |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
378 static_cast<PMPrintSettings>([print_info_.get() PMPrintSettings]); | 378 static_cast<PMPrintSettings>([print_info_.get() PMPrintSettings]); |
379 return PMSetDuplex(pmPrintSettings, duplexSetting) == noErr; | 379 return PMSetDuplex(pmPrintSettings, duplexSetting) == noErr; |
380 } | 380 } |
381 | 381 |
382 bool PrintingContextMac::SetOutputColor(int color_mode) { | 382 bool PrintingContextMac::SetOutputColor(int color_mode) { |
383 PMPrintSettings pmPrintSettings = | 383 PMPrintSettings pmPrintSettings = |
384 static_cast<PMPrintSettings>([print_info_.get() PMPrintSettings]); | 384 static_cast<PMPrintSettings>([print_info_.get() PMPrintSettings]); |
385 std::string color_setting_name; | 385 std::string color_setting_name; |
386 std::string color_value; | 386 std::string color_value; |
387 GetColorModelForMode(color_mode, &color_setting_name, &color_value); | 387 GetColorModelForMode(color_mode, &color_setting_name, &color_value); |
388 base::mac::ScopedCFTypeRef<CFStringRef> color_setting( | 388 base::ScopedCFTypeRef<CFStringRef> color_setting( |
389 base::SysUTF8ToCFStringRef(color_setting_name)); | 389 base::SysUTF8ToCFStringRef(color_setting_name)); |
390 base::mac::ScopedCFTypeRef<CFStringRef> output_color( | 390 base::ScopedCFTypeRef<CFStringRef> output_color( |
391 base::SysUTF8ToCFStringRef(color_value)); | 391 base::SysUTF8ToCFStringRef(color_value)); |
392 | 392 |
393 return PMPrintSettingsSetValue(pmPrintSettings, | 393 return PMPrintSettingsSetValue(pmPrintSettings, |
394 color_setting.get(), | 394 color_setting.get(), |
395 output_color.get(), | 395 output_color.get(), |
396 false) == noErr; | 396 false) == noErr; |
397 } | 397 } |
398 | 398 |
399 PageRanges PrintingContextMac::GetPageRangesFromPrintInfo() { | 399 PageRanges PrintingContextMac::GetPageRangesFromPrintInfo() { |
400 PageRanges page_ranges; | 400 PageRanges page_ranges; |
(...skipping 24 matching lines...) Expand all Loading... |
425 | 425 |
426 in_print_job_ = true; | 426 in_print_job_ = true; |
427 | 427 |
428 PMPrintSession print_session = | 428 PMPrintSession print_session = |
429 static_cast<PMPrintSession>([print_info_.get() PMPrintSession]); | 429 static_cast<PMPrintSession>([print_info_.get() PMPrintSession]); |
430 PMPrintSettings print_settings = | 430 PMPrintSettings print_settings = |
431 static_cast<PMPrintSettings>([print_info_.get() PMPrintSettings]); | 431 static_cast<PMPrintSettings>([print_info_.get() PMPrintSettings]); |
432 PMPageFormat page_format = | 432 PMPageFormat page_format = |
433 static_cast<PMPageFormat>([print_info_.get() PMPageFormat]); | 433 static_cast<PMPageFormat>([print_info_.get() PMPageFormat]); |
434 | 434 |
435 base::mac::ScopedCFTypeRef<CFStringRef> job_title( | 435 base::ScopedCFTypeRef<CFStringRef> job_title( |
436 base::SysUTF16ToCFStringRef(document_name)); | 436 base::SysUTF16ToCFStringRef(document_name)); |
437 PMPrintSettingsSetJobName(print_settings, job_title.get()); | 437 PMPrintSettingsSetJobName(print_settings, job_title.get()); |
438 | 438 |
439 OSStatus status = PMSessionBeginCGDocumentNoDialog(print_session, | 439 OSStatus status = PMSessionBeginCGDocumentNoDialog(print_session, |
440 print_settings, | 440 print_settings, |
441 page_format); | 441 page_format); |
442 if (status != noErr) | 442 if (status != noErr) |
443 return OnError(); | 443 return OnError(); |
444 | 444 |
445 return OK; | 445 return OK; |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 void PrintingContextMac::ReleaseContext() { | 510 void PrintingContextMac::ReleaseContext() { |
511 print_info_.reset(); | 511 print_info_.reset(); |
512 context_ = NULL; | 512 context_ = NULL; |
513 } | 513 } |
514 | 514 |
515 gfx::NativeDrawingContext PrintingContextMac::context() const { | 515 gfx::NativeDrawingContext PrintingContextMac::context() const { |
516 return context_; | 516 return context_; |
517 } | 517 } |
518 | 518 |
519 } // namespace printing | 519 } // namespace printing |
OLD | NEW |