| Index: printing/printing_context.h
|
| diff --git a/printing/printing_context.h b/printing/printing_context.h
|
| index 06ad9afef3c70bd3c743232bda0d2f3d2fbcd378..d1bfca74169d608af6df6a6fc3f0c9cc7d8251da 100644
|
| --- a/printing/printing_context.h
|
| +++ b/printing/printing_context.h
|
| @@ -14,9 +14,20 @@
|
|
|
| #include <string>
|
|
|
| +#include "app/gfx/native_widget_types.h"
|
| #include "base/basictypes.h"
|
| +#include "base/logging.h"
|
| #include "printing/print_settings.h"
|
|
|
| +#if defined(OS_MACOSX)
|
| +#include "base/scoped_cftyperef.h"
|
| +#ifdef __OBJC__
|
| +@class NSPrintInfo;
|
| +#else
|
| +class NSPrintInfo;
|
| +#endif // __OBJC__
|
| +#endif // OS_MACOSX
|
| +
|
| namespace printing {
|
|
|
| // Describe the user selected printing context for Windows. This includes the
|
| @@ -34,11 +45,10 @@ class PrintingContext {
|
| PrintingContext();
|
| ~PrintingContext();
|
|
|
| -#if defined(OS_WIN)
|
| // Asks the user what printer and format should be used to print. Updates the
|
| // context with the select device settings.
|
| - Result AskUserForSettings(HWND window, int max_pages, bool has_selection);
|
| -#endif
|
| + Result AskUserForSettings(gfx::NativeWindow window, int max_pages,
|
| + bool has_selection);
|
|
|
| // Selects the user's default printer and format. Updates the context with the
|
| // default device settings.
|
| @@ -75,11 +85,14 @@ class PrintingContext {
|
| // Dismiss the Print... dialog box if shown.
|
| void DismissDialog();
|
|
|
| -#if defined(OS_WIN)
|
| - HDC context() {
|
| - return hdc_;
|
| - }
|
| + gfx::NativeDrawingContext context() {
|
| +#if defined(OS_WIN) || defined(OS_MACOSX)
|
| + return context_;
|
| +#else
|
| + NOTIMPLEMENTED();
|
| + return NULL;
|
| #endif
|
| + }
|
|
|
| const PrintSettings& settings() const {
|
| return settings_;
|
| @@ -105,8 +118,8 @@ class PrintingContext {
|
| int number_ranges,
|
| bool selection_only);
|
|
|
| - // Retrieves the printer's default low-level settings. hdc_ is allocated with
|
| - // this call.
|
| + // Retrieves the printer's default low-level settings. On Windows, context_ is
|
| + // allocated with this call.
|
| bool GetPrinterSettings(HANDLE printer,
|
| const std::wstring& device_name);
|
|
|
| @@ -118,8 +131,19 @@ class PrintingContext {
|
| Result ParseDialogResultEx(const PRINTDLGEX& dialog_options);
|
| Result ParseDialogResult(const PRINTDLG& dialog_options);
|
|
|
| - // The selected printer context.
|
| - HDC hdc_;
|
| +#elif defined(OS_MACOSX)
|
| + // Read the settings from the given NSPrintInfo (and cache it for later use).
|
| + void ParsePrintInfo(NSPrintInfo* print_info);
|
| +#endif
|
| +
|
| + // On Windows, the selected printer context.
|
| + // On Mac, the current page's context; only valid between NewPage and PageDone
|
| + // call pairs.
|
| + gfx::NativeDrawingContext context_;
|
| +
|
| +#if defined(OS_MACOSX)
|
| + // The native print info object.
|
| + NSPrintInfo* print_info_;
|
| #endif
|
|
|
| // Complete print context settings.
|
|
|